大家好。谁能帮我解决这个 Power 查询问题

Hi everyone. Could anyone help me with this Power query problem

我有一个 table,如下所示,其中类别列可以有多个类别,每个类别都有自己的比例,显示在值列中。我想创建一个新列,将项目列不等于 'scale' 的所有值乘以与其类别匹配的相应比例值。 在下面的示例中:如果 Category = A,则将值乘以 10

我已经坚持了一段时间,非常感谢任何帮助。

注意 - 有数百个类别,每个类别可能有不同的值。在实际数据中,类别是一个日期,对于每个日期,都有一个相应的比例值,与该日期匹配的其余数据需要乘以该比例值。

原版Table

Item Category Value
Scale A 10
Scale B 5
Scale C 2
Apples A 100
Fruit B 10
Car C 15
Pear A 20
Lemon B 5

添加了新专栏

Item Category Value Calc_Val
Scale A 10 null
Scale B 5 null
Scale C 2 null
Apples A 100 1000
Fruit B 10 50
Car C 15 30
Pear A 20 200
Lemon B 5 25

查找 table 每个类别和匹配的乘数,然后使用以下公式:

=C2*INDEX(H:H,MATCH(A2,G:G,0))

假设您的第一个 table 被命名为 Table1,创建一个新的 table,Table2,通过

let
    Source = Table1,
    #"Filtered Rows" = Table.SelectRows(Source, each ([Item] = "Scale"))
in
    #"Filtered Rows"

然后创建第三个 table,通过

let
  Source = Table.NestedJoin(
    Table1, 
    {"Category"}, 
    Table2, 
    {"Category"}, 
    "Table2", 
    JoinKind.LeftOuter
  ), 
  #"Expanded Table2" = Table.ExpandTableColumn(Source, "Table2", {"Value"}, {"Table2.Value"}), 
  #"Added Custom" = Table.AddColumn(
    #"Expanded Table2", 
    "Custom", 
    each if [Item] = "Scale" then null else [Value] * [Table2.Value]
  )
in
  #"Added Custom"