Jump to content

Sharlinda Salim

Seeq Team
  • Posts

    28
  • Joined

  • Last visited

  • Days Won

    5

Sharlinda Salim last won the day on December 12 2023

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

Apprentice (3/14)

  • Dedicated
  • Conversation Starter
  • Collaborator Rare
  • Reacting Well
  • First Post

Recent Badges

6

Reputation

2

Community Answers

  1. Hi Nurhaz, In Version 63 onwards, you can use Periodic Condition >> Custom as in this link https://support.seeq.com/kb/R63/cloud/what-s-new#id-(R63)What'sNew?-CustomfrequencyperiodicconditionswithoutFormula If you are in older version, at the Formula tool you can write as below: periods(5d)
  2. Hi Dayyan, For the second question:- 1. Create a 6 month interval condition using formula periods(6mo) 2. Split the 6month when there's replacement condition using the Composite Condition > A minus B as below screenshot. 3. Use the count function for individual manual draining 4. Use runningCount() for the tracking purpose. At the below screenshot, after the replacement condition, it will automatically reset to zero. Please let me know if there's any criteria here did not meet your requirement.
  3. Hi Dayyan, On your first question: How can I effectively create a capsule or representation for this seal replacement? Seems you have the derivative signal, you can :- Use value search to create the condition when the derivative < 0, Use value search to create the condition when the derivative > 0 Use Composite Condition > Join to join (1) and (2) On your second question, are you currently using runningCount() to track the occurrences of manual draining?
  4. Hi David, Can you clarify which part you are experiencing slowness, is it when pushing the script or when you are doing the analysis in Workbench? If its the analysis, can you please elaborate on the analysis you are doing. You can also book a slot in our Office Hour, https://info.seeq.com/office-hours to discuss further on this issue.
  5. Hi Olav, There is a workaround in XY Plot but it may not able to plot exactly the same as your Power BI screenshot. Step 1: Create the binning conditions using value search. As an example I created 4 conditions with bin size of 10. Step 2: Create the condition for June and July join( months(Month.June, "Asia/Kuala_Lumpur"), months(Month.July, "Asia/Kuala_Lumpur"),90d) Step 3: Calculate the average value during each bin in June&July and combine them together. The move is to avoid overlap at the same startkey. combinewith( $t.within($b010).aggregate(average(),$june_july,startKey(),0s).move(1h), $t.within($b102).aggregate(average(),$june_july,startKey(),0s).move(2h), $t.within($b203).aggregate(average(),$june_july,startKey(),0s).move(3h), $t.within($b304).aggregate(average(),$june_july,startKey(),0s).move(4h)) Step 4: Used the setproperty() to create the corresponding X value for each of the average value. combinewith( $t.within($b010).aggregate(average(),$step2,startKey(),0s).move(1h).toCapsules().setProperty('Bin',10), $t.within($b102).aggregate(average(),$step2,startKey(),0s).move(2h).toCapsules().setProperty('Bin',20), $t.within($b203).aggregate(average(),$step2,startKey(),0s).move(3h).toCapsules().setProperty('Bin',30), $t.within($b304).aggregate(average(),$step2,startKey(),0s).move(4h).toCapsules().setProperty('Bin',40)) .toSignal('Bin',startKey()).toDiscrete() Step 5: Switch to the XY Plot and expand the date range. Create the individual conditions for each year and you can then color based on these conditions. Let me know first is this workaround suits you.
  6. Hi Ivan, At the moment this is still the best way to calculate median with multiple signals. We did logged a feature request to simplify this method. If you are interested to receive an email when there's an update on this, please do submit a seeq ticket at https://seeq.atlassian.net/servicedesk/customer/portal/3. Thank you.
  7. Hi mKaiser, The main constraint here is calculation based on display date range is possible via simple metric only. I have one suggestion and please let me know your thought and correct me too if I'm not capturing correctly your criteria. Step 1 & 2 similar as yours. Step 3 : Set the date range of interest using the manual condition. Step 4 : Calculate the average and percentile using Signal from condition and bounded it to Step 3 condition. Step 5: This is another tricky step as you need to define the date range in identifying the final condition. Example in the last 6month. condition(6mo,capsule(now()-6mo,now())) Step 6 : Use value search and composite condition to define the final output. I have these functions in one formula. I am not 100% sure whether I understand this final criteria but let me know if you need further help. //isbetween two percentile signals or certain range above average ($step2 <= $percentile_90.aggregate(startValue(true), $step5, durationKey()) and $step2 >= $percentile_80.aggregate(startValue(true), $step5, durationKey())) or ($step2 > $average.aggregate(startValue(true), $step5, durationKey())) So each time you change the date range at the manual condition, the whole calculation will automatically recalculate limited to step5 definition.
  8. Hi Taylor, Before we discuss the Table part, I would just like to point out that displaying similar result in a trend view is easier by utilizing our 'Capsule' view. KB article In order to visualize in Table, there are more steps depending on how many samples you have in a day. Step 1: Create the daily condition. Step 2: Create capsules for each sampling point $a.toDiscrete().toCapsules() Step 3: From Step (2), extract the first to the nth capsule. Notice that I had also embedded all the samples value into the daily condition. Hopefully you are dealing with lab data or similar where you are not expecting too many sampling in a day. //find each sampling point $capsule1 = $daily.transform($w ->$all_sampling.toGroup($w).first()) $capsule2 = $daily.transform($w ->$all_sampling.toGroup($w).pick(2)) $capsule3 = $daily.transform($w ->$all_sampling.toGroup($w).pick(3)) //Embedded the value into daily condition and label Sample 1,2,3 accordingly. $daily .setproperty('Sample 1', $signal.aggregate(startValue(true), $capsule1, startKey(), 0s), startValue()) .setproperty('Sample 2', $signal.aggregate(startValue(true), $capsule2, startKey(), 0s), startValue()) .setproperty('Sample 3', $signal.aggregate(startValue(true), $capsule3, startKey(), 0s), startValue()) Step 4: Switch to the Table view and set accordingly as per below screenshot. In case you did not able to view all the features I had used here, please check out the lower left corner of your Seeq browser window to see which version you have.
  9. Hi Koki, Please do book a slot in our Open Office hour, https://info.seeq.com/office-hours, so that you can share your Seeq screen and we can brainstorm from there. Thank you. Regards, Sharlinda
  10. Is there any commonality in the equipment's tag name or description?
  11. Hi Kate, Unfortunately not at the moment but we do have this feature request logged. If you submit a ticket to our support portal, we can add your name into the ticket to ensure you will get an automatic update on this request. Thank you.
  12. Hi Nurhaz, You need to look for the particular folder in the "Shared" and ensure you have the necessary access. Regards, Sharlinda
  13. Hi Nurhaz, This is one possible method:- Step 1 : Create a new formula where we convert the month format based on your preference $month_numeric = $f .toSignal('End') .toString() .replace('/(?<year>....)-(?<month>..)-(?<day>..)T(?<hour>..):(?<minute>..):(?<sec>..)(?<dec>.*)Z/' , '${month}') //changing the name format $month_alphabet = experimental_lookupTable( "[ ['01', 'Jan'], ['02', 'Feb'], ['03', 'March'], ['04', 'April'], ['05', 'May'], ['06', 'June'], ['07', 'July'], ['08', 'August'], ['09', 'September'], ['10', 'October'], ['11', 'November'], ['12', 'December'] ]", InterpolationMethod.Discrete) $month_alphabet.experimental_lookup($month_numeric, 'B') Step 2 : Configure the sequence/format based on your preference $extract = $f.toSignal('End').toString() $day = $extract .replace('/(?<year>....)-(?<month>..)-(?<day>..)T(?<hour>..):(?<minute>..):(?<sec>..)(?<dec>.*)Z/' , '${day}') $YYYYhhmm = $extract .replace('/(?<year>....)-(?<month>..)-(?<day>..)T(?<hour>..):(?<minute>..):(?<sec>..)(?<dec>.*)Z/' , '${year} ${hour}:${minute}') $final = $day + ' ' +$month_alphabet+ ' ' +$YYYYhhmm return $final Hope this helps.
  14. Yes, understood but it will not be straightforward though thus I recommended formatting the header. Can you please let me know the background of your use case? It it still in the context you would like to display the time of the last value? If yes, may I know why you do not prefer to configure the header.
  15. Hi Nurhaz, The easiest will be to configure at the header. In this example, I used Simple Table >> Last Value, followed by customizing the header as showed in the second screenshot. If you click at the '?' beside the Date Format it will provide you more formatting options. Finally, you can add another column and name it 'Last Sample Time". This method is applicable still if you prefer to use Scorecard Metric. The difference between this method and the one discussed above is this method will generate the last value too.
×
×
  • Create New...