答案 0 :(得分:0)
我不认为(A)和(B)的数学与(C)对齐。如果我有2英镑,那应该接近3美元,而不是30美分。
您希望在两个表之间组合行的内容通常称为左连接。您可以单击“合并”按钮以组合行。您想从(A)进行连接并向其添加(B)。完成后,您可以使用加分列和除数乘以计算货币汇率并应用它。
完成的解决方案看起来像最终查询:
section Section1;
shared LocalCurrencyTransactions = let
Source = Csv.Document("Country,LocalCurrencyAmounts
US,1
UK,2.13
JAPAN,328.08
INDIA,66.56
US,2
UK,0.71
JAPAN,109.36
INDIA,133.12"),
#"Promoted Headers" = Table.PromoteHeaders(Source),
#"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"Country", type text}, {"LocalCurrencyAmounts", type number}})
in
#"Changed Type";
shared #"FX Rates" = let
Source = Csv.Document("Country,LocalCurrency,USD
US,1,$1.00
UK,0.71,$1.00
JAPAN,109.36,$1.00
INDIA,66.56,$1.00"),
#"Promoted Headers" = Table.PromoteHeaders(Source),
#"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"Country", type text}, {"LocalCurrency", type number}, {"USD", Int64.Type}})
in
#"Changed Type";
shared CurrencyAdjustedToUSD = let
Source = LocalCurrencyTransactions,
#"Merged Queries" = Table.NestedJoin(Source,{"Country"},#"FX Rates",{"Country"},"NewColumn",JoinKind.LeftOuter),
#"Expanded NewColumn" = Table.ExpandTableColumn(#"Merged Queries", "NewColumn", {"LocalCurrency", "USD"}, {"NewColumn.LocalCurrency", "NewColumn.USD"}),
#"Inserted Division" = Table.AddColumn(#"Expanded NewColumn", "NewColumn.ConversionRate", each [NewColumn.USD] / [NewColumn.LocalCurrency], type number),
#"Inserted Multiplication" = Table.AddColumn(#"Inserted Division", "USD", each List.Product({[LocalCurrencyAmounts], [NewColumn.ConversionRate]}), type number),
#"Removed Columns" = Table.RemoveColumns(#"Inserted Multiplication",{"NewColumn.LocalCurrency", "NewColumn.USD", "NewColumn.ConversionRate"})
in
#"Removed Columns";