DAX过滤表替换关系

时间:2017-09-14 18:11:06

标签: ssas dax

我有两个表,我正在寻找从中创建DAX度量。

DimProject

ProjectID EmployeeID StartDate
5         2          2017-08-01
6         2          2017-07-01

DimEmployee

EmployeeID Name
2          Nick

我需要返回StartDate所在的MAX StartDate,或者今天之前。踢球者是,我不能直接在SSAS中的这两个表之间建立关系,因为这些表之间已经通过事实表建立了关系。这是我到目前为止所做的,但是,它在最后一个EmployeeID引用上出错了。

When Placed Into Work:= CALCULATE(MAX(DimProject[ProjectStartDateKey]), FILTER(DimProject, DimProject[ProjectStartDateKey] < TODAY()), FILTER(DimProject, DimProject[EmployeeID] = DimEmployee[EmployeeID]))

编辑:

我尝试了另一种在两个表之间创建连接的方法。但是,虽然此公式编译,但不能使用它,因为它声明正在返回多个值。

MAXX(DimProject, CALCULATE(VALUES(DimProject[ProjectStartDateKey]), FILTER(DimProject, DimProject[EmployeeID] = DimEmployee[EmployeeID]), FILTER(DimProject, DimProject[ProjectStartDateKey] < TODAY())))

1 个答案:

答案 0 :(得分:2)

1)我可以建议你压扁2个尺寸吗?意味着你像这样合并昏暗的表:

ProjectID EmployeeID StartDate  EmployeeName
5         2          2017-08-01 Nick
6         2          2017-07-01 Nick

然后返回最高日期变得微不足道。

2)您可以在两个表之间建立非活动关系,并且在您的DAX公式中,您可以强制使用与USERELATIONSHIP的非活动关系

希望有所帮助!