SearchKit - dashboard tables
Overview
This is about how we can produce dashboard-like summary data with SearchKit to replace existing dashboards and make them more customisable.
For example, consider the Cases dashboard:
- the rows are Case Types
- the columns are the values of Case Status
- the table cells are counts of matching cases, linked to another search
Option 1
SearchKit can produce the counts with eg:
Maybe a new Display type could restructure the data to produce the desired format.
(Note that is should be based off of CaseType rather than Cases so that types with no cases are shown. But CaseType is not currently available.)
Option 2
See https://gist.github.com/aydun/d49197c81205b463ef5cdef38c97b317
The recently added data segmentation functionality adds 'virtual fields' for group-by purposes. Maybe we could add virtual fields based around the idea of the gist to create virtual fields from an option group so an option group of case_status becomes a set of fields sum(status_id=1), sum(status_id=2)
etc.
However, I don't think SearchKit/Api4 can produce sql like that - but maybe it can!
Both of these would need to accommodate linking the cells to another parameterized search.
Option 3
Something else ...