Bug description
Description: I am experiencing an issue where my Calendar Heatmap chart in Apache Superset (version 4.0) is not emitting cross-filters when clicked, preventing a linked Table Chart on the same dashboard from updating.
The goal is to click a day cell in the Calendar Heatmap (which shows COUNT_DISTINCT(change_request_id)
by planned_start_time
at a daily grain) and have an adjacent Table Chart filter to show the raw records for that specific planned_start_time
.
Observed Behavior: When a cell in the Calendar Heatmap is clicked: 1. No filter is applied to the dashboard. 2. The linked Table Chart does not update. 3. The browser's developer console (F12) remains completely silent, showing no errors, warnings, or network requests related to filter emission or data fetching.
Context / Environment:
* Apache Superset Version: 4.0
* Database: : Starrocks - Iceberg
* Dataset: demo_dn_ut2.mart_cm_...
Steps I Have Followed (and Verified):
-
Global Cross-Filtering Status:
- Confirmed that
DASHBOARD_CROSS_FILTERS
feature flag is enabled insuperset_config.py
. - Verified that cross-filtering works correctly on other dashboards with different chart types (e.g., Bar Chart -> Table Chart).
- Confirmed that
-
Dataset Configuration (
demo_dn_ut2.mart_cm_...
):planned_start_time
column:- Verified its data type in the dataset definition is
DATETIME
(orDATE
/TIMESTAMP
). - Confirmed "Is temporal" checkbox is checked.
- Confirmed "Is filterable" checkbox is checked.
- Verified its data type in the dataset definition is
-
Calendar Heatmap Chart Configuration (e.g., "Test change"):
- Chart Source:
demo_dn_ut2.mart_cm_...
- Time Column:
planned_start_time
- Query Domain:
month
- Query Subdomain:
day
- Metric:
COUNT_DISTINCT(change_request_id)
- The chart renders correctly and shows data as expected.
- Chart Source:
-
Table Chart Configuration (e.g., "Test change Calender"):
- Chart Source:
demo_dn_ut2.mart_cm_...
(same dataset as heatmap). - Query Mode:
RAW RECORDS
selected. - Columns:
change_request_id
,planned_start_time
,log_date
, etc., are listed as raw columns (no aggregation or grouping applied toplanned_start_time
). - Time Section: No specific Time Column or Time Grain selected, or set to "No filter" / "Raw" to allow for granular filtering.
- Removed any persistent filters from the Table Chart's configuration.
- The Table Chart renders correctly and shows all raw data.
- Chart Source:
-
Dashboard Configuration:
- Both Calendar Heatmap and Table Chart are placed on the same dashboard.
- Dashboard is in Edit mode, and the global
Cross-filtering
toggle is ON. - Inspected individual chart properties on the dashboard:
- Calendar Heatmap: Confirmed it's set to "Emit filters" or "Apply to all charts" (if such options are available).
- Table Chart: Confirmed it's set to "Respond to filters."
- Saved all dashboard changes.
-
Troubleshooting Attempts:
- Performed hard refreshes (Ctrl+Shift+R) of the browser.
- Monitored browser console (F12) during clicks: No errors or warnings appear. No network requests are initiated for filtering the Table Chart.
Issue Still Facing: Despite all configurations appearing correct and cross-filtering working elsewhere, the Calendar Heatmap chart still does not emit filters when its cells are clicked, and the Table Chart remains unaffected. This suggests a potential limitation with the Calendar Heatmap visualization type itself regarding filter emission.
Proposed Resolution (if applicable): (You can add this if you have a specific hypothesis, e.g., "Requesting confirmation if the Calendar Heatmap chart type in Superset 4.0 is indeed designed to emit cross-filters, or if there's a specific setting I'm missing.")
Screenshots/recordings
No response
Superset version
master / latest-dev
Python version
3.9
Node version
16
Browser
Chrome
Additional context
No response
Checklist
- [x] I have searched Superset docs and Slack and didn't find a solution to my problem.
- [x] I have searched the GitHub issue tracker and didn't find a similar bug report.
- [x] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.
Comment From: rusackas
Indeed, this is one of a few charts that do not emit crossfilters. You're welcome to open a PR to address this, or we can move it to a Discussion if you want help from the community here.
Comment From: Nagarajkalasagonda
@rusackas Can we move it to community for discussion of this point. I have requirement which such as on particular date how many and which all changes are planned so that it will be helpful for me to plan better. So any other suggestion from community I am open with.
Comment From: rusackas
We do not have a community kanban with target dates for smaller features/fixes... but I think that's the nature of open source.
One thing to confirm here is that you're using the newer (ECharts-based) Heatmap viz, and not the legacy Heatmap. The ECharts one could be improved to add cross-filter emission.
The other ECharts viz plugins already do emit these so you could look at their code to see how they do it and open a PR. We'd be more than happy to review it! If you need professional services to get this done on a certain schedule, you can DM me on Superset Slack to talk about that.