Excel 数据透视切片器和唯一列表位于同一列中

Excel 数据透视切片器和唯一列表位于同一列中

我想要实现的是获取一列中的唯一值列表 (Y1、Y2、Y3、Y4)(与图 2 相同),以便在使用数据透视表/图表时可以对其进行切片和切块。我想在一个切片器上显示“Y”,这样我就可以单击相应的属性来进行比较。我设法使用 Power Query 做到这一点,但当 PQ 缺乏知识时,很难向他们解释,至少在我的公司是这样。他们希望它像一天一样简单。

这是没有 PQ 的数据集: 在此处输入图片描述

这就是我用 PQ 所做的,实际上它应该是这样的:

在此处输入图片描述

所以我的问题是,是否有一些简洁而好的方法可以在函数中编写它?但简化了..

查询代码:

let
Source = Excel.CurrentWorkbook(){[Name="Table3"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"X", Int64.Type}, 
{"Y1", Int64.Type}, {"Y2", Int64.Type}, {"Y3", Int64.Type}, {"Y4", 
Int64.Type}}),
#"Unpivoted Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"X"}, 
"Attribute", "Value"),
#"Added Index" = Table.AddIndexColumn(#"Unpivoted Columns", "Index", 1, 1),
#"Reordered Columns" = Table.ReorderColumns(#"Added Index",{"Index", "X", 
"Attribute", "Value"}),
#"Added Conditional Column" = Table.AddColumn(#"Reordered Columns", "Custom", 
each if [Attribute] = "Y1" then "Y1 Y2 Y3 Y4 " else "Y1 Y2 Y3 Y4", type 
text),
#"Split Column by Delimiter" = Table.SplitColumn(#"Added Conditional Column", 
"Custom", Splitter.SplitTextByDelimiter(" ", QuoteStyle.Csv), {"Custom.1", 
"Custom.2", "Custom.3", "Custom.4", "Custom.5"}),
#"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter", 
{{"Custom.1", type text}, {"Custom.2", type text}, {"Custom.3", type text}, 
{"Custom.4", type text}, {"Custom.5", type text}}),
#"Removed Columns" = Table.RemoveColumns(#"Changed Type1",{"Custom.5"}),
#"Renamed Columns" = Table.RenameColumns(#"Removed Columns",{{"Custom.1", 
"Y1"}, {"Custom.2", "Y2"}, {"Custom.3", "Y3"}, {"Custom.4", "Y4"}}),
#"Removed Columns1" = Table.RemoveColumns(#"Renamed Columns",{"Y1", "Y2", 
"Y3", "Y4"}),
#"Pivoted Column" = Table.Pivot(#"Removed Columns1", List.Distinct(#"Removed 
Columns1"[Attribute]), "Attribute", "Value", List.Sum),
#"Merged Queries" = Table.NestedJoin(#"Pivoted Column",{"Index"},#"Table3 
(2)",{"Index"},"Table3 (2)",JoinKind.LeftOuter),
#"Expanded Table3 (2)" = Table.ExpandTableColumn(#"Merged Queries", "Table3 
(2)", {"Attribute", "Value"}, {"Attribute", "Value"})
in
#"Expanded Table3 (2)"

答案1

我认为您的查询看起来还不错。我还认为您应该继续坚持使用 PQ。随着人们逐渐熟悉它,他们将学会信任它并利用它。这对他们、对您的公司以及最终对您作为 Power Query Guy 都有好处!

我认为您可以在“取消透视其他列”步骤后停止。对于您的数据透视表,请将 [属性] 放在列区域,将 [值的总和] 放在值区域。然后您可以使用切片器以相同的方式进行切片,但您的查询结果对外行人来说会更直观。

当然,你不需要显示查询输出。您可以按原样显示数据,但在 Power Query 编辑器中选择“关闭并加载到”时,只需选择“仅数据透视表”并将数据透视表放在蓝色源数据表旁边。这样,公司里的人就不会问起带有不熟悉列名的奇怪绿色表格的问题。或者更糟的是,尝试编辑查询输出!

告诉他们可以编辑蓝色表格,然后刷新数据透视表。就是这样。

相关内容