I am working on a Dashboard for a Customer.
Here a Screenshot of what their requirements are:
The Muxes are available as Services that each contain one Element and filtered Tables so only Table Rows that are relevant for the Services are available.
The required Parameters Power, C/N, etc. are each a Column within a Table and the Customer wants to see two things:
- The Average over all the relevant Table Rows for the Parameter
- The Percentage of Time the value has been over a Threshold.
- There must be a selection of two Services for comparison as well as a selection for the Time Interval.
I know how to make the selection for the Services and the Time Interval, but how can I get from the Services to included Element and the Parameter in the GQI?
I am already using the Generic Interface SoftLaunchOption, I assume that it should be somehow possible to get the percentage of time from there in combination with a Custom Operator, but how? Is there any detailed documentation with example available on how to work with Custom Operators?
The Average should hopefully just be an Aggregation once I have the Parameter values from the Table available.
Considering the Thresholds, is it somehow possible to read from the alarm template?
Any other ideas on this are welcome as well.
Nice use case!
I will try to give some feedback:
- Get elements from a service (and the related parameters): As far as I know currently it is not possible to retrieve this information with the default data sources available in the Dashboard app. For this case you will need to create a ad-hoc data source to retrieve this data. In order to get data from the DMS, you could use the GQIDMS class. This class allows you to execute SLNet calls. The SLNet call GetServiceByNameMessage provides information about the elements and parameters available in the service.
- From the previous ad-hoc data source, you could get the EID and the DK of the table. This information can be used with an inner join operation with the data source 'Get trend data'. This will provide the power values in your GQI result.
- Since you are working with logarithmic values (dBuV, dB), check if the an arithmetic average will be ok for your implementation. In case you need to perform the aggregation based on the 'raw' value, you will need to create a custom operator that will convert the dB value to the 'raw' value. The raw value will be stored in a new column. You could perform the aggregation based on this new column.
I believe there is still not detailed documentation about custom operators, however you can find examples in our Github repository.
Hope it helps!