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]
的所有值