Jump to content

Joe Reckamp

Seeq Team
  • Posts

    128
  • Joined

  • Last visited

  • Days Won

    36

Joe Reckamp last won the day on January 14

Joe Reckamp had the most liked content!

3 Followers

Personal Information

  • Company
    Seeq Corporation
  • Title
    Analytics Engineer
  • Level of Seeq User
    Seeq Advanced

Recent Profile Visitors

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

Joe Reckamp's Achievements

Enthusiast

Enthusiast (6/14)

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

Recent Badges

77

Reputation

3

Community Answers

  1. Hi nurhazx, If you look at the example "Asset Trees 1 - Introduction.ipynb" in the SPy Documentation, you'll see this example of how to insert a current Seeq signal/condition into an asset tree:
  2. Hi David, You could either: (1) subtract 1 from the count as it will always have the starting value as a capsule, meaning the value will always be number of changes + 1 or (2) use $signal.tocondition().starts(), which will make the capsule only appear at the start (or specifically the time when a change is made)
  3. Hi David, You could do the following to create a capsule per each change in signal value (regardless of string or numeric): $signal.tocondition() And then you could count the capsules that are created.
  4. Hi David, The typical way that we would recommend doing this is with individual Value Searches (where you could select between the various values) and then use Composite Condition to combine those. However, you could also do this in a single formula. For example, you may do something like: ($signal > 10 and $signal < 20) or ($signal > 50 and $signal < 100) However, if you want those to be distinct capsules, the "or" operator (equivalent to "union") would combine the capsules if you had back-to-back capsules where the end of one range started another. In this case, you could use the "combinewith" operator to combine the different logics: combinewith( ($signal > 10 and $signal < 20), ($signal > 50 and $signal < 100), ($signal > 100 and $signal < 200) ) Another option would be to add some logic as to where they came from where a property (in this case named "Position") would tell you something about the capsules being formed. For example: combinewith( ($signal > 10 and $signal < 20).setproperty('Position', '10-20'), ($signal > 50 and $signal < 100).setproperty('Position', '50-100'), ($signal > 100 and $signal < 200).setproperty('Position', '100-200') )
  5. Hi Majed, If you've already identified when the peaks are above the threshold, you can create a table of those instances by using the Condition Table: https://support.seeq.com/kb/latest/on-premise/tables-charts#id-(R64)Tables&Charts-ConditionTables For the second option, one way to do this might be the following: 1. Find the duration between each of the events with the following formula: $peaks.inverse().aggregate(totalduration('h'), $peaks.inverse().removelongerthan(7d), durationkey()) Note that this will give the duration in hours and assumes that the max duration between peaks is 7 days. If you want different units or have more time between peaks, I would recommend changing those values. 2. Use the above calculation to identify the peaks that have a duration (from step 1) greater than X before or after the event (in this example, I used X = 15 hours): $peaks.touches(($duration > 15h).grow(1s)) That should result in only the peaks with durations of 15h before or after them to be identified.
  6. Hi Dayyan, I'm not sure if I'm fully understanding the question, but if you make a condition where each capsule represents the time in between seal replacements, you could then use that condition to reset the counters. To do this, you could do something like $sealreplacement.inverse().intersect(past()) Note that you'll need the $sealreplacement to be a condition so if you just have a discrete signal for when the seal is replaced, you may need a $signal.tocapsules() first. From there, you could follow the post below using the above condition as the $reset and $signal as the counter that you want to reset.
  7. Would recommend taking a look at the "join" option in Composite Condition under Identify - this will allow you to join from one condition to the next. You can see more visually in the skills explorer here under Identify Events >> Composite Conditions: https://skill-explorer.seeq.com/
  8. If they already have the property on the conditions, you could just do: combinewith($r1tr, $r2tr, $r3tr) If they don't already have the property, would recommend doing the setproperty in the same method as above: combinewith($r1tr.setproperty('Reactor', '1'), $r2tr.setproperty('Reactor', '2'), $r3tr.setproperty('Reactor', '3'))
  9. Hello, You can use the replace function in formula to do this. Alternately, a lot of customers use the manual signal option: https://support.seeq.com/kb/latest/cloud/manual-signal to just input bed height at various timestamps.
  10. Hi Michael, For CSV files, you have to change the scope on the CSV file itself rather than the items within the CSV file. It looks like for your scenario, you should have a CSV file named "Lab Cell Build Dates - Manual Upload Sheet - Cell 7 (2).csv" so if you search for that in the Data Tab and then click on the "i" for that file instead of the condition inside it, you should see the Scope option to change. Regards, Joe
  11. Hi Tyler, What I mean by a formula built on top of the item in the tree is to not create the formula in Asset Group Editor Mode, but once you have the asset group built, add the item from the tree to the display, then simply use the formula tool to make a formula referencing that item from the asset group. As long as you are creating a NEW formula and not editing the one that's in the Asset Group, it will build on top of the asset group item.
  12. Hi Tyler, Is the item that you are editing in the asset tree directly? If so, when you swap, you're swapping to new items that you haven't edited that probably just include the original $signal formula. If that's the case, you have two options: 1. Edit the formulas for each of the equivalent items (if it's an asset group, that may be easy to edit all of the items. If not, this may be tedious) 2. The easier method in my mind is to create a separate calculation on top of the item in the tree. If you use the item in the tree and then do the $signal.validvalues() in a signal pointing at the item in the tree, it will then swap and perform that same validvalues to each item in the tree when swapped. Basically, if there's an equivalently named item in the other asset tree, it will swap to that specific item rather than applying the formula you set. If you build a formula on top of the item in the tree, it will then instead swap the items in the tree and apply whatever formula you create on top of the items in the tree.
  13. Hi Jacob, You currently cannot export the table itself, but most table results you can recreate as a calculation and then export those items via OData. OData works with signals or conditions. With OData, you can use the auto-update option and then schedule the refresh rate in PowerBI and it will always grab the last X days/weeks/months/etc. of data.
  14. Hi Joseph, If you look at the SPy Documentation under "Asset Trees 1 - Introduction", you'll see this comment when working with spy.assets.tree: An optional ID column can help SPy find items from Seeq Server that don't have unique names. Because you don't have unique names, you'll likely need to add this ID column to make sure you get the correct item. You can grab the IDs from the Item Properties for each item or by doing a spy.search on the items (https://seeq.atlassian.net/wiki/spaces/KB/pages/141623511/Item+Properties)
  15. Hi KOKI, Generally for both #2 and #3, we often will bring the data in as capsules with capsule properties. It ultimately depends on how your system reports it, but typically the data is often reported as a time series of when the test is run (e.g. when the material property is recorded or quality data is run) and/or when the material is used (e.g. when you add a material to the batch, it will record what lot number you used and how much). Obviously it depends a bit on what and when your data is recorded, but Seeq has a number of tools to move the timeseries to align with when you want them as long as there is some logic that we can attach to (such as X batch ID had Y material number, which then had Z property value. There's some examples of this time alignment available at the article below - you specifically may want to look at #4:
×
×
  • Create New...