Jump to content
  • To Search the Seeq Knowledgebase:

    button_seeq-knowledgebase.png.ec0acc75c6f5b14c9e2e09a6e4fc8d12.png.4643472239090d47c54cbcd358bd485f.png

Search the Community

Showing results for tags 'combinewith()'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Community Technical Forums
    • Tips & Tricks
    • General Seeq Discussions
    • Seeq Data Lab
    • Seeq Developer Club
    • Seeq Admin Forum
    • Feature Requests

Calendars

  • Community Calendar

Categories

  • Seeq FAQs
  • Online Manual
    • General Information

Categories

  • Published
  • Code
  • Media

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Company


Title


Level of Seeq User

Found 2 results

  1. 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.
  2. Goal is to create a string signal that shows the different operation modes in a device at each time. Step 1. Create the sample modes using Values Search Tool, Advanced Search: Value Search Tool, Advanced Search Step 2. Create a continuous condition called “Mode” comprising all three (startup, steady state, shutdown), and assign a property to each capsule to identify the mode. for more information please look at the following link: Set property to a capsule Formula for creating the mode with property condition: $ShutDown = $Shutdown.setProperty("Mode", "ShutDown") $StartUp = $Startup.setProperty("Mode", "StartUp") $steady = $Steady.setProperty("Mode", "Steady") combineWIth($StartUp, $steady, $ShutDown) Step 3. Use the Formula Tool to create a string signal using the "mode with property" condition and shows the mode of the input signal at each time. Here is the formula for creating the string signal (Mode is the Mode with property condition in here) : $inputsignal.transformToSamples( $capsule -> sample($capsule.getStart(), $capsule.getproperty('Mode')), 10d)
×
×
  • Create New...