Jump to content

Nuraisyah Rosli

  • Posts

  • Joined

  • Last visited

  • Days Won


Nuraisyah Rosli last won the day on December 28 2021

Nuraisyah Rosli had the most liked content!

Personal Information

  • Company
    Seeq Corporation
  • Title
    Analytics Engineer

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Nuraisyah Rosli's Achievements


Rookie (2/14)

  • Conversation Starter
  • One Year In
  • First Post
  • Week One Done
  • One Month Later

Recent Badges



  1. Question from user: I’d like to create a capsule defined as follows: When a valve transition from closed to open (this data (pi tag) is a string). I’d like the capsule to be limited to the first minute after the valve transition occurs. Answer: Use this equation in Formula tool: $open = $a ~= "Open" //create condition when the valve is open, a is your valve signal $open.afterStart(1min) //Create a condition with capsules ending 1mins after start of $open It will give result as shown in screenshot attached.
  2. Hi Siang Lim, You can search for your asset in the organizer topic as shown in the screenshot below. We are working towards increasing the discoverability of local asset groups.
  3. Hi Siang Lim, This is one way I could think of. Step 1: Calculate Total Count (Yearly) Step 2: Calculate the normalized count for each bin. Example here is for bin 85-90. Repeat the step for all your bins. $signal .within($signal.isbetween(85,90)) .aggregate(count(),$yearly, startKey()) .toDiscrete() .divide($total_yearly_count) Step 3: Combine all the normalized count for all the bins and move it as example below. combinewith( $nc95.move(1min), $nc90.move(2min), $nc85.move(3min) ) Step 4: Create the conditions and set property. $ref = $y.afterStart(1.1min) combinewith( $ref.move(1min,0).setProperty('Bin','95-100'), $ref.move(2min,1min).setProperty('Bin','90-95'), $ref.move(3min,2min).setProperty('Bin','85-90') ) Note: Ensure the move settings are aligned with the above step. For example, the normalized for bin 90-95 is moved at 2 minutes at step 3 and step 4. Step 5: Create the histogram.
  4. Here’s an example on how to add color threshold so that it alerts when the current value to day deviates by +-5 degF Step 1: Calculate daily average temperature using signal from condition. Step 2: Create the high and low limits in the formula as below:- High Limit: ($averagetemperature.move(1d))+5 Low Limit: ($averagetemperature.move(1d))-5 Step 3: Add the high and low limits in the metric's threshold as below screenshot:-
  5. Here's another method to pick a specific capsule within a condition. In this example, the user want to pick the first capsule from condition 2 within condition 1. Use formula tool: $condition1 .removeLongerThan(1d) .transform($c -> $condition2.removeLongerThan(1d).toGroup($c).pick(1)) The output:
  6. While Seeq is working towards enhancing our features in the Histogram tool, here are a simple workaround commonly used to create a histogram for multiple signals with display times in chronological order. Step 1: Start by loading all of the signals we want to include in the matrix into the display. Step 2: Create a monthly condition with a property that split the years and months (YYYY-MM) from the initial date format (YYYY-MM-DDT00:00:00Z) using the formula tool. Formula 1 - month_withProperty $monthly = months("Asia/Kuala_Lumpur") //split the years and month of the data $monthly .move(8hrs) //move based on specific timezone example the timezone used here is UTC+8 .transform($capsule -> $capsule.setProperty('month_year',$capsule.property('start').tostring().replace('/(.*)(-..T.*)/','$1'))) Step 3: Combine the aggregate calculation for the multiple signals in a formula. Formula 2 -combine the aggregate calculations, example here is based on average. //Step 1: calculate monthly average for each signals $monthlyaverageA = $t1.aggregate(average(),$month_withProperty, startKey(),0s) $monthlyaverageB = $t2.aggregate(average(),$month_withProperty, startKey(),0s) $monthlyaverageC = $t3.aggregate(average(),$month_withProperty, startKey(),0s) //Step2: combine all the discrete points and move each signal by 1,2 and 3 hours to have different time stamp. Please refer combinewith() formula documentation. combinewith( $monthlyaverageA.move(1hr), $monthlyaverageB.move(2hr), $monthlyaverageC.move(3hr)) Step 4 : Create condition for each average temperature signals and use setProperty() function to set the naming for each signal. //Step 1: calculate monthly average for each signals $monthlyaverageA = $t1.aggregate(average(), $month_withProperty, startKey(),0s) $monthlyaverageB = $t2.aggregate(average(), $month_withProperty, startKey(),0s) $monthlyaverageC = $t3.aggregate(average(), $month_withProperty, startKey(),0s) //Step2: combine all and create condition for each discrete points and set the property accordingly. combinewith( $monthlyaverageA.move(1hr).toCapsules().setProperty('Mode','Area A'), $monthlyaverageB.move(2hr).toCapsules().setProperty('Mode','Area B'), $monthlyaverageC.move(3hr).toCapsules().setProperty('Mode','Area C')) Step 5: Create the histogram as shown in the screenshot below. The colour for each signal can be changed by selecting the legend box on the top right side of the histogram. For users who would like to split the quarter_year or year_week, please refer to the formula below. Formula to split quarter_year $quarter = quarters(Month.January, 1, "Asia/Kuala_Lumpur") $quarter.move(8hrs)//move based on specific timezone, example used here is UTC+8 .transform($cap -> { $year = $cap.startKey().toString().replace('/-.*/','') $quart = $cap.property('Quarter').toString() $cap.setproperty('Quart',$year+' '+'Q'+$quart)}) Formula to split year_week //Set up formula for $week_counter = (timesince(years("UTC"),1wk)+1).round() //The aim is to add '0' in front of single digit number so that the sequence in histogram 01, 02,....10, $weekLessThan10 = $week_counter < 10 $signal1 = $week_counter.toString() $signal2 = toString('0').toSignal() + $signal1 $new_week_counter = $signal1.splice($signal2,$weekLessThan10 ) $weekly_capsule_embedded_property = $new_week_counter.toCondition() //Setting the year and week property //$year - the function here meant to extract the year //$week - the embedded Value is XX.0wk - remove the .0wk //set new property of year_week $weekly_capsule_embedded_property.removeLongerThan(8d).transform($cap -> { $year = $cap.startKey().toString().replace('/-.*/','') $week = $cap.property('Value').toString().replace('/\wk/','') $cap.setproperty('Year_Week',$year+' '+'W'+$week)}) You can also check this post to create histogram with hourly bins.
  • Create New...