我在电子表格中有一个名为“ _Vendor_List”的表,并用它来过滤该电子表格中用于分析的查询。
类似地,我想基于此同一表在Power BI中过滤相同的查询。这在excel中有效,但是我不确定在Power BI中查询的语法是否/如何变化。
我的Excel Power Query Code是:
let
Source = Sql.Database("MyDatabase", "MY_DATA"),
ExcelTable = Excel.CurrentWorkbook(){[Name="_Vendor_List"]}[Content],
#"PerformanceTable" = Source{[Schema="dbo",Item="PerformanceTable"]}[Data],
Filter = Table.SelectRows(#"PerformanceTable", each List.Contains(ExcelTable[VENDOR], [VENDOR_CODE]))
in
Filter
现在,我不确定CurrentWorkbook
是否可以在Power Bi中使用,所以我的问题是如何修改它以现在使用相同的表在Power BI中过滤相同的查询(也将导入该表) )。
答案 0 :(得分:0)
好吧,我想出了要使此过滤器工作所需的语法。我无法使用CurrentWorkbook
,因为Power BI报表不是工作簿。但是,只要您引用位置,就可以引用Excel.Workbook
。
我要改进的地方是参考工作簿,而不是从位置或驱动器上(可能会发生变化),而是在Power BI报表中进行参考。
let
Source = Sql.Database("MyDatabase", "MY_DATA"),
#"PerformanceTable" = Source{[Schema="dbo",Item="PerformanceTable"]}[Data],
#"Changed Type" = Table.TransformColumnTypes(#"PerformanceTable",{{"VENDOR_CODE", Int64.Type}}),
Excel1 = Excel.Workbook(File.Contents("C:\Users\myaccount\OneDrive\Power BI\Vendor List.xlsx"), null, true),
_Vendor_List_Table = Excel1{[Item="_Vendor_List",Kind="Table"]}[Data],
ExcelChange = Table.TransformColumnTypes(_Vendor_List_Table,{{"Vendor", Int64.Type}, {"Name", type text}, {"Group", type text}}),
Filter = Table.SelectRows(#"Changed Type", each List.Contains(ExcelChange[Vendor], [VENDOR_CODE]))
In
Filter