循环实体并在 Power Query/DAX/Power BI 中获得每个实体的前 10 名
Looping entites and getting top 10 of each entity in Power Query / DAX / Power BI
我有这样的需求,
一个来源和 10 个实体
我需要每个实体 10 次运行数据。
例如.,
Source1 Entity1 ( top 10 )
Source1 Entity2 ( top 10)
....
...
Source1 Entity10 ( top 10)
我试图在 Power BI 中完成这项工作。我有 200 条记录的全部数据,但是当我对每个具有前 10 名的实体进行排序时,我必须只能获得 100 条记录。
关于如何在 DAX 或 Power Query 中执行此操作的任何帮助
提前致谢。
在 Power Query 中,您可以使用运算符 "All Rows" 对实体进行分组,将自定义步骤(下面的 "Max10Runs")添加到 select 前 10 名,然后使用嵌套展开列表(仅字段 "Runs")。
let
Source = Source,
#"Grouped Rows" = Table.Group(Source, {"Entity"}, {{"AllData", each _, type table}}),
Max10Runs = Table.TransformColumns(#"Grouped Rows",{{"AllData", each Table.MaxN(_, each [Runs], 10)}}),
#"Expanded AllData" = Table.ExpandTableColumn(Max10Runs, "AllData", {"Runs"}, {"Runs"})
in
#"Expanded AllData"
我有这样的需求,
一个来源和 10 个实体 我需要每个实体 10 次运行数据。
例如.,
Source1 Entity1 ( top 10 )
Source1 Entity2 ( top 10)
....
...
Source1 Entity10 ( top 10)
我试图在 Power BI 中完成这项工作。我有 200 条记录的全部数据,但是当我对每个具有前 10 名的实体进行排序时,我必须只能获得 100 条记录。 关于如何在 DAX 或 Power Query 中执行此操作的任何帮助
提前致谢。
在 Power Query 中,您可以使用运算符 "All Rows" 对实体进行分组,将自定义步骤(下面的 "Max10Runs")添加到 select 前 10 名,然后使用嵌套展开列表(仅字段 "Runs")。
let
Source = Source,
#"Grouped Rows" = Table.Group(Source, {"Entity"}, {{"AllData", each _, type table}}),
Max10Runs = Table.TransformColumns(#"Grouped Rows",{{"AllData", each Table.MaxN(_, each [Runs], 10)}}),
#"Expanded AllData" = Table.ExpandTableColumn(Max10Runs, "AllData", {"Runs"}, {"Runs"})
in
#"Expanded AllData"