2016-04-15 82 views

回答

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";