答案 0 :(得分:1)
所以,有点矫枉过正,但对如何使用电源查询感兴趣,并有兴趣为MonthNumber构建自定义函数。
Powerquery是2016年前的免费插件,内置于2016年
<强> STEPS 强>:
1)数据标签(2016)或powerquery标签(2010年至2016年)=&gt;选择query from table
并确保您的源数据已选中并显示在弹出窗口
2)选择第一个日期列,按住shift键并选择上一个日期,然后选择unpivot columns
3)确保列属性(您的透视日期)被格式化为日期列
4)打开高级查询编辑器窗口
并将以下内容粘贴到let
和source
fnMonthNum = (input) => let
values = {
{"January", "1"},
{"February", "2"},
{"March", "3"},
{"April","4"},
{"May", "5"},
{"June", "6"},
{"July", "7"},
{"August", "8"},
{"September", "9"},
{"October", "10"},
{"November", "11"},
{"December", "12"},
{input, "Undefined"}
},
Result = List.First(List.Select(values, each _{0}=input)){1}
in
Result,
这是用于创建自定义函数的M代码,该函数从月份名称返回月份数。
5)添加列标签=&gt;添加自定义列,将其重命名为MonthName并插入以下文本
=Date.ToText([Attribute],"MMMM")
6)添加另一个自定义列,将其重命名为MonthNum并在此处使用我们的新功能:
= fnMonthNum([MonthName])
7)删除现在不必要的属性列; select column =&gt;右键单击=&gt;除去
8)转换标签=&gt;分组并输入以下内容:
9)确保MonthNum列是数字。
10)关闭并加载到=&gt; Only create connection
,
勾选Add to data model
,然后Load
11)根据此处的说明:CREATE A PIVOT TABLE USING EXCEL’S INTERNAL DATA MODEL
从功能区中选择Insert→PivotTable
。将打开“创建数据透视表”对话框。
选择使用External Data Source
选项,如图所示,然后点击Choose Connection
按钮。您将看到“现有连接”对话框,如图所示。
选择您刚为Table1创建的查询和pivottable
的目标12)根据需要排列字段并在MonthNum行域上升序排序
13)插入切片器
注意:您可以引入自定义排序,以避免使用MonthNum列进行排序。