Power BI中如何让生成的日历表仅保留每月首日?
Power BI 保留日历表每月首日的实现方案
完全可行,以下是两种直接的实现方式:
方式一:直接生成仅含每月首日的日历表
替换你原来的CALENDAR函数,直接基于源表的月份信息生成只包含每月第一天的日历表,推荐使用下面的DAX代码:
Calendario = GENERATE( VALUES(PP[Calendar year/month]), {DATE(YEAR([Calendar year/month]), MONTH([Calendar year/month]), 1)} )
如果你的PP[Calendar year/month]是文本格式(比如"2021-01"),需要先转换为日期类型,代码调整为:
Calendario = GENERATE( VALUES(PP[Calendar year/month]), {DATEVALUE([Calendar year/month] & "-01")} )
方式二:筛选已生成的日历表
如果已经保留了原有的全日期日历表,可通过筛选仅保留每月首日:
- DAX计算表方式
新建计算表,用筛选条件保留每月第一天:
Calendario_MonthStarts = FILTER( Calendario, DAY(Calendario[Date]) = 1 )
- Power Query方式
进入Power Query编辑器,选中原日历表:
- 添加自定义列,输入公式
= Day([Date]) = 1 - 筛选该自定义列为
True的行 - 删除多余的自定义列即可
内容的提问来源于stack exchange,提问作者Inuraghe
相关产品推荐
相关产品推荐

