DAX-按组仅对第一次发生的事件求和的假设
我试图找出如何构建一个求和的度量值,但只取用户的第一个非空行 例如,我的数据如下所示:DAX-按组仅对第一次发生的事件求和的假设,dax,azure-analysis-services,Dax,Azure Analysis Services,我试图找出如何构建一个求和的度量值,但只取用户的第一个非空行 例如,我的数据如下所示: date user value ----------------- 1/1/17 a 15 2/1/17 a 12 1/1/17 b null 5/1/17 b 3 因此,我希望得到18(15+3)的结果 我认为使用FIRSTNONBLANK会有所帮助,但它只需要一个列,我不确定如何给它分组——也许需要某种类型的窗口 我已经尝试了下面的方法,但是我正在努力找出
date user value
-----------------
1/1/17 a 15
2/1/17 a 12
1/1/17 b null
5/1/17 b 3
因此,我希望得到18(15+3)的结果
我认为使用FIRSTNONBLANK会有所帮助,但它只需要一个列,我不确定如何给它分组——也许需要某种类型的窗口
我已经尝试了下面的方法,但是我正在努力找出正确的语法
groupby(
GROUPBY (
myTable,
myTable[user],
“Total”, SUMX(CURRENTGrOUP(), FIRSTNONBLANK( [value],1 ))
),
sum([total])
)
我没有太多的运气让
FIRSTNONBLANK
或GROUPBY
完全按照我想要的方式工作,但我想我找到了一些有效的方法:
SUMX(
ADDCOLUMNS(
ADDCOLUMNS(VALUES(myTable[User]),
"FirstDate",
CALCULATE(MIN(myTable[Date]),
NOT(ISBLANK(myTable[Value])))),
"FirstValue",
CALCULATE(SUM(myTable[Value]),
FILTER(myTable, myTable[Date] = [FirstDate]))),
[FirstValue])
内部ADDCOLUMNS
计算过滤器上下文中每个用户的第一个非空日期值
下一个ADDCOLUMNS
,获取该用户表和第一个日期,并为每个用户计算每个日期发生的[值]
外部的SUMX
获取结果表并汇总[FirstValue]
的所有值