DAX查询 - 使用EARLIER的COUNTROWS语句

时间:2017-06-23 16:27:16

标签: powerpivot dax

我需要比较一下:

  • Contact Employee IDEARLIER Contact Employee ID(如果他们相同)
  • 以及Opendate_IntEARLIER Opendate_Int之间的差异(如果小于或等于6,则计算该行)。

我的查询(Data是Power Pivot中表格的名称):

=COUNTROWS(FILTER('Data', EARLIER([Contact Employee ID]) = [Contact Employee ID] && EARLIER(Data[OpenDate_Int],[OpenDate_Int]-[OpenDate_Int]) <=6))+1

我收到错误:

  

“函数EARLIER的第二个参数必须是大于零的整数。”

你能告诉我哪里出错吗?示例(表格):

This is a sample of the columns I am comparing

1 个答案:

答案 0 :(得分:0)

由于这部​​分措施,您的错误会被抛出:

EARLIER(Data[OpenDate_Int],[OpenDate_Int]-[OpenDate_Int])

dax中的EARLIER函数有两个参数。第一个参数是必需的,应该是一个列。第二个参数是可选的,应该(如果提供)是一个大于0的整数。 在你的陈述中,第二个论点是:

[OpenDate_Int]-[OpenDate_Int]

将始终解析为0,因为您基本上是从自身中减去一个数字。

我认为你想要实现的是:

=
COUNTROWS(
    FILTER(
        'Data', 
        EARLIER([Contact Employee ID]) = [Contact Employee ID] 
        && EARLIER([OpenDate_Int])-[OpenDate_Int]) <=6
    )
)+1

声明的这一部分:

&& EARLIER([OpenDate_Int])-[OpenDate_Int]) <=6

将检查从EARLIER [OpenDate_Int]中减去的[OpenDate_Int]是否小于或等于6.