我能以某种方式在DAX中使用多列进行过滤吗?
我需要过滤两个日期之间的差异低于300天,如下所示。
EVALUATE
(
CALCULATETABLE
(
SUMMARIZE
(
'Sales',
'Sales'[MaxDatum],
'Sales'[MinDatum]
),
INT('Sales'[MaxDatum] - 'Sales'[MinDatum]) < 300
)
)
所以它失败了这个错误:
表达式包含多个列,但只有一列可以 用于表/过滤器的True / False表达式 表达
我尝试了这样的查询的另一种构造,但在这种情况下,我不能重用计算的成员。
EVALUATE
(
CALCULATETABLE
(
SUMMARIZE
(
'Sales',
'Sales'[MaxDatum],
'Sales'[MinDatum],
"DIFF", INT('Sales'[MinDatum] - 'Sales'[MaxDatum])
),
[DIFF] < 300
)
)
可以在DAX查询中以某种方式执行此操作吗?
感谢您的帮助
答案 0 :(得分:1)
试试这个:
EVALUATE
(
FILTER (
ADDCOLUMNS ( Sales, "Diff", 1 * ( Sales[MaxDatum] - Sales[MinDatum] ) ),
[Diff] < 300
)
)
如果您使用的是SSAS 2016,Excel 2016或Power BI,则可以使用DATEDIFF
函数,这是一种更可靠的计算时间增量的方法。
如果有帮助,请告诉我。