Technical Blog Post
Filtering in a smaller number of items in the DASH Bar Chart widgets
Recently I've been ask to provide a suggestion about how to show a pre-configured number of items in the DASH Bar Chart Widget.
Customer wanted to show just the five mount points with the highest "Space Used Percent" for the Unix or Linux Disk attribute group.
Unfortunately, the Bar Chart widgets in DASH, as well as lot of other widgets, does not allow to specify the amount of rows needed from the dataprovider.
Furthermore, ITM dataprovider is just going to send back all data requested, and then you can perform some actions on them (postfiltering, sorting etc) to better fit your needs.
So I tried to look for an alternative solution, leveraging on the filters available for the Bar Chart widget.
For example, we can use the field "Query Condition", that is under "Optional Settings", to ask data provider to return only mount points that exceeds a predefined used percentage value.
You can identify a threshold value, something that help you getting the amount of rows returned by dataprovider low enough.
For example, if normally you have four or five mount points exceeding 20% of space used, you can then use this value in your filter.
We can ask data provider to return only rows for the mount points that exceeds 20% by using a filter like:
in the Query Condition field.
Then, to get a sorted output we can select "Space Used Percent" in the field "Sort by Column" and "Descending" as Sort order.
Below you can find some images showing the proposed procedure.
Let's suppose we already have in the Required settings the following values:
In order to obtain what I suggested above, we have to expand the Optional Settings and provide the suggested information as follow:
Save the changes.
As a consequence, the bar chart will build a query that includes a statement like "WHERE PCTSPCUSED > 20" to the original query, and this will
allow to get a smaller number of returned rows.
In my environment I used something similar to monitor disks for a Linux node and this is what I obtained:
Hope it helps !!
Subscribe and follow us for all the latest information directly on your social feeds:
|Academy Twitter :||https://goo.gl/AhR8CL|