报表需求请教?

我的数据结构是,一条数据在某一天,比如2024年10月21日,然后我想做两个柱状图,一个是显示当月的天数,比如10月1日至10月31日,一个是显示月份,每年12个月。但是由于有些日和月没有数据,怎么可以做到没数据也显示呢?需求类型以下图形

image.png

FineReport 宁震天 发布于 7 天前
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
宁震天Lv2见习互助
发布于7 天前

使用一个日期生成表或子查询来生成当月的所有日期,并将其与原始查询结果进行左连接

比如:

WITH RECURSIVE date_series AS (

    SELECT DATE_FORMAT(CURDATE(), '%Y-%m-01') AS day  

    UNION ALL

    SELECT DATE_ADD(day, INTERVAL 1 DAY)               

    FROM date_series

    WHERE day < LAST_DAY(CURDATE())                    

)

SELECT 

    LPAD(DAY(ds.day), 2, '0') AS day,  

    COALESCE(COUNT(uf.xm), 0) AS xm_count          

FROM 

    date_series ds                                   

LEFT JOIN 

    uf_ryryxx uf ON DATE(uf.rcsj) = ds.day        

WHERE 

    ds.day >= DATE_FORMAT(CURDATE(), '%Y-%m-01')   

GROUP BY 

    ds.day                                          

ORDER BY 

    ds.day;

最佳回答
1
HHHHH123Lv7中级互助
发布于7 天前

数据库新维护一张表,有年月日的,然后左关联

  • 宁震天 宁震天(提问者) 目前的数据有带一个日期字段,您的意思是需要每个月的日期和月份吗?
    2024-10-21 10:13 
  • HHHHH123 HHHHH123 回复 宁震天(提问者) 要想展示所有月和日期就要有数据,没有功能可以补,我们这正常都是维护一张日期表的,当年的年月日,以及假期也标记出来
    2024-10-21 10:18 
最佳回答
0
shirokoLv6资深互助
发布于7 天前(编辑于 7 天前

image.png

先做好日期和月的扩展单元格,然后把数据集关联到单元格上,

然后图表用单元格数据做图表单元格数据源- FineReport帮助文档 - 全面的报表使用教程和学习资料

  • 2关注人数
  • 147浏览人数
  • 最后回答于:7 天前
    请选择关闭问题的原因
    确定 取消
    返回顶部