如何在查询列值上触发一个sql例程并将结果合并到powerquery中

我正在与办公室2016 excel和连接到Oracle分贝

我正在创build一个用于获取订单的文件,零件编号,他们想要的交货date,实际交货date,平均交付时间,平均消耗量以及最终的当前库存水平。

我创build了一个sql来获取订单,date和交货时间。 但是,在数据库中,当前的库存水平是通过input零件号和位置的程序得到的(对于总库存水平可以是“%”)。 现在,我可以build立一个查询,其中包含所有的订单,所有的零件号码,并为每个零件号码运行程序,然后build立我的powerquery,但这似乎是一个可怕的浪费处理能力。

问题是:在过滤了初始源结果之后,是否有方法通过调用过程追加或合并到powerquery中? 因此,只运行过去一个月订单的过程,或者仅仅过滤零件编号?

我已经尝试寻找通常的地方,support.office,谷歌和这里,但我的问题是我(绝大多数)只得到如何追加或合并查询结果(这是微不足道的,基本上是一个不需要的情况下的版本)

了Stian,

  1. 如果您的过程不是存储过程,而是一个函数,那么您可以为此函数创build单独的查询,然后将新列添加到过滤的表中。 此列正通过使用另一列中的参数执行此函数来获取其值。
  2. 另一种方法是创build一个包含所有列的视图,包括由过程生成的视图。 然后你在PowerQuery中查询这个视图,并将你的filter应用到结果。 这应该触发查询折叠 ,它将您的filter传递到服务器,所以它优化查询并且不会获取不需要的行。 据我所知,原生查询(当你直接白色SQL查询执行)不受查询折叠。 而且,它们相当不安全,通常是一个特别的解决scheme。 记住这一点。

如果您想了解更多信息,请参阅Google的“查询折叠查询”。

不过,对于最优化的场景,我会考虑使用函数而不是过程(当然,如果这是可能的话),以及如果使用视图来获取所需的数据。