• 数据可视化之DAX篇(二十四)Power BI应用技巧:在总计行实现条件格式


    https://zhuanlan.zhihu.com/p/98975646

    如何将表格或者矩阵中值的条件格式也应用于总计行?

    目前PowerBI并不支持这种功能,无法在总计行或者小计行上应用条件格式,不过我们可以摸索个变通的方式来实现。


    以制作红绿灯效果这篇文章的数据为例:

    PowerBI小技巧:简单两步实现红绿灯、箭头效果

     

    这个总计行显然没有应用条件格式,本文尝试让总计行也同样适用于条件格式:动态的显示红绿灯的效果。

     

    解决思路

     

    PowerBI默认的总计行无法使用条件格式,这是暂时无法改变的,那就不要显示默认的总计行,而通过构造一个总计行来代替。

    操作步骤

    构造一个新的城市维度表,增加一行总计,如下图所示,

     

     

    可以用这个新的维度表与事实表建立关系,或者不破坏原有的模型,直接用这个表和原有的城市维度表建立关系。本文用后者的方式,重新写两个度量值,

     

    本期销售金额=IF( HASONEVALUE('地区'[客户城市]), [销售金额], CALCULATE([销售金额],ALL('地区')))
    上期销售金额=IF( HASONEVALUE('地区'[客户城市]), [上期销售金额0], CALCULATE([上期销售金额0],ALL('地区')))

    这两个度量值的原理都是,先判断当前行是否为原有的城市维度表中的城市,如果是,返回当前上下文的本期金额和上期金额,如果不是,就返回合计金额。

    将新的带总计行的城市维度,放入到矩阵的行标题中(表格类似),把上面新建的两个度量值作为【值】,并取消矩阵的小计和总计,就得到了下面这张表,

     

     

    这个表格最后一行是总计,但这个总计并不是系统默认的总计行,而是我们自己构造并通过度量值计算出来的。

    然后正常应用条件格式,并添加红绿灯效果就很简单了,具体方法参考红绿灯那篇文章,最终总计行的效果如下,

     

     

    本案例已分享在知识星球

  • 相关阅读:
    org.apache.xerces.dom.ElementNSImpl.setUserData(Ljava/lang/String;Ljava/lang
    case when then 中判断null的方法
    Oracle 傻瓜式数据归档
    Object type TYPE failed to create with error
    导出表结构到Excel 生成代码用
    Intellij 高亮显示与选中字符串相同的内容
    自定义命令杀死 java 进程 alias kjava
    R语言包_dplyr_1
    dplyr包
    在天河二号上对比Julia,Python和R语言
  • 原文地址:https://www.cnblogs.com/qiu-hua/p/12821267.html
Copyright © 2020-2023  润新知