Power BI中Oracle DirectQuery启用Query Folding报错:参数数量不符
问题解决:Oracle.Database参数错误及Query Folding启用
错误原因
你遇到的Expression.Error: 4 arguments were passed to a function which expects between 1 and 2错误,核心原因是Oracle.Database函数仅接受1-2个参数:第一个是数据库连接标识,第二个是可选的配置记录。你当前代码额外传递了null和单独的[EnableFolding=true],导致参数数量超标。
修正后的M代码
把所有配置项(包括EnableFolding)合并到同一个选项记录中,移除多余的null参数:
Bron = Oracle.Database( "CSPROD", [ HierarchicalNavigation=true, Query="SELECT #(lf)vs.afdeling||' '||vs.klantnr as ""CONCAT AfdKlantnr"", #(lf)decode (vs.maand, 1,'JAN',2,'FEB',3,'MRT',4,'APR',5,'MEI',6,'JUN',7,'JUL',8,'AUG',9,'SEP',10,'OKT',11,'NOV',12,'DEC') as ""Maand Oms"", #(lf)vs.* #(lf)FROM #(lf)TVKSTAT vs #(lf)WHERE #(lf)vs.jaar>to_number(to_char(sysdate,'YYYY')-15) #(lf)ORDER BY #(lf)vs.jaar desc, #(lf)vs.maand, #(lf)vs.klantnr, #(lf)vs.artikel, #(lf)vs.afdeling", EnableFolding=true ] ) in Bron
关键说明
EnableFolding是Oracle.Database选项记录的合法属性,无需单独作为参数传递;- 移除多余的
null参数,确保函数参数数量符合要求; - 修正后代码可正常启用Query Folding,配合DirectQuery模式优化切片器切换时的矩阵加载速度。
内容的提问来源于stack exchange,提问作者Jarny K
相关产品推荐
相关产品推荐

