Power BI:如何筛选 Table 以仅显示每个项目的最新日期
Power BI: How to Filter a Table To Show Only Most Recent Date For Each Project
我有一个 table 要加载到 Power BI 中。我关注 3 列:Project_Name
、Document_Name
、Modified
。
table中的数据是这样的:
| 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 |
+------------------+-------------------+--------------+
我想过滤 table,以便每个 Project_Name
显示最新的 Modified
日期,如下所示:
| Project_Name | Document_Name | Modified |
+------------------+-------------------+--------------+
| Thing1 | Apple | 12/28/2019 |
+------------------+-------------------+--------------+
| Thing2 | Banana | 12/30/2019 |
+------------------+-------------------+--------------+
我尝试向 table 添加一列,以将 True
值添加到每个项目的最新日期。我几乎只是复制了一个在 MS 论坛上找到的公式。它返回了正确的结果,但遗漏了许多记录。这是公式:
IsLatestChangedDateByProjectName = 'Project Documents'[Modified] = CALCULATE(MAX('Project Documents'[Modified]),FILTER(ALL('Project Documents'), 'Project Documents'[ProjectName]=EARLIER('Project Documents'[ProjectName])))
我也查看了 this question 似乎是在做同样的事情 - 但没有发布真正的解决方案。但似乎我在 table 级别过滤比计算新列的运气更好。
我将此交叉发布到 PowerBI 社区,以下工作正常。在 table 上创建一个度量,而不是过滤器,我可以在视觉对象上使用它来有效地过滤行。每个项目名称的每个最新日期的度量 returns a 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 () )
我有一个 table 要加载到 Power BI 中。我关注 3 列:Project_Name
、Document_Name
、Modified
。
table中的数据是这样的:
| 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 |
+------------------+-------------------+--------------+
我想过滤 table,以便每个 Project_Name
显示最新的 Modified
日期,如下所示:
| Project_Name | Document_Name | Modified |
+------------------+-------------------+--------------+
| Thing1 | Apple | 12/28/2019 |
+------------------+-------------------+--------------+
| Thing2 | Banana | 12/30/2019 |
+------------------+-------------------+--------------+
我尝试向 table 添加一列,以将 True
值添加到每个项目的最新日期。我几乎只是复制了一个在 MS 论坛上找到的公式。它返回了正确的结果,但遗漏了许多记录。这是公式:
IsLatestChangedDateByProjectName = 'Project Documents'[Modified] = CALCULATE(MAX('Project Documents'[Modified]),FILTER(ALL('Project Documents'), 'Project Documents'[ProjectName]=EARLIER('Project Documents'[ProjectName])))
我也查看了 this question 似乎是在做同样的事情 - 但没有发布真正的解决方案。但似乎我在 table 级别过滤比计算新列的运气更好。
我将此交叉发布到 PowerBI 社区,以下工作正常。在 table 上创建一个度量,而不是过滤器,我可以在视觉对象上使用它来有效地过滤行。每个项目名称的每个最新日期的度量 returns a 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 () )