Feature Request: Smart Drift Object Compilation with Filtered Datasets for Enhanced Visualization Clarity
opened this issue · comments
Description of Problem:
In the current implementation of the Smart Drift reports, all data points are visualized without any filtering options. This leads to cluttered and sometimes overwhelming visualizations, making it difficult for users to quickly identify and analyze the most relevant data trends and outliers.
Overview of the Solution:
Introduce a feature that allows users to compile Smart Drift objects with options to filter datasets based on user-defined criteria. This would enable the generation of reports that focus on the most pertinent data, providing cleaner and more insightful visualizations.
Examples:
- There should be an option to filter data by categories or values that the user considers critical for their analysis.
- If we want to filter a country dataset we can pick a column to filter by e.g. "name" and pick our desired countries such as "France" and "Germany"
Blockers:
There may be technical challenges in implementing dynamic filtering that interacts seamlessly with the existing Smart Drift compilation process. We want to make sure that this addition does not make the compilation unnecessarily longer and more cluttered in our code.
Definition of Done:
- Apply filters to the dataset before compiling the Smart Drift object.
- Generate visualizations in the Smart Drift report that only include the filtered data.
Hi,
Thank you for your issue, and your interest for Eurybia !
I understand the need to filter on a sub-sample of the dataset.
But the proposed solution has some disadvantages compared to a user who filters his dataset by himself before putting his datasets in eurybia.
Compared to the solution, it is suitable for simple filters, but sometimes the filters are more complex. The user has the power to manage more complex filters by himself.
If we add these filter parameters, we're adding complexity to Eurybia. This means adding functions to check that filters are applicable, providing messages in the event of errors and adding unit tests.