将SQL查询转换为power bi中使用的DAX查询,以查找具有特定ID的最大日期的行

时间:2018-06-16 10:10:32

标签: powerbi dax

我想在power bi中做一个报告,我需要找到所有id的最新记录。 这是可以在表上运行的SQL查询来实现此目的:

SELECT * FROM placement 
WHERE dateModified in (
   SELECT max(dateModified) 
   FROM placement 
   GROUP BY ID
   );

如何使用power power或DAX在Power BI中实现相同的目标?

2 个答案:

答案 0 :(得分:0)

您可以像这样使用FILTER函数:

FILTER(placement,dateModified = MAX(placement [dateModified]))

不确定语法,但如果你提供一些数据,我们可以检查是否正在编译。

答案 1 :(得分:0)

我可能会在计算列上使用报表级别过滤器:

IsTopDate = IF(table1[Date] = Calculate(Max(table1[Date]), All(table1)), 1, 0)

然后将最新日期添加为1的报告级别过滤器。

OR

使用PowerQuery,使用Table.ColumnList.MaxTable.SelectRows执行类似操作:

enter image description here

#"maxDate" = List.Max(Table.Column(#"Source" as table, "Date" as text) as list  ),
#"Filtered Rows" = Table.SelectRows(#"Source", each [Date] = #"maxnum")