迭代 powerquery 创建新表

问题描述 投票:0回答:1

我在 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

这是循环的正确方法吗?

excel powerquery m
1个回答
0
投票

您可以尝试以下方法:

  1. Reference
    您的原始查询 - 这将创建一个新查询。将其重命名为合理的名称
  2. 使用
    Transform
    Group By
    并选择您的列,例如客户。如果您想按更多列进行分组,请单击
    Advanced
    单选按钮
  3. 使用
    Home
    Merge Queries
    加入回原始查询
  4. 展开结果
    Table
    列,选择您需要的列

希望这足以向您展示如何找回“丢失”的列

学习材料 - 我基本上什么都用谷歌搜索 - 我经常会在 YouTube 上结束,这不是我喜欢的媒体,但我发现 Microsoft Learn 中的东西只有在我知道自己在做什么时才有用 - 即很好的参考,但并非如此作为教程很好

© www.soinside.com 2019 - 2024. All rights reserved.