DAX SWITCH语句中如何将多列值拼接作为匹配返回结果
解决DAX SWITCH语句中拼接财年和季度的问题
优化后的DAX代码
QTD: VAR CurrentDate = TODAY() VAR CurrentFiscalYear = LOOKUPVALUE('DATE'[FISCAL_YEAR], 'DATE'[DATE_DT], CurrentDate) VAR CurrentQuarter = LOOKUPVALUE('DATE'[QUARTER], 'DATE'[DATE_DT], CurrentDate) VAR Result_ = SWITCH ( TRUE(), 'DATE'[QUARTER] = CurrentQuarter && 'DATE'[FISCAL_YEAR] = CurrentFiscalYear && 'DATE'[DATE_DT] < CurrentDate, CurrentFiscalYear & "-" & CurrentQuarter, "NA") Return Result_
关键说明
- 先通过变量缓存今日对应的财年和季度值,避免重复调用
LOOKUPVALUE,提升计算效率。 - 满足条件时,用DAX的字符串拼接运算符
&将财年与季度按"财年-季度"格式拼接,即可得到类似"2024-Q3"的结果。 - 由于满足条件的行,其
FISCAL_YEAR和QUARTER必然与今日对应值一致,也可直接拼接当前行的列值:'DATE'[FISCAL_YEAR] & "-" & 'DATE'[QUARTER],效果完全相同。
内容的提问来源于stack exchange,提问作者greycat90
相关产品推荐
相关产品推荐

