zoukankan      html  css  js  c++  java
  • DAX/PowerBI系列

    DAX/PowerBI系列 - 参数表(Parameter Table) 度量值模板

    难度: ★☆☆☆(2星)

    适用范围: ★(3星)

    概况:

    当你有多个度量值都需要计算YTD,MoM,而又不想重复所有这些给每一个度量值分别设定计算度量值的话,有没有一个简便的方法,少点coding呢?

    同时,用户通过选择,在同一个visual里面显示不同的度量值(组)。

    此文涉及前文DAX/PowerBI系列 - 参数表(Parameter Table) - 多时间段数值对比的扩展部分,给出具体实例和解决方法。

    应用场景:

    以下是几个应用场景:

    • 用户想在同一个chart显示不同的度量值(组)
    • 避免重复定义一系列度量值

    最终PowerBI效果显示如下(耐心等待PowerBI 出来,噔噔噔噔~~~)

     如图,1)左侧的YTD根据所选变化而变化;

    2)右侧的标题是一个计算值,根据选择动态改变;同样右图中的所有值都根据所选不同而全部改变。

    3)表格显示对应的值

     https://app.powerbi.com/view?r=eyJrIjoiYzZlYzgxYzItZTA1ZC00ODVmLTlkNjUtZGRlYjdlMDFjOWNlIiwidCI6ImQxYWY4NDdiLTJjZTEtNDRjYi1iYjUwLWQ1ODAyYmI0M2M4YiIsImMiOjEwfQ%3D%3D

    欢迎转载,请保留原文链接和作者信息。O(∩_∩)O谢谢。
    DAX/PowerBI系列 - 参数表(Parameter Table) 度量值模板(Period Table)
    作者:马丁叔叔             链接:http://www.cnblogs.com/lizardbi/p/DAX-PATTERN-POWERBI-Parameter-Table-Period-Table-Extension.html

    数据模型:

    要点:

    这里涉及到一个trick -- switch 语句。 通过switch语句把所选的度量值设到一个generalized的中间变量,再用这个中间变量来计算YTD,MoM等等的值。

    中间变量

    1 _tempMeasure = IF (
    2     HASONEVALUE ( 'Measure Selection'[Measure] ),
    3     SWITCH (VALUES ( 'Measure Selection'[Measure] ),
    4         "Cost", [#Cost]
    5         ,"Revenue", [#Revenue]
    6         ,"Profit", [#Profit]
    7         ,BLANK()) 
    8     ,[#Cost])

    中间变量前值

    1 _prevMeasureValue = CALCULATE([_tempMeasure]
    2                 , PARALLELPERIOD('Date'[Date], -1, MONTH)
    3                 , FILTER(ALL('Date'),'Date'[Date]<= MAX('Fact'[Date]) ) 
    4             )

      

    YTD

    1 YTD = CALCULATE([_tempMeasure]
    2             , DATESYTD('Date'[Date],"12/31")
    3             , FILTER(ALL('Date'),'Date'[Date]<= MAX('Fact'[Date]) ))

    MoM(环比)

    1 MoM % = DIVIDE([_tempMeasure] - [_prevMeasureValue], [_prevMeasureValue])


    最终效果

    参照 上文的PowerBI显示。

  • 相关阅读:
    LeetCode 264. Ugly Number II
    LeetCode 231. Power of Two
    LeetCode 263. Ugly Number
    LeetCode 136. Single Number
    LeetCode 69. Sqrt(x)
    LeetCode 66. Plus One
    LeetCode 70. Climbing Stairs
    LeetCode 628. Maximum Product of Three Numbers
    Leetcode 13. Roman to Integer
    大二暑假周进度报告03
  • 原文地址:https://www.cnblogs.com/lizardbi/p/DAX-PATTERN-POWERBI-Parameter-Table-Period-Table-Extension.html
Copyright © 2011-2022 走看看