Superset条形图排序异常求助:如何按数据集原有顺序排列?
在Superset中让条形图按时间顺序排列的解决方法
你的数据覆盖2023年7月至2024年6月,包含年份、月份、计数三列,但在Superset创建条形图时,月份默认按字母顺序排列(比如Apr会排在Aug之前),而非实际的时间先后,可通过以下操作调整:
方法一:创建可识别的时间字段(推荐)
由于原始的Year和Month是文本类型,Superset无法直接识别时间顺序,建议先生成标准时间格式的字段:
- 如果使用SQL数据源,可在查询时拼接日期字段:
这里SELECT CONCAT(Year, '-', CASE Month WHEN 'Jan' THEN '01' WHEN 'Feb' THEN '02' WHEN 'Mar' THEN '03' WHEN 'Apr' THEN '04' WHEN 'May' THEN '05' WHEN 'Jun' THEN '06' WHEN 'Jul' THEN '07' WHEN 'Aug' THEN '08' WHEN 'Sep' THEN '09' WHEN 'Oct' THEN '10' WHEN 'Nov' THEN '11' WHEN 'Dec' THEN '12' END) AS Month_Date, CONCAT(Month, ' ', Year) AS Display_Month, Count FROM your_tableMonth_Date是2023-07这类标准日期格式,用于排序;Display_Month是Jul 2023这类展示用的文本。
方法二:在图表中设置排序规则
- 进入条形图编辑界面,在数据标签页,将
Month_Date设为X轴的维度(如果用方法一),或者将Year+Month作为组合维度。 - 切换到自定义标签页,找到排序设置:
- 选择按
Month_Date字段升序排序,这样条形会按时间从早到晚排列。 - 如果坚持用原始文本月份,可选择自定义顺序,手动拖拽每个月份到正确的时间序列(但这种方式在新增数据后需重新调整,灵活性差)。
- 选择按
验证效果
设置完成后点击运行查询,条形图即可按照2023年7月到2024年6月的实际顺序展示。如果需要X轴显示为Jul 2023样式,可将Display_Month设为X轴的显示字段,同时保留Month_Date作为排序依据。
内容的提问来源于stack exchange,提问作者Iqbal Singh
相关产品推荐
相关产品推荐

