我正在开发一种工具来帮助我的团队识别某些数据文件中的更改。长话短说,我设法将一些东西放在一起(即使是powerquery和M的初学者)效果很好,但缺乏用户友好性。
问题是并非所有团队成员都需要该工具来检查所有列中的差异(不同的人,不同的兴趣)。为了管理这个,我在执行比较之前使用以下内容删除了所有不需要的列:
= Table.RemoveColumns(myTable,{" col1"," col2"," col3" ...等
这样可行,但如果您想更改配置,则需要进入代码并修改列表。
我的问题如下:有没有办法将动态列表集成到此代码中?即在易于使用的表格中列出列表,"勾选/取消勾选"你想要的那些,并让代码删除其余的?
如果您需要更多信息,请访问:)
感谢所提供的任何帮助
答案 0 :(得分:0)
最简单的方法可能是在查询编辑器的“主页”选项卡上使用“选择列”,然后将生成的步骤重命名为: #“在这里选择栏目----->” = Table.SelectColumns(Source,{“Column1”,“Column2”,“Column3”,“Column5”,“Column7”,“Column8”,“Column9”,“Column10”})
然后,当您想要调整所选列时,您可以按下箭头所指向的小轮,然后会出现一个弹出窗口,您可以从中进行(联合)滴答。
或者,如果您使用具有相同选择的多个查询,则可以创建一个输出列表的其他查询,例如:
let Source = Table.FromList(List.Transform({1..10}, each "Column" & Text.From(_)),null,{"Available Columns"}), Transposed = Table.Transpose(Source), #"CHOOSE COLUMNS HERE ----->" = Table.SelectColumns(Transposed,{"Column2", "Column3", "Column5", "Column6", "Column8", "Column9", "Column10"}), TransposedBack = Table.Transpose(#"CHOOSE COLUMNS HERE ----->"), ConvertedToList = TransposedBack[Column1] in ConvertedToList
然后在查询中使用该列表,例如: = Table.SelectColumns(#“Transposed Table”,SelectedColumns) 其中SelectedColumns是具有所选列的查询的名称。
答案 1 :(得分:0)
如果您的目的是允许用户在不输入查询编辑器的情况下选择列,那么您可以使用如下所述的参数表:http://www.excelguru.ca/blog/2014/11/26/building-a-parameter-table-for-power-query/。您应该能够使用一些预定义的列名称/数字向用户公开2colxNrow表。您可以使用数据验证将用户输入约束为二进制开/关行为(https://support.office.com/en-us/article/Apply-data-validation-to-cells-29fecbcc-d1b9-42c1-9d76-eff3ce5f7249)。
(P.S。根据您对目标的描述,查询加载项可能会提供您正在寻找的功能)