Jump to content

Sharlinda Salim

Seeq Team
  • Posts

  • Joined

  • Last visited

  • Days Won


Sharlinda Salim last won the day on September 21

Sharlinda Salim had the most liked content!

Personal Information

  • Company
    Seeq Corporation
  • Title
    Senior Analytics Engineer

Recent Profile Visitors

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

Sharlinda Salim's Achievements


Apprentice (3/14)

  • Conversation Starter
  • Collaborator Rare
  • Reacting Well
  • First Post
  • Week One Done

Recent Badges



  1. Interesting question from a Seeqer who would like to create a BatchID for each batch with the format YYYYMMDDS# where YYYY is the year, MM is month, DD is day, S is the shift and # is the order of the batch in that shift. This is one of the possible method. STEP 1: Create the signal for YYYYMMDD //STEP1: Trend the "Start" date of each capsule $StartDate = $batch .move(7h) //based on time zone use in workbench. .toSignal('Start') .toString() .move(-7h) //move back the signal to the original position //STEP2: Replace the format to YYYYMMDD $YYYYMMDD = $StartDate .replace('/^(..........).*/' , '$1') //example of the output is 2022-09-02 .replace('-','') //20220902 .validValues() .toStep(1d) $YYYYMMDD STEP 2: Create the signal for S which represent the shift number combinewith( shifts (6, 12, "Asia/Kuala_Lumpur").setProperty('Shift','1'), shifts(18, 12, "Asia/Kuala_Lumpur").setProperty('Shift','2')) Followed by another formula, $s.toSignal('Shift') STEP 3 : Create the # which represent batch sequence in the respective shift $count = $batch.aggregate(count(),$batch, startkey(),0s) $count .runningCount($shift) .toStep(1d) .toString() STEP 4 : Create the BatchID and set as property $BatchID = $YYYYMMDD + $S + $x $batch.setProperty('BatchID', $BatchID, StartValue())
  2. Hi Sivaji, Step 1: Calculate aggregated value of every n-samples. Example here I am calculating the average for every 5 samples. Use aggregateByCount which is introduced in version R54. $signal.aggregateByCount(average(), 5, 10d) Step 2: The difference between the sample and aggregated value is greater than certain threshold These capsules will be 0s duration as the aggregateByCount generated a discrete signal. Step 3: Replace the samples with the aggregated value Hope this help.
  3. Hi jkasworm, You need to create access key (link) in order to obtain the username and password.
  4. Hi VpJ, You mentioned gap and missing data, does it looks similar like below screenshot? In this case, instead of creating manual condition you can use the function .isNotValid() in the formula tool. With this, you do not need to worry when scaling it across assets.
  5. Hi KYM, Please have a look at this article - https://support.seeq.com/space/KB/2168684706/How-To%3A+Export+Signals+and+Conditions+to+OSIsoft+PI Thank you.
  6. Hi Brian, Please check out the derivative() function in the Formula. If the current sampling interval in your continuous signal is not 1min, you can incorporate resample() function. Example: $signal.resample(1min).derivative()
  7. Hi JWu, I had seen cases of "Page Unresponsive" due to few issues but not particularly for a high number of worksheets. Roughly how many worksheets do you have? Best to contact our Support Portal with a downloaded logs when you observed the error so that we can look further into the issue. Thank you.
  8. Hi Niranjan, Can you please provide a bit more background on your use case and calculations for us to have a bit more insight. Thank you. Regards, Sharlinda
  9. Hi Kenny, You will need to create the access key in Seeq. Please refer to this https://support.seeq.com/space/KB/740721558/Access%20Keys . Please save the generated access key and password accordingly. Then you can insert the access key details as your username (access key) and password.
  10. Hi Lyna, Thank you for your question. In order to plot the starting value, your formula will be like this '$condition.transformToSamples($capsule -> sample($capsule.getStart(), $signal.toScalars($capsule).first()), 1d)'. The command '$signal.toScalars($capsule).first()' will get the first value in each capsules. Alternatively, you can also write it as '$signal.toScalars($capsule).pick()'. Hope this helps.
  • Create New...