Powerbi 功率BI |折线图类别数据百分比
我想在折线图中显示我的数据作为类别的百分比。在这个矩阵可视化中,我用“显示值为”>“列总数百分比”处理了用户的百分比数据 在这张图片中,你可以看到,我有用户的距离计数、调查名称和答案文本。我想在answertext行中通过SurveyName显示不同计数用户数据的百分比。所以我需要这样的折线图: 答案表:Powerbi 功率BI |折线图类别数据百分比,powerbi,powerbi-desktop,Powerbi,Powerbi Desktop,我想在折线图中显示我的数据作为类别的百分比。在这个矩阵可视化中,我用“显示值为”>“列总数百分比”处理了用户的百分比数据 在这张图片中,你可以看到,我有用户的距离计数、调查名称和答案文本。我想在answertext行中通过SurveyName显示不同计数用户数据的百分比。所以我需要这样的折线图: 答案表: ResponseID QuestionID QuestionText AnswerID AnswerText XYZ1 Q1 qtext1
ResponseID QuestionID QuestionText AnswerID AnswerText
XYZ1 Q1 qtext1 q1a1 q1a1text
XYZ1 Q2 qtext2 q2a1 q2a1text
XYZ1 Q3 qtext3 q3a1 q3a2text
XYZ2 Q1 qtext1 q1a2 q1a2text
XYZ2 Q3 qtext3 q3a1 q3a1text
XYZ3 Q1 qtext1 q1a1 q1a1text
XYZ3 Q2 qtext2 q2a2 q2a2text
XYZ3 Q3 qtext3 q3a2 q3a2text
XYZ4 Q1 qtext1 q1a1 q1a1text
XYZ4 Q2 qtext2 q2a1 q2a1text
XYZ4 Q3 qtext3 q3a2 q3a2text
XYZ5 Q1 qtext1 q1a3 q1a3text
XYZ5 Q2 qtext2 q2a1 q2a1text
XYZ6 Q2 qtext2 q2a3 q2a3text
XYZ6 Q3 qtext3 q3a1 q3a1text
XYZ7 Q1 qtext1 q1a2 q1a2text
XYZ7 Q3 qtext3 q3a2 q3a2text
XYZ8 Q1 qtext1 q1a1 q1a1text
XYZ8 Q2 qtext2 q2a2 q2a2text
XYZ8 Q3 qtext3 q3a1 q3a1text
答复表:
SurveyID SurveyName UserID ResponseID
SV_1234 survey1 ABC1 XYZ1
SV_1234 survey1 ABC4 XYZ2
SV_1234 survey1 ABC2 XYZ3
SV_1234 survey1 ABC3 XYZ4
SV_5678 survey2 ABC1 XYZ5
SV_5678 survey2 ABC4 XYZ6
SV_5678 survey2 ABC3 XYZ7
SV_9821 survey3 ABC1 XYZ8
关键问题是根据答案和调查结果分配参与多个调查的用户数量。因此,这里我需要找到参与选定调查的普通用户,然后根据选定调查中问题的答案给出这些用户的分布。首先,让您的两个表使用列ResponseID连接起来。现在,首先在自定义列下方创建此列-
SurveyName = RELATED(Responses[SurveyName])
现在创建一个度量值,如下所示-
percentage =
VAR current_survey_name = MIN(Answers[Surveyname])
VAR distict_resp_id_all_text =
CALCULATE(
DISTINCTCOUNT(Answers[ResponseID]),
ALLEXCEPT(
Answers,
Responses[SurveyName]
)
)
VAR distict_resp_id_per_text =
CALCULATE(
DISTINCTCOUNT(Answers[ResponseID]),
ALLEXCEPT(
Answers,
Answers[AnswerText],
Responses[SurveyName]
)
)
RETURN distict_resp_id_per_text/distict_resp_id_all_text
这是给定样本数据的最终折线图输出-
首先,我们需要计算用户ID,而不是响应ID 在这里,我们将首先选择多个投票,如您在下面所看到的,然后查找参与这些投票的普通用户的数量。稍后,我们将根据axis上的SurveyNames以百分比的形式给出这些普通用户的分布。当然,这里AnswerText中axis上每个SurveyName的用户ID百分比之和应该是100 为此,我首先组合了响应表和答案表。然后,我键入了一个如下的测量值,以查找参与选定调查的普通用户的数量。但是,当我将UserID编号添加到linechart时,它不会提供普通用户,它只提供参与相关调查的总UserID
Count of Cohort 7c =
VAR __tmpTable1 =
CALCULATETABLE(
GENERATE(
DISTINCT('Table (7)'[UserID]),
EXCEPT(
DISTINCT('Table (7)'[SurveyName]),
CALCULATETABLE(DISTINCT('Table (7)'[SurveyName]))
)
),
REMOVEFILTERS('Table (7)'[AnswerText])
)
VAR __tmpTable2 = SUMMARIZE(__tmpTable1,[UserID])
VAR __tmpTable3 = EXCEPT(DISTINCT('Table (7)'[UserID]),__tmpTable2)
VAR __CountMax = COUNTROWS(__tmpTable3)
VAR __Survey = SELECTCOLUMNS('Table (7b)',"__SurveyName",[SurveyName])
VAR __Question = SELECTCOLUMNS('Table (7a)',"__QuestionText",[QuestionText])
VAR __tmpTable4 = DISTINCT(SELECTCOLUMNS(FILTER('Table (7)',[SurveyName] IN __Survey && [QuestionText] IN __Question),"UserID",[UserID]))
VAR __CountMin = COUNTROWS(__tmpTable4)
VAR __tmpTable5 = FILTER(__tmpTable4,[UserID] IN __tmpTable3)
VAR __Count = COUNTROWS(__tmpTable5)
RETURN
SWITCH(TRUE(),
ISBLANK(COUNTROWS(__tmpTable4)),BLANK(),
__CountMin < __Count,__CountMin,
__Count > __CountMax,__CountMax,
__Count
)
队列7c的计数=
变量uu tmpTable1=
可计算(
产生(
独特的(‘表(7)’[UserID]),
除了(
独特(“表(7)”[调查名称],
可计算表(不同(‘表(7)’[SurveyName]))
)
),
移除过滤器(‘表(7)’[AnswerText])
)
VAR\uuuTMptable2=汇总(\uuuTMptable1,[UserID])
VAR_uutmptable3=除了(不同的('Table(7)'[UserID]),u tmpTable2)
VAR\uuuu CountMax=COUNTROWS(\uuuu tmpTable3)
VAR_uuusurvey=SELECTCOLUMNS('Table(7b)','uuuu SurveyName',[SurveyName])
VAR\uuuu Question=SELECTCOLUMNS('Table(7a)'、“\uuuu QuestionText”、[QuestionText])
VAR_uuutmptable4=DISTINCT(选择列(FILTER('Table(7)'),uuu调查中的[SurveyName]和_uuu问题中的[QuestionText],“UserID”,“UserID]))
VAR\uuuu CountMin=COUNTROWS(\uuuu tmpTable4)
VAR\uuuTMptable5=过滤器(\uuuTMptable4,[UserID]在\uuuuTMptable3中)
VAR\uuuu Count=COUNTROWS(\uuuu tmpTable5)
返回
开关(TRUE(),
ISBLANK(COUNTROWS(uu tmpTable4)),BLANK(),
__CountMin<\uuuuu Count,\uuuuu CountMin,
__计数>\uuuuCountMax,\uuuuCountMax,
__计数
)
如果您愿意,我可以发送我的power bi报告。您希望从这些表格中得到的最终表格是什么?我认为有一个措施可以解决我的问题。首先,它将找到参与我从回答表中选择的多个调查的普通用户的数量,然后它将显示这些普通用户参与所选调查的数量。我希望一切都清楚。有人能帮我吗?我已经打开了一个主题:power bi社区。但是没有人能解决这个问题。谢谢你的回答。你能看看我最后的答案吗?有人能帮我吗?实际上,它并没有那么复杂,我想在切片机上使用和运行。在为切片器上的和函数过滤userID之后,我想使用这个userID进行计数和分组。但我不知道我如何才能做到这一点,在权力bi。