我有一张表要加载到Power BI中。我关注3列:Project_Name
,Document_Name
,Modified
。
表中的数据是这样的:
| Project_Name | Document_Name | Modified |
+------------------+-------------------+--------------+
| Thing1 | Apple | 12/28/2019 |
+------------------+-------------------+--------------+
| Thing1 | Orange | 10/22/2019 |
+------------------+-------------------+--------------+
| Thing2 | Banana | 12/17/2019 |
+------------------+-------------------+--------------+
| Thing2 | Banana | 12/30/2019 |
+------------------+-------------------+--------------+
我要过滤表格,以便显示每个Modified
的最新Project_Name
日期,如下所示:
| Project_Name | Document_Name | Modified |
+------------------+-------------------+--------------+
| Thing1 | Apple | 12/28/2019 |
+------------------+-------------------+--------------+
| Thing2 | Banana | 12/30/2019 |
+------------------+-------------------+--------------+
我尝试在表中添加一列,以为每个项目的最新日期添加一个True
值。我几乎只是复制了在MS论坛上找到的公式。它返回了正确的结果,但省略了许多记录。这是公式:
IsLatestChangedDateByProjectName = 'Project Documents'[Modified] = CALCULATE(MAX('Project Documents'[Modified]),FILTER(ALL('Project Documents'), 'Project Documents'[ProjectName]=EARLIER('Project Documents'[ProjectName])))
我还看着this question似乎是在追赶同一件事-但没有发布任何实际解决方案。但是似乎在表级别上比起计算新列,运气过滤更好。
答案 0 :(得分:0)
我将此交叉发布到PowerBI社区,并且以下工作成功了。在表格上创建度量而非筛选器,我可以在视觉上使用该度量来有效地筛选行。该度量对于每个项目名称的每个最新日期返回1。然后,我可以在度量上过滤视觉效果。
Measure =
VAR maxd =
CALCULATE (
MAX ( 'Project Documents'[Modified] ),
ALLSELECTED ( 'Table' ),
VALUES ( 'Project Documents'[Project_Name] )
)
RETURN
IF ( MAX ( 'Project Documents'[Modified] ) = maxd, 1, BLANK () )