ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: compilingnow

[讨论] 所以到底有方法控制Power Query返回结果的行顺序吗?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-4-4 11:58 | 显示全部楼层
compilingnow 发表于 2019-4-4 10:12
感谢回答,请见附件。无论是在PQ编辑器里还是Load回Excel后,我都无法对班组排序,无论是升序还是降序, ...
  1. let
  2.     Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
  3.     #"Changed Type" = Table.TransformColumnTypes(Source,{{"姓名", type text}, {"所属组别", type text}, {"销售量", Int64.Type}, {"组内排名", type text}}),
  4.     #"Removed Columns" = Table.RemoveColumns(#"Changed Type",{"销售量"}),
  5.     #"Pivoted Column" = Table.Pivot(#"Removed Columns", List.Distinct(#"Removed Columns"[组内排名]), "组内排名", "姓名"),
  6.     Custom1 = List.Distinct(Source[所属组别]),
  7.     Custom2 = Table.Sort(#"Pivoted Column",each List.PositionOf(Custom1,[所属组别]))
  8. in
  9.     Custom2
复制代码

TA的精华主题

TA的得分主题

发表于 2019-4-4 12:04 | 显示全部楼层
天Э昕♂淡然 发表于 2019-3-29 15:43
这里需要注意一个问题,如果是PowerQuery返回的值加载到工作表的表格里面 ,那么排序什么的都是简单能够处 ...

听君一席话胜读十年书

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-4-8 10:10 | 显示全部楼层

厉害,这个管用,感谢wdx223。
不过有个小问题:这个方法只适用于源数据里组别严格按照顺序一组/二组/三组这样的才行,如果源数据里不是升序,如二组/一组/三组这样的,则这个方法就会失效,因为Custom1里就生成了二组/一组/三组这样的排序规则。

TA的精华主题

TA的得分主题

发表于 2019-4-8 11:26 | 显示全部楼层
compilingnow 发表于 2019-4-8 10:10
厉害,这个管用,感谢wdx223。
不过有个小问题:这个方法只适用于源数据里组别严格按照顺序一组/二组/三 ...

你可以自己构造一个自定义的List来执行排序

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-4-8 17:22 | 显示全部楼层
wdx223 发表于 2019-4-8 11:26
你可以自己构造一个自定义的List来执行排序

感谢wdx223,可能是我理解的不对,但如果构造自定义List,PQ最大的魅力之一自动更新不就没有了么?举个例子,我构造了组一/组二/组三这个List来执行排序,如果源数据又增加了组四组五组六,那这个语句里手动构造的List是不会包括进来新的组的,等于PQ的自动刷新失灵了。还是构造这个List的时候就可以自动增加源数据里增加的组别?

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-4-11 08:42 | 显示全部楼层
天Э昕♂淡然 发表于 2019-3-29 15:43
这里需要注意一个问题,如果是PowerQuery返回的值加载到工作表的表格里面 ,那么排序什么的都是简单能够处 ...

示例文件如附件。请问版主应该如何处理才能让结果组别按照第一组/第二组/第三组/这样的顺序排列?以后源数据可能还会增加第四组,第五组...之类的

Practice.zip

14.19 KB, 下载次数: 6

示例文件

TA的精华主题

TA的得分主题

发表于 2019-4-17 16:38 | 显示全部楼层
本帖最后由 libo5563 于 2019-4-17 17:03 编辑

新建一个班组排名顺序表,就2列  班组列  顺序列 导入pivot
在原始数据查询表 和排名顺序表建立关系,  原始数据查询表添加一计算列改名为显示顺序列   =related('排名顺序表[顺序列】),这样原始数据表里每条记录都有一个顺序值了,   在回到原始数据表,点中班组列, 主页-排列顺序- 分别选 班组列 按照 显示顺序列 排序, 以后只要改变班组排名顺序表里的顺序列数值,你做的透视表等表格都会按此顺序排列   我已经做成功了     通过这个方法,可以动态的调整我们想要的显示顺序了

3333.rar

429.21 KB, 下载次数: 10

TA的精华主题

TA的得分主题

发表于 2019-4-17 21:50 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
请允许我追加一个这个问题:除了正向和逆向排序之外,有否可能按照自定义的顺序给列名排序?

TA的精华主题

TA的得分主题

发表于 2019-4-18 10:21 | 显示全部楼层
本帖最后由 libo5563 于 2019-4-18 10:26 编辑

直接在顺序表里修改 想要谁在第一顺序 就把后面的数字改为1 其他同理
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-8 03:13 , Processed in 0.046935 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表