Jump to content

All Activity

This stream auto-updates     

  1. Today
  2. In the course of building an analysis and experimenting you may create multiple signals and conditions you don't need. Clicking the 'x' in the Details pane will only remove them from the list but not from Seeq. As a result, when you go to create a new signal/condition and give it the same name you'll see the message 'An item with this name already exists.' This inevitably leads to the following two questions... How do I find the item? All signals and conditions can be searched for from the Data tab. Here are a few helpful hints to remember... Make sure to hit the Reset button to clear all filters and make sure you are searching from the top level and not within an asset tree. With the help of regex you can return only exact matches.... /^TAG NAME$/ For more information check out the Seeq Knowledge Base article Basic Searching and Filtering. How do I delete the item? One you find the item, add it to the Display. You can then select Item Properties and the red trash can. For more information on Item Trash check out the Seeq Knowledge Base article Item Trash.
  3. Last week
  4. Thanks @YogurtYoda for highlighting how to set the maximum capsule duration to resolve that formula error.
  5. For those like me who keep getting this error: Error getting data: condition must have a maximum duration. Consider using removeLongerThan() to apply a maximum duration. Click the wrench icon to add a Maximum Capsule duration. The resolution seemed to make sense to apply removeLongerThan() or setMaximumDuration() to the signal, but the correct answer is to set it to the capsule. For example, this is the incorrect formula I attempted. $series.aggregate(maxValue(), $capsules, endKey(), 0s) Here is the resolution: $series.aggregate(maxValue(), $capsules.setMaximumDuration(40h), endKey(), 0s) or $series.aggregate(maxValue(), $capsules.removeLongerThan(40h), endKey(), 0s) Hope this helps others who didn't have luck searching this specific alarm previously.
  6. Hello, You can use the pick() function to find the value at or just before now. The below formula will pick the last sample value of a signal that exists within a capsule created from 1 day before now, to now. The result is a scalar showing the value at now. $signal.toScalars(capsule(now() - 1d, now())).pick(-1) To select the sample value just before now, change the pick() function in the formula. $signal.toScalars(capsule(now() - 1d, now())).pick(-2) The scalar value given as the result of this formula will continue to update as new data comes in and updates the current value. Regards, Emily
  7. Hi, you can get the start and end value the following way: 1. Import data from CSV and create a capsule for complete range of data by doing a simple Value Search: 2. In order to get only the first and the last value of the imported data create another two capsules that represent a small interval just after start and just before end of the capsule created in step 1. 3. Use the "Signal from Condition" tool to calculate the start and end values: You could also skip step 2 and use the capsule created in step 1 inside step 3 as the bounding condition. But then you have to specify a maximum duration of the capsule which may decrease performance. Regards, Thorsten
  8. Historians continue to get attention from vendors and customers new and old. For recent interest, there is the focus on time series data storage from cloud vendors like Microsoft and Azure, plus open source offerings funded by Silicon Valley venture funds. For the established market, there are articles on the importance of insights from historians, for example, Control Magazine's article last spring. Since all of our business at Seeq involves time-series data stored in a historian – on-premise or in the cloud – we get a lot of questions about historians and wanted to pull a summary together for reference. View the full article
  9. Hi David - Our upcoming 0.44 release includes the ability for the user to specify number formats. More details are available in this Knowledge Base article: Number Formatting.
  10. Hi Ivan, Thank you for reaching out. Once you have your capsules for your "failures" this can easily be achieved using the inverse function in Seeq's Formula tool. You can see an example of this below. I have my capsules for Stage 2. I then use formula tool to create capsules for the inverse of Stage 2. If you have any other questions or need further assistance please let us know. Morgan
  11. Is it possible to create an inverse or NOT capsule? For example, I have capsules that mark equipment failures, I would like a capsule that is the inverse of failure, not failed. The reason I would like to do this is so I can aggregate run hours between failures. Thanks for any pointers! Regards, Ivan
  12. Earlier
  13. Hi, How to get start and end values of a signal? The signal is created by loading data from a csv file. Also, how to get previous and next values from now(). Thanks,
  14. Question: I have a condition with multiple properties that I have displayed in the capsules pane. Is there a way to get the data from the capsules pane into a Seeq Organizer Topic? Solution: Create a new string signal for each property that you are interested in displaying in your Organizer Topic, then create a scorecard that displays those values in a table that can be added to Organizer Topic. 1. Use Formula to create a new string signal with a value equal to the capsule data for a certain property. The formula syntax to do this is: $YourCondition.removeLongerThan(1d).transformToSamples($cap -> Sample($cap.getStart(),$cap.getProperty('Product')), 2d).toStep() 2. Duplicate step 1 for each of the other capsule properties that you are interested in. The best way to do this is by using the duplicate button found in the item properties for your new string signal. This will automatically open a new formula window with the same formula from the string signal that you created in step 1. All you need to do in the new formula window is change the name and change the property that you want to create a new signal from. 3. Repeat step 2 for each capsule property that you would like to be able to display in your organizer topic. 4. Now you can create a scorecard that displays the value of each string signal over each capsule. Switch to Scorecard View using the green drop down at the top of the Display Pane. 5. Click “Add a Metric” from the center of the display pane and populate the Scorecard Metric Tool input with your string signal, your condition with the properties, and the statistic Value at End (note Value at Start will also work since this is a string tag and the value is constant across each capsule). You’ll then see a single row in your scorecard like below. You can change the format that the column headers are displayed from the headers dropdown in the top of the display. Here I have selected to display only the start time as the header and selected the first pre-defined date format. 6. Follow the same calculation duplication method described in step 2 to create a new metric for each capsule property you want to display in your organizer topic. Make sure to change the Scorecard metric name and item to measure (input signal) each time. 7. Now add your score card to an Organizer Topic and configure custom date ranges as desired.
  15. Use Case: Users are often interested in identifying when a particular process is operating in a specific mode, or when it is in transition between modes. When looking at these transition periods, you may want to know what the modes of operation were immediately before and after the transition. If you can assign the starting and ending modes during a transition period to each transition capsule, you can filter for specific types of transitions and get a better idea of what to expect during like transitions. Solution: For Versions R.21.0.43 + 1. Add a signal to your display that describes the mode of operation you are interested in. In this example I have added the Example Data > Cooling Tower 1 > Area A > Compressor Stage string signal. Other signals that this use case applies to may include: production grade code, equipment operating mode, signal for step in a sequential or batch process. 2. Next we can use Formula to create a new condition comprised of capsules each time our Compressor Stage signal changes value. These capsules will contain a new capsule property called 'StartModeEndMode' that represents the value of the compressor stage immediately before and immediately after the signal changed value, or transitioned. The formula syntax to achieve this is: //creates a condition for 1 minute of time encompassing 30 seconds on either side of a transition $Transition = $CompressorStage.toCondition().beforeStart(0.5min).afterStart(1min) //Assigns the mode on both sides of the step change to a concatenated string that is a property of the capsule. $Transition .transform( $cap -> $cap.setProperty('StartModeEndMode', $CompressorStage.toCondition() .toGroup($cap, CAPSULEBOUNDARY.INTERSECT) .reduce("", ($seq, $stepCap) -> $seq + $stepCap.getProperty('Value') //Changes the format of the stage names for more clear de-lineation as a property in the capsules pane. .replace('STAGE 1','-STAGE1-').replace('STAGE 2','-STAGE2-').replace('TRANSITION','-TRANSITION-').replace('OFF','-OFF-') ))) and the Output is: Note that we added the new property 'StartModeEndMode' to the Capsules Pane. 3. We can now filter this condition to look for specific transitions of interest. In this example, we are interested in every time our compressor went from a TRANSITION state to STAGE2. Use Formula and the filter() function with the following syntax to achieve this. //Create a new condition comprised only of capsules where the 'StartModeEndMode' property is equal to '-TRANSITION--STAGE2-' $ConditionCreatedInStep2.filter( $capsule -> $capsule.getProperty('StartModeEndMode').isEqualTo('-TRANSITION--STAGE2-')) and the Output is: 4. Now we are able to add other signals of interest to the display and switch to Capsule Time view to observe how those signals behave during these similar transition events.
  16. Hi Jitesh, Please contact our support team at support@seeq.com and submit a ticket. One of our Analytics Engineer would be able to help. Thanks, SR
  17. Hi All, I'm tying to upload a time series data which is like huge number of observation (around 600K observations) through CSV option. While uploading a file i'm getting an error as below. Could anyone please help me to resolve this problem. Note :- I have also convert the timestamp to seek compatible time stamp (yyyy-mm-ddThh:mm:ss) Regards, Jitesh Vachheta
  18. Hi Teddy, It's version (R21.0.42.08-v201906200037) that i'm currently using. Regards, Jitesh Vachheta
  19. Hi Coolhunter, Happy to hear you find Seeq very useful. For sharing reports/dashboards we recommend using Seeq Organizer. This is included in Seeq and is great for assembling and distributing Seeq analyses as reports, dashboards, and web pages. For more information check out https://www.seeq.com/product/organizer or watch this short video https://www.seeq.com/resources/seeq-university/385-using-the-organizer-feature. We also offer the ability to integrate with PI Vision. For more information please contact support@seeq.com to discuss with one of our Analytics Engineers. Thanks, SR
  20. In Seeq Version R21.0.42, a .movingAverageFilter() operator was introduced in Formula. This operator smooths a signal by averaging values with their neighboring values. Its important to note that this operator is intended to smooth a signal. The aggregate operator should be used for computing averages on a periodic basis, such as hourly or daily moving averages. The following example uses the .movingAverageFilter() operator to resample the Temperature signal to 5 minutes and use a window size of 30 min.
  21. There are many cases where a moving average needs to be monitored. To create any statistic that is associated with a sliding time frame, first use the periods() function in Formula to create the periodic capsules. A few examples are listed below. Intent Seeq Formula 30 day average every 1 day periods(30d,1d) 24 hour average every 1 hour periods(1d,1h) 30 minute average every 5 minutes periods(30min,5min) Once the periodic condition is created, use Signal from Condition to calculate a moving average, max, min, or other statistic. The sliding capsules will appear overlapped in the capsules lane. Refer to the capsules pane to verify the capsules meet your expectation of start time and duration, then apply the desired "moving" aggregation (average, standard deviation, etc.) to any signal with the Signal from Condition tool. Below shows a moving 30 minute average sampled every 5 minutes on the Example Temperature data.
  22. Hello Everyone, We have started using Seeq and find it very useful. The next step will be integration with PI Vision to share the reports directly with the users. I believe this is possible but would like to have more information on how to do this integration. Appreciate all your help and apologies in case this is a duplicate question..
  23. Jitesh, Seeq offers a number of functions for cleansing data before it is used in a regression model. This can be an important step because bad data has a negative impact on regression quality as you are observing. Without seeing the raw data it's hard for me to assume what type of cleansing is most appropriate. There are a couple posts already on Seeq.org you might find interesting: Delaying or Shifting the Time of a Signal - This helps if the various meters are located at different points in the process Signal Smoothing - This gives an example of the removeOutliers function To see a full list of Signal Cleansing options checkout the Formula documentation in Seeq by selecting Signal Cleansing as seen in the screenshot below. In addition, my screenshot shows an example of agileFilter(). This is one of my go-to functions for smoothing data before subsequent use in other analysis. If you feel comfortable sharing what your raw data looks like (either a description or screenshot), then I can give you more specific advice. Cheers, Krista
  24. Background In this Use Case, a user created a condition to identify when the compressor is running. During each Compressor Running capsule, the compressor operates in a variety of modes. The user would like a summary of the modes of operation for each capsule in the form of a new signal that reports all modes for each capsule (i.e. Transition;Stage 1;Transition;Stage 2;Transition, Stage 1;Transition). Method 1. The first step is to resample the string value to only have data points at the value changes. It's possible the signal is already sampled this way, but if it is not, use the following Formula syntax to create a "compressed" signal: $stringSignal.tocondition().setMaximumDuration(3d).transformToSamples($capsule -> sample($capsule.getStart(), $capsule.getProperty('Value')), 4d) 2. Now, you can create a signal that concatenates the string values during each capsule. This is achieved using the following Formula syntax: $compressorRunning.setmaximumduration(10d).transformToSamples($cap-> sample( $cap.getStart(), $compressedStringSignal.toGroup($cap).reduce("", ($s, $capsule) -> $s + $capsule.getvalue())), 7d).toStep()
  25. You can use the start and end times of capsules to create new capsules with an arbitrary time before or after. This is useful when the process expert knows that there is a time period of interest before or after a capsule start or end timestamp. Refer to the example below. Here we have a series for the Area A Compressor Power shown in blue. We have created capsules shown in green for when the compressor is running in the high state, above 30kW. In this example, we want to create a capsule series that starts when the compressor exits the high stage (goes below 30kW) and then ends at exactly 2 hours later (or any other arbitrary time specified by the user). All we need to use is the following Seeq Formula: This formula creates a new set of capsules that start at the end of the “Compressor Power > 30” capsules and end exactly 2 hours later. The functions afterStart(), beforeStart() and beforeEnd() can be used similarly. For example, to create a set of capsules that capture the two hours prior to our “compressor high” condition, we can simply modify the formula above by changing “afterEnd” to “beforeStart.”
  1. Load more activity
  • Create New...