包含相同值但以无组织顺序连接到行的多个列的一个计数 DAX
One count DAX for multiple columns that contains same values but in unorganised order, connected to rows
希望我能让自己明白,我们正在研究 NPS(客户满意度从 1 到 10(1 悲伤和 10 快乐))。我们使用 Quicksearch 并将原始数据导出到 PowerBI。
每位回答的客户最多可以选择 14 个他们 satisfied/not 满意的东西。我将其命名为 A、B、C、D、E、F、G、H、I、J、K、L、M、N,但在我们的报告中,所有不同的字母都是句子,因此:A =“预订程序” B = “我们的价格” C = “我们的网站”等等。
我的目标是记录每个字母(句子)被提及(计数)的次数,然后我可以过滤掉 satisfied/not 满足不同的图表。
示例可能如下所示:
NPS
Why satisfied/not satisfied
6
A, B, C
5
C, D, A, J
1
B, C, A,
7
N, A, K, J
10
H, I, N, A, B
4
K
3
A, B, C, D, E, F, K, L
6
K, L, D, E, A, B
我用逗号分隔所有字母,所以现在是“为什么 satisfied/not 满意”最多 #6(六列)。
NPS
Why satisfied/not satisfied 1
Why satisfied/not satisfied 2
Why satisfied/not satisfied 3
6
A
B
C
5
C
D
A
1
B
C
A
7
N
A
K
E.t.c.
如果我尝试将所有字母分开并放在同一列中,我将失去根据客户选择的 NPS (1-10) 过滤掉的可能性。因为如果他们在 NPS 中回答 10 并说“我们的价格”,他们就会满意,反之亦然。
每一行(每个答案)都超过 30 个单元格,所以我不能丢失这些数据,这就是为什么我需要 count/merge 这些“为什么满意...”列以便我可以将其可视化例如条形图。
提前致谢
您可以使用以下 DAX 公式创建一个 Calculated Column
,而无需拆分列
DAX:计算列
Count Responses =
PATHLENGTH(
SUBSTITUTE([Why satisfied/not satisfied],",","|")
)
输出
编辑
我创建了一个 table 包含所有字母表中的字母和这个 DAX 代码
Letters =
ADDCOLUMNS ( GENERATESERIES ( 1, 26, 1 ), "Letter", UNICHAR ( [Value] + 64 ) )
它创建了这个 table
创建 table 后,我创建以下度量
DAX 指标
CountLetters =
VAR SelectedLetter =
SELECTEDVALUE ( Letters[Letter] )
VAR t1 =
ADDCOLUMNS (
'Table',
"LetterBoolean", CONTAINSSTRING ( [Why satisfied/not satisfied], SelectedLetter )
)
RETURN
COUNTROWS ( FILTER ( T1, [LetterBoolean] = TRUE ) )
输出
使用 Letters
table 和 CountLetters
中的 Letter
列测量输出为:
希望我能让自己明白,我们正在研究 NPS(客户满意度从 1 到 10(1 悲伤和 10 快乐))。我们使用 Quicksearch 并将原始数据导出到 PowerBI。
每位回答的客户最多可以选择 14 个他们 satisfied/not 满意的东西。我将其命名为 A、B、C、D、E、F、G、H、I、J、K、L、M、N,但在我们的报告中,所有不同的字母都是句子,因此:A =“预订程序” B = “我们的价格” C = “我们的网站”等等。
我的目标是记录每个字母(句子)被提及(计数)的次数,然后我可以过滤掉 satisfied/not 满足不同的图表。
示例可能如下所示:
NPS | Why satisfied/not satisfied |
---|---|
6 | A, B, C |
5 | C, D, A, J |
1 | B, C, A, |
7 | N, A, K, J |
10 | H, I, N, A, B |
4 | K |
3 | A, B, C, D, E, F, K, L |
6 | K, L, D, E, A, B |
我用逗号分隔所有字母,所以现在是“为什么 satisfied/not 满意”最多 #6(六列)。
NPS | Why satisfied/not satisfied 1 | Why satisfied/not satisfied 2 | Why satisfied/not satisfied 3 |
---|---|---|---|
6 | A | B | C |
5 | C | D | A |
1 | B | C | A |
7 | N | A | K |
E.t.c.
如果我尝试将所有字母分开并放在同一列中,我将失去根据客户选择的 NPS (1-10) 过滤掉的可能性。因为如果他们在 NPS 中回答 10 并说“我们的价格”,他们就会满意,反之亦然。
每一行(每个答案)都超过 30 个单元格,所以我不能丢失这些数据,这就是为什么我需要 count/merge 这些“为什么满意...”列以便我可以将其可视化例如条形图。
提前致谢
您可以使用以下 DAX 公式创建一个 Calculated Column
,而无需拆分列
DAX:计算列
Count Responses =
PATHLENGTH(
SUBSTITUTE([Why satisfied/not satisfied],",","|")
)
输出
编辑
我创建了一个 table 包含所有字母表中的字母和这个 DAX 代码
Letters =
ADDCOLUMNS ( GENERATESERIES ( 1, 26, 1 ), "Letter", UNICHAR ( [Value] + 64 ) )
它创建了这个 table
创建 table 后,我创建以下度量
DAX 指标
CountLetters =
VAR SelectedLetter =
SELECTEDVALUE ( Letters[Letter] )
VAR t1 =
ADDCOLUMNS (
'Table',
"LetterBoolean", CONTAINSSTRING ( [Why satisfied/not satisfied], SelectedLetter )
)
RETURN
COUNTROWS ( FILTER ( T1, [LetterBoolean] = TRUE ) )
输出
使用 Letters
table 和 CountLetters
中的 Letter
列测量输出为: