PowerBI中DAX代码自动化:配置@StartDate为上月初、@EndDate为当月初
DAX自动化日期参数配置(PowerBI + Azure SQL Database)
在PowerBI中使用Azure SQL Database数据时,需要自动化以下DAX代码的日期参数:
Table = Reporting_PremiumBDX_QBEPremiumSL("QBE%", @StartDate(yyyy,mm,d), @EndDate(yyyy,mm,d))
要求将@StartDate设为上月第一天,@EndDate设为当月第一天,作为DAX新手在日期格式处理上遇到了困难。对应的SQL查询示例如下:
select * from Reporting.PremiumBDX_QBEPremiumSL('QBE%', 11/1/2023, 12/1/2023)
解决方法
用DAX内置日期函数获取目标日期
DAX提供了直接生成目标日期的函数,无需手动拼接格式:- 上月第一天:
STARTOFMONTH(DATEADD(TODAY(), -1, MONTH)) - 当月第一天:
STARTOFMONTH(TODAY())
- 上月第一天:
修改后的完整DAX代码
将原代码中的日期参数替换为上述DAX表达式即可,DAX会自动处理日期类型的传递,匹配SQL函数的参数要求:Table = Reporting_PremiumBDX_QBEPremiumSL("QBE%", STARTOFMONTH(DATEADD(TODAY(), -1, MONTH)), STARTOFMONTH(TODAY()))新手补充说明
TODAY():返回当前系统的日期DATEADD(TODAY(), -1, MONTH):计算当前日期往前推1个月的日期STARTOFMONTH():提取指定日期所在月份的第一天- 无需手动指定
yyyy,mm,d格式,DAX的日期函数会直接生成符合要求的日期类型值
内容的提问来源于stack exchange,提问作者Michael Shepard
相关产品推荐
相关产品推荐

