在Power Query中,我想使用一个查询中的不同值列表(例如“Sales”表中的客户列表),将其注入另一个查询的SQL语句(例如“Customer”维度表)
要提取不同值的列表,我有一个函数,getDistinct():
此功能适用于独立查询。但是,当我尝试在我的“客户”查询中使用它时会抛出错误(请参阅下面的代码和错误):
let
Source = Oracle.Database("myServer", [Query="select * from db_customer where customer_id in (" & getDistinct(Sales,"CustomerID") & ")"])
in
Source
错误:
Formula.Firewall:查询'客户'(步骤'来源')参考 其他查询或步骤,因此它可能无法直接访问数据源。 请重建此数据组合。
我尝试创建一个执行该函数的不同查询,然后在我的“客户”查询中引用它,但这似乎不起作用。我知道我可以“忽略隐私级别”(顺便说一下,我已经检查过并且有效),但由于我不知道它的含义,我害怕泄露的数据。
答案 0 :(得分:3)
我不明白为什么函数或任何手写代码对于这个要求是必要的。
我会创建一个Query来获取Sales表,然后创建Group by CustomerID。我会将其设置为:加载到/仅创建连接。
然后,客户查询就是: