I am currently using a Grafana8 dashboard. I have a table panel setup and I am using the ‘Filter data by values’ transformation. I want to be able to filter the data by a value that is assigned to a dashboard variable. The variable setup I am using is a custom variable with numerical values.
In the example below, I have setup the transformation to filter the value using ‘Is greater or equal to’ where the dashboard variable is set to either 0 or 1 which currently does not work. The filtering works when I replace the variable with the numerical value (e.g. 0 or 1). I have tried testing different variable syntax in the value box, none of which seem to work.
I would like to add to emphasize this issue. It is very slow, especially when multiple be are looking at the same dashboard, to have grafana add filters to a query, resend that query to an SQL database, and wait for the response to load the data. A front end filter would speed up this process by ~125x by my calculations and testing.
Please allow for front end to filter information that is loaded in the table.
This is a great idea but it comes with some sacrifice on accuracy.
if it is filtering on the loaded data only, and the data in the database now has 1k new rows, the result set/cached or in session would not have these 1k new rows.
But that said you should really submit this as feature request where user can choose, optional, knowing what I mentioned above
Thank you for the response! I understand that concern, but I believe the dashboards currently have that issue. The data is cached and if the dashboard is not reloaded the data displayed on the dashboard will not be synced with the database (Unless you specify “Refresh live dashboards”).
The data could take up to 2 minutes to load from the database, depending upon the size of the table, and in that time the data would be “out-of-date”. Adding the front-end filter would speed up the process substantially and be more user-friendly. I would think notifying the user on the front-end would be more helpful for a users perspective, and telling them to refresh the page to get all the new data would be better – my that’s of course is a personal opinion and I’ll resubmit this as a feature request like you said.
I have tried this method and it doesn’t appear to be work with the SQL datasource in Grafana 9.4. Also, I believe that the “Filter by value” is needed because the variable used to filter the table should only apply to specified columns, not all of them. In the “Filter by name” you displayed I believe the ${Device} variable will filter all cells, correct?
In my case I am not filtering by columns, I have many (between 1 to 200 It is kind of dynamic) “tables” (each stream of data has the same number of rows, columns but are grouped by different tags). I filter by name which is the tag using that regex filtering names containing the Device variable (selected from the drop-down variable selection)
Filter by value in my case won’t work because it will filter specific values (individual rows) on which the value meets given criteria.
What happens if it includes forward slashes, like maybe /${priority:regex}/ (just a guess here)? When using regex value mappings, forward slashes are needed, so was wondering if that might work in this case, too.