大家好。谁能帮我解决这个 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"
我有一个 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"