我在Power BI中使用Power查询,我有两个表,在它们上进行了内部联接并在联接表中扩展了一列。
let
Source = Table.NestedJoin(Sales,{"CustomerId"},Customer,{"Id"},"Customer",JoinKind.Inner),
#"Expanded Customer" = Table.ExpandTableColumn(Source, "Customer", {"Country"}, {"Customer.Country"})
in
#"Expanded Customer"
这将显示“销售”表中的所有列以及“客户”表中的“国家/地区”列。
我想做的是显示销售和国家/地区中的销售ID列 客户”列。
我尝试了以下代码,但似乎不起作用。
Table.SelectColumns(Source, "Customer.Country", "SaleId" )
我只能使用Power查询来执行此操作,而不能使用DAX语法。
感谢您的帮助。
答案 0 :(得分:1)
您是否要从头开始编写代码?是否反对使用功能区命令来实现所需的功能?
您的代码无法使用,因为Source
项没有Customer.Country
列。只会在下一步中添加。
使用功能区可以帮助您确定语法:
作为查询编辑器中的最后一步,选择不需要的列并将其删除。在Power Query中,很多事情是连续进行的,而不是一个复杂的公式。这可能会使代码更长一些,但是更易于遵循和排除故障。
答案 1 :(得分:1)
就像teylyn所说的那样,您应该可以通过GUI轻松地做到这一点。
不起作用的原因是,您指的是Customer.Country
列尚未扩展的第一步。您需要改为引用#"Expanded Customer"
步骤。
Table.SelectColumns(#"Expanded Customer", "Customer.Country", "SaleId")
然后您的整个代码将如下所示:
let
Source = Table.NestedJoin(Sales,{"CustomerId"},Customer,{"Id"},"Customer",JoinKind.Inner),
#"Expanded Customer" = Table.ExpandTableColumn(Source, "Customer", {"Country"}, {"Customer.Country"}),
#"Select Columns" = Table.SelectColumns(#"Expanded Customer", "Customer.Country", "SaleId" )
in
#"Select Columns"