Power BI |类别数据的折线图百分比

如何解决Power BI |类别数据的折线图百分比

我想以折线图的形式显示我的数据,以该类别的百分比表示。在此母机视图中,我已经使用“显示值为”>“列总计的百分比”处理了用户的百分比数据。

wrong visulation

在此图像中您可以看到,我有用户的盘点数量,调查名称和答案文本。我想在Answertext行中显示SurveyName所产生的不同计数用户数据的表象。所以我需要这样的折线图:

true visulation

答案表:

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]),Answers[AnswerText],Responses[SurveyName]
    )
)

RETURN distict_resp_id_per_text/distict_resp_id_all_text

这是给定样本数据的折线图中的最终输出-

enter image description here

,

首先,我们需要计算UserID,而不是responseID。

在这里,我们将首先选择多个调查,如下所示,然后找到参与这些调查的普通用户数量。稍后,我们将根据轴上的SurveyNames给出这些普通用户的分布百分比。当然,这里在轴上每个SurveyName的AnswerText中,UserID百分比的总和应为100。

enter image description here

为此,我首先组合了响应表和答案表。然后,我输入了一个如下的度量值,以找到参与所选调查的普通用户数量。但是,当我将UserID编号添加到折线图时,它不会提供普通用户,而只会提供参与相关调查的总UserID。

//function to simulate the left join
function left_join_array($left,$right,$left_join_on,$right_join_on = NULL)
{
  $final = array();

  if (empty($right_join_on))
    $right_join_on = $left_join_on;

  foreach ($left as $k => $v) {
    $final[$k] = $v;
    foreach ($right as $kk => $vv) {
      if ($v[$left_join_on] == $vv[$right_join_on]) {
        foreach ($vv as $key => $val)
          $final[$k]['_' . $key] = $val; /* add prefix on the key */
        break; /* add break here */
      } else {
        foreach ($vv as $key => $val)
          $final[$k]['_' . $key] = NULL; /* add prefix on the key */
      }
    }
  }
  return $final;
}

enter image description here

如果您愿意,我可以发送我的电源报告。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams['font.sans-serif'] = ['SimHei'] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -> systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping("/hires") public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate<String
使用vite构建项目报错 C:\Users\ychen\work>npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-
参考1 参考2 解决方案 # 点击安装源 协议选择 http:// 路径填写 mirrors.aliyun.com/centos/8.3.2011/BaseOS/x86_64/os URL类型 软件库URL 其他路径 # 版本 7 mirrors.aliyun.com/centos/7/os/x86
报错1 [root@slave1 data_mocker]# kafka-console-consumer.sh --bootstrap-server slave1:9092 --topic topic_db [2023-12-19 18:31:12,770] WARN [Consumer clie
错误1 # 重写数据 hive (edu)> insert overwrite table dwd_trade_cart_add_inc > select data.id, > data.user_id, > data.course_id, > date_format(
错误1 hive (edu)> insert into huanhuan values(1,'haoge'); Query ID = root_20240110071417_fe1517ad-3607-41f4-bdcf-d00b98ac443e Total jobs = 1
报错1:执行到如下就不执行了,没有显示Successfully registered new MBean. [root@slave1 bin]# /usr/local/software/flume-1.9.0/bin/flume-ng agent -n a1 -c /usr/local/softwa
虚拟及没有启动任何服务器查看jps会显示jps,如果没有显示任何东西 [root@slave2 ~]# jps 9647 Jps 解决方案 # 进入/tmp查看 [root@slave1 dfs]# cd /tmp [root@slave1 tmp]# ll 总用量 48 drwxr-xr-x. 2
报错1 hive> show databases; OK Failed with exception java.io.IOException:java.lang.RuntimeException: Error in configuring object Time taken: 0.474 se
报错1 [root@localhost ~]# vim -bash: vim: 未找到命令 安装vim yum -y install vim* # 查看是否安装成功 [root@hadoop01 hadoop]# rpm -qa |grep vim vim-X11-7.4.629-8.el7_9.x
修改hadoop配置 vi /usr/local/software/hadoop-2.9.2/etc/hadoop/yarn-site.xml # 添加如下 <configuration> <property> <name>yarn.nodemanager.res