如何在 PowerBI 中 aggregate/group 来自一个 table 的数据并将结果输出为另一个 table?
How to aggregate/group the data from one table and output the result as another table in PowerBI?
我有一个原始数据 Table,如下面的截图所示:
我想将原始数据table中的数据分组到输出Table中,如下图所示:
基本上输出 table 是计算不同摄入量中每个理解水平的学生人数。我可以知道如何从原始数据 table 中获取输出 table 吗?我还是 Power Query 的新手,非常感谢任何帮助!
这是我试过的:
代码:
= Table.Group(Source, {"Intake"}, {
{"Count_Little_Understand", each Table.RowCount(Table.SelectRows(_, each ([Topic 1] = "Little Understanding"))), Int64.Type},
{"Count_General_Understanding", each Table.RowCount(Table.SelectRows(_, each ([Topic 1] = "General Understanding"))), Int64.Type},
{"Count_Good_Understand", each Table.RowCount(Table.SelectRows(_, each ([Topic 1] = "Good Understanding"))), Int64.Type},
{"Count_Fully_Understand", each Table.RowCount(Table.SelectRows(_, each ([Topic 1] = "Fully Understand"))), Int64.Type}
})
我只能通过单个主题获得 table,不确定如何包含下面附加的其他主题以及如何添加另一个额外的列来标记主题,如我的第二个屏幕截图所示。希望得到一些关于我应该如何修改代码的 advice/help。感谢you/1
我重建了一个类似但更短的 table:
现在我们首先进入 Transform
(1),标记主题列 (2) 和 Unpivot Columns
(3)。
您的 table 现在看起来像下面的屏幕截图。最后,我们select值列(1),点击Pivot Column
(2),select员工姓名(3)。
结果:
您可以 Unpivot
Topic
列,然后 Pivot
Understanding
列,使用 Count
of Employee Name作为合计值。
然后简单地重新排序列和排序行,以满足您需要的输出:
#"Unpivoted Topic" = Table.UnpivotOtherColumns(#"Raw Data Table", {"Employee Name", "Intake"}, "Topic", "Understanding"),
#"Pivoted Understanding" = Table.Pivot(#"Unpivoted Topic", List.Distinct(#"Unpivoted Topic"[Understanding]), "Understanding", "Employee Name", List.NonNullCount),
#"Reordered Columns" = Table.ReorderColumns(#"Pivoted Understanding",{"Intake", "Topic", "Little Understanding", "General Understanding", "Good Understanding", "Fully Understand"}),
#"Sorted Rows" = Table.Sort(#"Reordered Columns",{{"Topic", Order.Ascending}, {"Intake", Order.Ascending}})
输出:
我有一个原始数据 Table,如下面的截图所示:
我想将原始数据table中的数据分组到输出Table中,如下图所示:
基本上输出 table 是计算不同摄入量中每个理解水平的学生人数。我可以知道如何从原始数据 table 中获取输出 table 吗?我还是 Power Query 的新手,非常感谢任何帮助!
这是我试过的:
代码:
= Table.Group(Source, {"Intake"}, {
{"Count_Little_Understand", each Table.RowCount(Table.SelectRows(_, each ([Topic 1] = "Little Understanding"))), Int64.Type},
{"Count_General_Understanding", each Table.RowCount(Table.SelectRows(_, each ([Topic 1] = "General Understanding"))), Int64.Type},
{"Count_Good_Understand", each Table.RowCount(Table.SelectRows(_, each ([Topic 1] = "Good Understanding"))), Int64.Type},
{"Count_Fully_Understand", each Table.RowCount(Table.SelectRows(_, each ([Topic 1] = "Fully Understand"))), Int64.Type}
})
我只能通过单个主题获得 table,不确定如何包含下面附加的其他主题以及如何添加另一个额外的列来标记主题,如我的第二个屏幕截图所示。希望得到一些关于我应该如何修改代码的 advice/help。感谢you/1
我重建了一个类似但更短的 table:
现在我们首先进入 Transform
(1),标记主题列 (2) 和 Unpivot Columns
(3)。
您的 table 现在看起来像下面的屏幕截图。最后,我们select值列(1),点击Pivot Column
(2),select员工姓名(3)。
结果:
您可以 Unpivot
Topic
列,然后 Pivot
Understanding
列,使用 Count
of Employee Name作为合计值。
然后简单地重新排序列和排序行,以满足您需要的输出:
#"Unpivoted Topic" = Table.UnpivotOtherColumns(#"Raw Data Table", {"Employee Name", "Intake"}, "Topic", "Understanding"),
#"Pivoted Understanding" = Table.Pivot(#"Unpivoted Topic", List.Distinct(#"Unpivoted Topic"[Understanding]), "Understanding", "Employee Name", List.NonNullCount),
#"Reordered Columns" = Table.ReorderColumns(#"Pivoted Understanding",{"Intake", "Topic", "Little Understanding", "General Understanding", "Good Understanding", "Fully Understand"}),
#"Sorted Rows" = Table.Sort(#"Reordered Columns",{{"Topic", Order.Ascending}, {"Intake", Order.Ascending}})
输出: