Ich denke nicht, dass die Mathematik von (A) und (B) mit (C) übereinstimmt. Wenn ich 2 britische Pfund habe, sollte das bei 3 USD liegen, nicht bei 30 Cent.
Was Sie Zeilen zwischen zwei Tabellen kombinieren möchten, wird im Allgemeinen als linker Join bezeichnet. Sie können auf die Schaltfläche Zusammenführen klicken, um die Zeilen zu kombinieren. Sie möchten eine Verknüpfung von (A) erstellen und (B) hinzufügen. Sobald Sie das haben, können Sie die Spalten hinzufügen mit Dividieren und Multiplizieren verwenden, um den Wechselkurs zu berechnen und anzuwenden.
würde Die fertige Lösung so etwas wie die letzte Abfrage aussehen:
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";