Dax sumifs .如何将 Excel 公式转换为 Dax 公式

Dax sumifs .How to convert Excel formula to Dax formula

如何将Excel公式转换为Dax公式。如果当前 小时是 1 ,我想找出前一天 小时 24sum qty

下面是使用 excel 公式的例子。 =IF(E3=1,SUMIFS($F$3:$F$17,$C$3:$C$17,D3,$E$3:$E$17,24),0)

date,previous date,hour,qty,Formula

10/10/2016,10/09/2016,24, 5,0
10/11/2016,10/10/2016, 1, 1,8
10/12/2016,10/11/2016,24, 2,0
10/13/2016,10/12/2016,24, 2,0
10/13/2016,10/12/2016, 3, 2,0
10/14/2016,10/13/2016, 1, 2,32
10/14/2016,10/13/2016, 1, 2,32
10/14/2016,10/13/2016,24,10,0
10/14/2016,10/13/2016, 4,10,0
10/14/2016,10/13/2016,24,10,0
10/13/2016,10/12/2016,24,10,0
10/13/2016,10/12/2016, 1,10,2
10/13/2016,10/12/2016,24,10,0
10/13/2016,10/12/2016,24,10,0
10/10/2016,10/09/2016,24, 3,0

假设您的 table 名为 Table1。

使用此公式创建一个计算列:

CALCULATE(SUM(Table1[qty]),FILTER(Table1,[date] = (EARLIER([date]) - 1) && 
Table1[hour]=24 && EARLIER([hour]) = 1))

这将复制您在 Excel 中使用 SUMIFS() 计算的结果。

现在,您可以完全使用此公式和 运行,但需要注意的是,在公式不适用的情况下,它 returns 为空而不是 0。为了处理这个问题,您可以在 DAX 中使用空白支票,如下所示:

=var x = 
CALCULATE(SUM([qty]),FILTER(Table1,[date] = (EARLIER([date]) - 1) && Table1[hour]=24 
&& EARLIER([hour]) = 1))
RETURN IF(ISBLANK(x),0,x)

这是结果屏幕,右侧是计算列: