我在 powerquery 中有一些 Excel 数据。 我想 a) 最好在源处过滤数据(将查询限制为例如 client =“xyz”)(以避免网络流量等,尽管源是访问权限,因此可能不会委托操作。
b) 创建列的小计,例如按客户、项目、用户。
c)如果上述不允许我做我想做的事,我如何根据我对强力查询的操作创建一个新表。
因此运行由客户端过滤的powerquery。 手动写出行,让我可以完全控制格式/条件/小计。
我有编程背景,但对M不熟悉。 我有数据,希望对其进行小计,并将小计放在顶部。 我的大部分小计努力最终都丢失了数据中的额外列。
否则,我会通过循环遍历 VBA 中 powerquery 中的每一行,手动写入新的工作表/表来实现此目的,但我认为这可能不是理想的解决方案。
我也很看重 M. 书籍/在线上的良好学习资源。
我可能可以找到一种方法,但想知道我“应该”怎么做。 我已成功添加/替换 powerquery 中的列,但现在需要对其执行其他操作。
如果我可以编写代码为 1 个客户端执行此操作,那么我可以通过迭代客户端来扩展以生成每个工作表。 谢谢。
编辑:聊天gpt建议:
Dim query As Object
Dim row As Range
'Set the query object to the dynamic query
Set query = PowerQuery.CurrentQuery
'Loop through each row in the query
For Each row In query.Result.DataBodyRange.Rows
'Your code here
Next row
这是循环的正确方法吗?
您可以尝试以下方法:
Reference
您的原始查询 - 这将创建一个新查询。将其重命名为合理的名称Transform
、Group By
并选择您的列,例如客户。如果您想按更多列进行分组,请单击 Advanced
单选按钮Home
、Merge Queries
加入回原始查询Table
列,选择您需要的列希望这足以向您展示如何找回“丢失”的列
学习材料 - 我基本上什么都用谷歌搜索 - 我经常会在 YouTube 上结束,这不是我喜欢的媒体,但我发现 Microsoft Learn 中的东西只有在我知道自己在做什么时才有用 - 即很好的参考,但并非如此作为教程很好