如何重建数据组合 Power Query

How to rebuild data combination Power Query

在 Power Query 中,我想使用来自一个查询的不同值列表(例如 "Sales" table 上的客户列表),将其注入 SQL另一个查询的语句(例如 "Customer" 维度 table)。

为了拉取不同值的列表,我有一个函数 getDistinct() :

  1. 从查询选择中检索一列,
  2. 仅保留该列中存在的不同值,并且
  3. Return 这些不同的值用逗号分隔,因此可以将它们注入到 SQL 语句中。

此函数在独立查询中运行良好。但是,当我尝试在我的 "Customer" 查询中使用它时,它会抛出错误(请参阅下面的代码和错误):

let
    Source = Oracle.Database("myServer", [Query="select * from db_customer where customer_id in (" & getDistinct(Sales,"CustomerID") & ")"])
in
    Source

错误:

Formula.Firewall: Query 'Customer' (step 'Source') references other queries or steps, so it may not directly access a data source. Please rebuild this data combination.

我尝试创建一个不同的查询来执行该函数,然后在我的 "Customer" 查询中引用它,但这似乎不起作用。我知道我可以 "Ignore Privacy Levels"(顺便说一句,我已经检查过并且有效),但由于我不知道它的含义,我担心数据泄露。

我不明白为什么这个要求需要函数或任何手写代码。

我会创建一个查询来获取销售额 table,然后按 CustomerID 分组。我会将其设置为:加载到/仅创建连接。

那么客户查询就是:

  1. 来源是 Oracle 客户 table
  2. 合并到 CustomerID 上的销售查询,Join Kind = Inner