Power BI 矩阵值实现不同数据类型(包含百分比类型)

Power BI 矩阵值实现不同数据类型

你是否也面临这样的领导,在一个矩阵里,要求你某一列设置为整数(或其他),其他列设置为百分比(或其他),或许其他类型的设置使用条件函数就能满足,但一旦加入了百分比的展示,实现起来就没那么easy了。接下来就以一列整数一列百分比为例,谈谈如何实现这样的矩阵。

**首先展示下目标效果

日期新用户数留存率
2023-01-0120015%
2023-01-0216012.5%

一、原始数据

矩阵只能是两个维度加一个度量,两个维度:一Rows(行)一Columns(列),一个度量:Values(值),因此准备三列数据,两列维度,一列度量。以用户日留存为例:Rows为用户产生的日期,Columns为固定值维度,即’ 新用户数’和’留存’(第二天是否留存),Values为在前两个维度下的值。如下表(表名:table):(别问我为什么不直接做成结果表的样式,然后直接用表格。本文主要目的在于解决此问题,借用简单的需求和数据,实际应用中会是较为复杂的逻辑以及不得不做成这样的表格)

日期周期留存
2023-01-01新用户数200
2023-01-01留存30
2023-01-02新用户数160
2023-01-02留存20

注:原需求留存率需要做多天的,也就是列不止展示的三列,想要将新用户数列排在日期后面(即度量值的最前面),因此此处的’ 新用户数’前面都有一个空格(此处仅提供此种解决方式)。

二、操作步骤

第一步:新增新用户数列

新增新用户数列,将留存字段中的新用户数提取出来

新用户数 = IF([周期]=" 新用户数",BLANK(),CALCULATE(MAX([留存]),FILTER(table,[周期]=" 新用户数"&&[日期]=EARLIER([日期])))

注:因为留存率需要留存数除以新用户数,但是对于新用户数不需要除,因此,当周期=" 新用户数",显示为空,其余的取每个日期下新用户数的值(实际应用中,底表会存在多个维度,因此会使用到MAX及EARLIER函数);

第二步:计算Value列的值

Value = IF([周期]=" 新用户数",[留存],[留存]/[新用户数])

注:当[周期]=" 新用户数"时,显示留存字段中的新用户数,其余的计算留存率,即[留存]/[新用户数];

第三步:格式化Value列的值

Value列的新用户数仍然显示为整数,留存率显示为百分比

Format_Value = IF([Value]>=1,FORMAT([Value],"#,##"),FORMAT([Value],"0.00%"))

第四步:完成图表

单击矩阵图形,将[日期]拖入Rows(行),[周期]拖入Columns(列),[Format_Value]拖入Values(值)即可,其余格式按需调整。

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

随机*

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值