Powerbi Power BI中的M(Power查询),将参数从列表传递到SQL语句

Powerbi Power BI中的M(Power查询),将参数从列表传递到SQL语句,powerbi,powerquery,m,Powerbi,Powerquery,M,我有一个Oracle数据库,其中包含1000个项目和数百万条详细记录。我一次只需要查询大约6个项目。我试图编写一个M表达式,将一个表中的5或6个项目(称为“项目”)作为Where子句传递给我的查询。查询看起来不错,SQL语法完美,但有错误。我正在使用一个函数…fngeprojects见下文 () => let Source = "'" & Text.Combine(Projects, "', '") & "'&qu

我有一个Oracle数据库,其中包含1000个项目和数百万条详细记录。我一次只需要查询大约6个项目。我试图编写一个M表达式,将一个表中的5或6个项目(称为“项目”)作为Where子句传递给我的查询。查询看起来不错,SQL语法完美,但有错误。我正在使用一个函数…fngeprojects见下文

() =>
let
    Source = "'" & Text.Combine(Projects,  "', '") & "'"
in
    Source
这是我的问题

let
    WhereClause = fnGetProjects(),
    Source = Oracle.Database("gtmb", [HierarchicalNavigation=true, Query="SELECT  p.Proj_ID, p.Proj_Description, p.Proj_Name FROM Project_YTD p where p.Proj_ID IN ("& WhereClause &")"])
in
    Source 
这是我的错误信息

公式.防火墙:查询“MyProjects(2)”(步骤“Source”)引用 其他查询或步骤,因此它可能无法直接访问数据源。 请重新生成此数据组合

我怀疑这和优先权有关。。。但我认为我读函数是一种变通方法。我尝试了使用表格和参数,以及各种形式,但没有运气。查询所有项目会让最终用户等待太久

谢谢你的帮助

谢谢


Mike进入文件,并进入“选项和设置”中的文件

在那里,进入“数据源设置”

单击“编辑权限”

在编辑权限中,选择“无”作为隐私级别


然后应该可以用了。

谢谢,试过了,但还是没用。同样的错误。对我来说,函数似乎需要先运行,但它可能同时运行?不确定。。。我一直在努力解决这个问题。很抱歉你能提供更多的代码元素吗?您可以看看“本机查询”吗?您是否尝试过在where子句步骤中仅使用
“'”和Text.Combine(Projects,“,”)&“
?i、 e.
WhereClause=“””&Text.Combine(项目“,”)&“”