如何将参数化值传递给 Excel Power Query 中的 OData 提要
How to pass parameterized value to OData feed in Excel Power Query
我创建了一个需要过滤器的 OData 服务。
要从 Micorsoft 中的 OData Feed 选项访问此 OData 服务 Excel - Power Query。
OData URL -:
http://176.0.11.79:8000/sap/opu/odata/sap/Z_SALES_REPORT_TUBES_SRV/et_sales_report_tubesSet?$filter=
Spmon eq '20161101'
现在我需要将 Spmon '20161101' 的过滤器值作为参数传递。此值存在于同一 excel.
中的不同 sheet
如何更改查询以允许从 sheet 传递数据而不是每次都更改 URL。
Power Query 将为 OData 折叠筛选器,因此您可以使用自动筛选器或通过添加新步骤并通过公式栏添加以下公式来自行添加筛选器步骤:
= Table.SelectRows(PreviousStep, each [Spmon] = '20161101')
如果它来自您在查询 SheetQuery 中加载的另一个 sheet,它将看起来像:
= Table.SelectRows(PreviousStep, each [Spmon] = SheetQuery{row_index}[column_name])
您可能需要为 OData 源和工作设置隐私级别sheet,或者您需要通过“选项”对话框禁用隐私级别。
我找到了一种在 Power Query 中传递过滤器的替代方法(不是直接来自任何 sheet)
这是通过在查询中再添加一个源并将其用作 OData Feed 中的变量来实现的。
Spmon = "20161001" ,
Source = OData.Feed("http://176.0.11.79:8000/sap/opu/odata/sap/Z_SALES_REPORT_TUBES_SRV/
et_sales_report_tubesSet?$filter= Spmon eq '" & Spmon & "'")
这个变量(Spmon)可以直接在高级编辑器(Power Query)中直接编辑。
我创建了一个需要过滤器的 OData 服务。
要从 Micorsoft 中的 OData Feed 选项访问此 OData 服务 Excel - Power Query。
OData URL -:
http://176.0.11.79:8000/sap/opu/odata/sap/Z_SALES_REPORT_TUBES_SRV/et_sales_report_tubesSet?$filter= Spmon eq '20161101'
现在我需要将 Spmon '20161101' 的过滤器值作为参数传递。此值存在于同一 excel.
中的不同 sheet如何更改查询以允许从 sheet 传递数据而不是每次都更改 URL。
Power Query 将为 OData 折叠筛选器,因此您可以使用自动筛选器或通过添加新步骤并通过公式栏添加以下公式来自行添加筛选器步骤:
= Table.SelectRows(PreviousStep, each [Spmon] = '20161101')
如果它来自您在查询 SheetQuery 中加载的另一个 sheet,它将看起来像:
= Table.SelectRows(PreviousStep, each [Spmon] = SheetQuery{row_index}[column_name])
您可能需要为 OData 源和工作设置隐私级别sheet,或者您需要通过“选项”对话框禁用隐私级别。
我找到了一种在 Power Query 中传递过滤器的替代方法(不是直接来自任何 sheet)
这是通过在查询中再添加一个源并将其用作 OData Feed 中的变量来实现的。
Spmon = "20161001" ,
Source = OData.Feed("http://176.0.11.79:8000/sap/opu/odata/sap/Z_SALES_REPORT_TUBES_SRV/
et_sales_report_tubesSet?$filter= Spmon eq '" & Spmon & "'")
这个变量(Spmon)可以直接在高级编辑器(Power Query)中直接编辑。