如何使用第一列中的给定字符串匹配条件在 power bi 中创建新列并从另一列获取值,创建新列?
How to create new column in power bi using given string match condition in first column and get value from another column, make new column?
我的table如下
Col1 Col2
11_A 9
12_B 8
13_C 7
14_A 6
15_A 4
查询后我们需要的table
Col1 Col2 Col3
11_A 0 9
12_B 8 0
13_C 7 0
14_A 0 6
15_A 0 4
我的查询是
Col3 =
LEFT( 'Table'[Col2],
SEARCH("A", 'Table'[Col1], 0,
LEN('Table'[Col1])
)
)
转到查询设计器 Add Column > Custom Column
并使用以下表达式:
更新
为此您需要两个表达式(两个新列):
一个是:
'Your Column3
=if Text.Contains([Col1], "A") = true then [Col2] else 0
第二个:
'Your Column2
=if Text.Contains([Col1], "A") = false then [Col2] else 0
有很多方法可以解决这个问题,
我喜欢使用无编码的另一种简单方法是使用条件列:
- 在 PBI 中 select Power Query 编辑器
- Select你的table在屏幕的边缘
- Select 添加列选项卡
- Select 条件列...
- 为您的专栏命名
- 如图所示输入您的情况
- 您可以根据需要添加多个条件
- 如果需要,请不要忘记将您的列格式化为数字。
见图
Adding columns using Conditional Column
我的table如下
Col1 Col2
11_A 9
12_B 8
13_C 7
14_A 6
15_A 4
查询后我们需要的table
Col1 Col2 Col3
11_A 0 9
12_B 8 0
13_C 7 0
14_A 0 6
15_A 0 4
我的查询是
Col3 =
LEFT( 'Table'[Col2],
SEARCH("A", 'Table'[Col1], 0,
LEN('Table'[Col1])
)
)
转到查询设计器 Add Column > Custom Column
并使用以下表达式:
更新
为此您需要两个表达式(两个新列):
一个是:
'Your Column3
=if Text.Contains([Col1], "A") = true then [Col2] else 0
第二个:
'Your Column2
=if Text.Contains([Col1], "A") = false then [Col2] else 0
有很多方法可以解决这个问题, 我喜欢使用无编码的另一种简单方法是使用条件列:
- 在 PBI 中 select Power Query 编辑器
- Select你的table在屏幕的边缘
- Select 添加列选项卡
- Select 条件列...
- 为您的专栏命名
- 如图所示输入您的情况
- 您可以根据需要添加多个条件
- 如果需要,请不要忘记将您的列格式化为数字。
见图
Adding columns using Conditional Column