Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
此SQL窗口函数的PowerBI/DAX查询等价物是什么_Powerbi_Dax_Calculated Columns_Window Functions_Date Difference - Fatal编程技术网

此SQL窗口函数的PowerBI/DAX查询等价物是什么

此SQL窗口函数的PowerBI/DAX查询等价物是什么,powerbi,dax,calculated-columns,window-functions,date-difference,Powerbi,Dax,Calculated Columns,Window Functions,Date Difference,我有下表: NDayNo Customer Date CallID 0 A 02/09/2018 48451 24 A 26/09/2018 48452 0 B 21/09/2018 48453 4 B 25/09/2018 48454 0 C 17/09/2018

我有下表:

   NDayNo   Customer    Date       CallID
     0          A     02/09/2018    48451
     24         A     26/09/2018    48452
     0          B     21/09/2018    48453
     4          B     25/09/2018    48454
     0          C     17/09/2018    48455
     8          C     25/09/2018    48456
     9          C     26/09/2018    48457
     9          C     26/09/2018    48458
     0          D     09/09/2018    48459
恩达伊诺。值是在SQL中使用此函数计算出来的:

COALESCE(DATEDIFF(day,FIRST_VALUE(Date) OVER (PARTITION BY Customer ORDER By Date),Date),0)
恩达伊诺计算客户当月第一次联系的时间(=0),然后计算距离下次联系的天数


我试图在PowerBI中复制相同的逻辑。有人知道我如何将其计算为计算列/DAX查询吗?

这应该适用于您:


此DAX表达式为每行返回整个表中的最小[date]与该行中的[date]之间的差值(以天为单位)。

;DATEDIFF(CALCULATE(MIN('table'[Date],ALLEXCEPT('table','table'[customer]),'table'[Date],DAY)我收到的“传递给DATEDIFF的参数太少,MIN requirement是3”错误。您的屏幕截图上是否有多余的代码?谢谢您忘记了
MIN('table'[Date]之后的结束括号
。我将添加代码,以便可以复制/粘贴。谢谢。如果我想过滤结果,该怎么办?例如,如果它旁边有一个带有值[1]或[0]的标志列,我过滤掉所有的[0],只剩下[1]s。这个计算列会调整NDayNo吗?那么从上表中,如果我要过滤掉最上面的行(CallID.48451),CallID.48452的NDayNo应该调整为0。不,在筛选表时它不会重新计算。这是一个计算列,而不是一个maesure。我明白了,在这种情况下,我该如何将其转换为度量值?确保每次对表应用筛选时都重新计算该值?
NDayNo =
DATEDIFF (
    CALCULATE ( MIN ( 'table'[Date] ), ALLEXCEPT ( 'table', 'table'[Customer] ) ),
    'table'[Date],
    DAY
)