All Activity
- Yesterday
-
Hi David, It seems the handling of enum signals involves providing some buffer from the edges of the lane, which is not configurable. I was able to produce a fairly good alignment by using the Customize > Axis settings in the Details panel to turn of Auto scaling of the numeric signal and set the min and max to -90 and 450, resp.: This will work as long as all enum values appear in the time range of interest but will produce misalignment if a proper subset of these is in the time range, because for enums the axis is only labeled with the values of those enums that are found in the time range. Hopefully this works for your visualization; if not, it may make sense to file a support ticket for a feature request to have more control over the visualization of enumerated data.
- 1 reply
-
- 1
-
-
David Edelman started following Change size of Y axis?
-
I am attempting to overlay a numerical value (wind direction in deg from N) with the cardinal directions (N, NNW, NW, etc). I have used the toStates() function with "group" to convert the number into a string, but I cannot get the Y-axis for the string value to "line up" with the numerical value (or vice versa). See attached image. Is there a way to change the size of the axis or otherwise get them to line up as indicated by the arrows? Thanks, David
-
I think this is what you're looking for or at least something very similar. The following formula will find the max value of a signal during each capsule in the condition and then keep the capsules whose Max values fall within the range of 48 and 54. $condition.setProperty('max of signal', $signal, maxValue()) .keep('max of signal', isbetween(48,54)) Regards, Teddy
-
Hi Dano, The removeLongerThan function only works on a Condition. In your screenshots, the selected $b (Making in 401, 402, 403) in your Formula is a Signal, and this is causing the error you encountered when executing the Formula. Kindly change the $b variable to the "Making 401, 402, 403" condition (the purple color condition in your screenshot) and re-execute the Formula. The symbol of Signal and Condition under the variable selection pane of the Formula tool is different and you can refer to the symbol to check the item type of each variable. Regards, Kin How
- Last week
-
New to SEEQ. Trying to get an average of a signal (analyzer stream) based on the duration of another signal (making in 401,402, 403) or multiple signals/capsules (making in tank 401, making in tank 402, making in tank 403. I have combined 3 other signals to form a single signal, which seems will work, but still don't have correct formula to execute properly. See attachments for attempts made and error message.
-
Patrick started following Convert wind direction degrees to N,S, etc
-
Convert wind direction degrees to N,S, etc
David Edelman replied to David Edelman's topic in General Seeq Discussions
That worked great - thanks! -
Dano joined the community
-
Convert wind direction degrees to N,S, etc
James DeMarco replied to David Edelman's topic in General Seeq Discussions
If you modify your wind_dir variable to $wind_dir = group( capsule(0, 22.5).setProperty('Value', 'ENUM{{0|N}}'), capsule(22.5, 67.5).setProperty('Value', 'ENUM{{1|NE}}'), capsule(67.5, 112.5).setProperty('Value', 'ENUM{{2|E}}'), capsule(112.5, 158.5).setProperty('Value', 'ENUM{{3|SE}}'), capsule(158.5, 202.5).setProperty('Value', 'ENUM{{4|S}}'), capsule(202.5, 247.5).setProperty('Value', 'ENUM{{5|SW}}'), capsule(247.5, 292.5).setProperty('Value', 'ENUM{{6|W}}'), capsule(292.5, 337.5).setProperty('Value', 'ENUM{{7|NW}}'), capsule(337.5, 360).setProperty('Value', 'ENUM{{8|N}}') ) You will get an ordered Y axis: This is how Seeq handles enum Signal values from other systems - it has some limitations, but it seems like it should work well for your use case. -
i don't think that's what i am trying to do, i'll try to explain better: i have the following capsule and profiles. i would like to define for each capsule, the max value or another statistic. i know that i can select such information in the capsules info window or define "signal from condition" $series.aggregate(maxValue(), $capsules.setMaximumDuration(60h), durationKey(), 0s) and then identify value $a < 54 and $a > 48 and like this define the condition i was looking for, but i would like to write it all in one formula. i think i need to use "tocondition", but how? thanks
-
David Edelman started following Convert wind direction degrees to N,S, etc
-
I have a signal that gives the wind direction in degrees from North (0-360). I want to convert a range of values to a cardinal direction, so I used "toStates" with a custom group to do so $wind_dir = group( capsule(0, 22.5).setProperty('Value', 'N'), capsule(22.5, 67.5).setProperty('Value', 'NE'), capsule(67.5, 112.5).setProperty('Value', 'E'), capsule(112.5, 158.5).setProperty('Value', 'SE'), capsule(158.5, 202.5).setProperty('Value', 'S'), capsule(202.5, 247.5).setProperty('Value', 'SW'), capsule(247.5, 292.5).setProperty('Value', 'W'), capsule(292.5, 337.5).setProperty('Value', 'NW'), capsule(337.5, 360).setProperty('Value', 'N') ) $w0wd.toStates($wind_dir) This formula works, but the Y axis is sorted alphabetically (W, SW, SE, S, etc). Can I force a particular sorting (N, NE, E, etc) or is there a different/better way to implement the above? Thanks, David
-
API Call with C# in order to retrieve signals
Acerion12 replied to Acerion12's topic in General Seeq Discussions
Thanks Thorsten, it works. Just one more question, do you think that in order to retrieve a list of signals adding a foreach loop will be enough and optimal? (At this moment, I am going to pull out at max 30 signals once a day (1 row of data per 1 hour)) List <string> signalsID = new List<string>(); signalsID.Add("F7AC2007-4243-4B31-9E42-6EAEBCB068C1"); signalsID.Add("6D966E1D-3E8A-48CA-A84B-E665EB404EDF"); foreach (string singal in signalsID) { string signalId = singal; //rest of the code.... do { //do } } There is still one more thing that concerns me. Providing some explanation, I am more Python enthusiast, and in that language, it would be easy to transform that kind of list into a data frame (data table). May you propose the way that I should follow to convert the output into data table in c#? As I mentioned, I am a beginner in terms of c#. Regards, -
MArgarida, If I understand your question correctly it sounds like you are trying to create a metric/scorecard metric with formula. Seeq doesn’t support the creation of metrics with formula. If this is what you are trying to do, I don’t think it will be possible. I would suggest opening a feature request and detailing what you are trying to do. If you are trying to do something else, can you provide a little bit more information on what your goal is. Link to support portal to submit feature request. You can send the feature request to the Analytics Help section. https://seeq.atlassian.net/servicedesk/customer/portal/3 Regards, Teddy
-
Thorsten Vogt started following API Call with C# in order to retrieve signals
-
API Call with C# in order to retrieve signals
Thorsten Vogt replied to Acerion12's topic in General Seeq Discussions
Hi Acerion12, I am not quite sure what you mean with getting a signal limited by date range. So I created a quick-and-dirty example to get a signal by its ID and also retrieve its samples over a specific date range. The query will only return 40 samples for each call. Seeq.Sdk.Client.ApiClient client = new Seeq.Sdk.Client.ApiClient("https://<YOUR SERVER>/api"); Seeq.Sdk.Api.AuthApi authApi = new Seeq.Sdk.Api.AuthApi(client); authApi.Login(new Seeq.Sdk.Model.AuthInputV1 { Username = "<YOUR ACCESSKEY>", Password = "<YOUR PASSWORD FOR THE ACCESSKEY>" }); string signalId = "14E630B3-E615-4B84-9EE3-4B685D5A3938"; Seeq.Sdk.Api.SignalsApi signalsApi = new Seeq.Sdk.Api.SignalsApi(client); Seeq.Sdk.Model.SignalOutputV1 signal = signalsApi.GetSignal(signalId); Console.WriteLine("Signal: {0}", signal.Name); string start = DateTime.Now.AddDays(-3).ToUniversalTime().ToString("o"); string end = DateTime.Now.AddDays(-2).ToUniversalTime().ToString("o"); int offset = 0; int numberOfItems = 40; Seeq.Sdk.Model.GetSamplesOutputV1 samples; do { samples = signalsApi.GetSamples(signalId, start, end, null, null, null, null, null, offset, numberOfItems); foreach (Seeq.Sdk.Model.SampleOutputV1 sample in samples.Samples) Console.WriteLine("{0} : {1}", sample.Key, sample.Value); offset += numberOfItems; } while (!string.IsNullOrEmpty(samples.Next)); client.Logout(); Does this answer your question? Regards, Thorsten -
Hi, I've been wondering recently, how to make API calls with C# based on Seeq-server-sdk-R58 in order to retrieve signals limited by date range. I was planning to connect to SEEQ API by access token, retrieve signals by their IDs, and limit the number of rows that could be retrieved at once. Has anyone accomplished something like that? I was trying but personally, I do not have much experience in c# and REST API. Thanks in advance for any advice!
-
Acerion12 joined the community
-
Thanks Selmane, I made that correction and it works. I really wish there was a cleaner way to do this. I would like to just do calculations on conditions instead of being restricted to capsules.
-
This helps, but it is really clunky. I hate having to type in specific dates in DataLab to create capsules. What I really want is to create conditions in WorkBench that I can use in calculations in DataLab. It looks like the best way to do that is within() in formulas. Most of the calculations cannot use conditions, they need capsules.
-
This helps, but it is really clunky. I hate having to type in specific dates in DataLab to create capsules. What I really want is to create conditions in WorkBench that I can use in calculations in DataLab. It looks like the best way to do that is within() in formulas. Most of the calculations cannot use conditions, they need capsules.
-
How to make SQC Chart in Seeq
Synjen Marrocco replied to patjdixon's topic in General Seeq Discussions
Hi Pat, You should be able to get the average across all of your capsules with the following formula: //Define the time period that contains all good quality capsules $capsule = capsule('2023-02-25T11:36:16.491000+00:00', '2023-03-27T11:36:16.491000+00:00') //Create average based on the good quality capsules. $Temp.remove(not $Good_Quality).toDiscrete().average($capsule).tosignal() This will produce an unweighted average using toDiscrete(). Note that we define a large capsule that captures all the good quality capsules, remove the data outside of the good capsules, convert temp to discrete, take the average, and covert the average to a signal. If you want to create a dynamic "training" period, you could do the following as well: //Use the last 7d of data to capture the good quality capsule data $capsule = capsule(now() - 7d, now()) Please let me know if this helps get you what you are looking for. Synjen -
Jamie joined the community
-
Hello Patrick, In your screenshot, you are calculating the average on the Temperature Signal but I suggest you do that on "Temp when good" signal. Can you please try that and let me know if the result is correct and matches the metric output? I agree it seems a bit complex but switching from calculations in a spreadsheet to capsules requires changing a bit the way you tackle problems. I hope this helps, --Selmane
-
This doesn't quite work. As you can see, the average calculated this way differs from the Metric (Temp when good Avg Metric). This is really clunky, even if it worked. I am going to submit a feature request
-
Hello Pat, indeed step two is where you didn't find the correspondance between Excel and Seeq. The Signal from condition you did will compute an average for every high efficiency capsule. In order to compute the average on all capsules, I suggest the following steps: Create a new "cleansed" temperature signal which equals to nothing outside the high quality periods and equals to temperature during those periods. This is equivalent to the filter you put on Column E. This formula should do the job: $temperaturesignal.remove($highqualitycondition) Create a new condition by merging the high quality capsules. This way, you will have a long period of time covering all temprature samples. This formula should do the job as well: $highqualitycondition.merge(2d). Please replace the 2d by the maximum interval between your capsules) Now you can calculate the average and standard deviation of the new created signals during the new condition. Please pay attention to maximum capsule duration field in the Signal From Condition tool Now you are all set, you can calculate the upper and lower limits with simple Formulas and you should obtain something similar to the below screenshot: Let me know if this works for you or not. Thanks, --Selmane
-
patjdixon started following How to make SQC Chart in Seeq
-
I am finding it difficult to create an SQC chart in Seeq If I show this in Excel, it is pretty easy 1. I start with a Temperature that effects a Quality measurement. The process engineer suspects there is a relationship between Temperature and Quality 2. The engineer puts a condition into Excel to show the quality good when it is greater than 80 3. We filter for all good values 4. We create the average and standard deviation for the good values 5. We put these values in columns, with a 2-standard deviation limit high and low 6. Now we can create a chart showing the quality is bad when temperature is outside limits ******** Now I want to do this in Seeq 1. I create condition for good quality 2. I use the condition to calculate the average when quality is good. THIS IS THE PROBLEM; it calculates an average for every capsule, not for the aggregate condition. Using aggregate in a formula doesn't work either. I find no way to calculate the average for the whole condition 3. Using a metric has the same problem 4. I can use "within()" to create a signal that only has temperature during good quality 5. I can then use a metric to calculate the average for good condition 6. However, I cannot use it in a formula. Therefore, the average and standard deviation from a metric cannot be used in a formula for SQC limits like I have in Excel ********* Does anyone know how this can be done in Seeq?
-
Samuel Odewale joined the community
-
DAMRA joined the community
-
Levent Nergiz joined the community
- Earlier
-
Sum of individual totalized fractions within a capsule
MArgarida replied to MArgarida's topic in General Seeq Discussions
Many thanks Nuraisyah, it works indeed 🙂 wish you a gd day