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

来源:http://www.cnblogs.com/lizardbi/archive/2017/08/16/DAX-PATTERN-POWERBI-Parameter-Table-Period-Table-Extension.html
-Advertisement-
Play Games

DAX/PowerBI系列 - 參數表(Parameter Table) 度量值模板 難度: ★★☆☆☆(2星) 適用範圍: ★★★☆☆(3星) 概況: 當你有多個度量值都需要計算YTD,MoM,而又不想重覆所有這些給每一個度量值分別設定計算度量值的話,有沒有一個簡便的方法,少點coding呢? 同 ...


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顯示。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本文是根據文頂頂老師的博客學習而來,轉載地址:http://www.cnblogs.com/wendingding/p/3809042.html 一、NSOperation簡介 1.簡單說明 NSOperation的作⽤:配合使用NSOperation和NSOperationQueue也能實現多線程 ...
  • 最近自己在做一個小說閱讀器,看到某閱有護眼模式功能,別人都有,我怎麼能沒有? <! more 現在這功能已經不稀奇了,很多手機都帶有這個功能。 實現起來不難,用一個蒙版遮在界面上面就行。 至於蒙版,可以用Window實現,也可以只用套個FrameLayout實現。 Window實現的優點是,支持全局 ...
  • 報錯原因是 項目使用的是ARC,但是有非ARC代碼。 項目中要混合使用ARC和非ARC。 解決: 如果使用的非 ARC ,則為 ARC 的代碼加入 -fobjc-arc 如果使用的是 ARC ,則為非 ARC 代碼加入 -fno-objc-arc 判斷項目是否用的ARC: 如果使用的非 ARC ,則 ...
  • http://bbs.gfan.com/android-6740350-1-1.html 原創處女貼,呵呵。。。 研究換4.1.2也有段時間了,4.1.2各方面功能均讓我挺滿意的,用著也蠻順手的。偶爾上論壇,看到有人說,4.1.2存在媒體掃描耗電的bug,當時我還不以為然,也慶幸自己的這個版本沒有問 ...
  • 代碼: ViewController.m ...
  • 介於上一篇的java實現網路爬蟲基礎之上,這一篇的思想是將網路收集的數據保存到HDFS和資料庫(Mysql)中;然後用MR對HDFS的數據進行索引處理,處理成倒排索引;搜索時先用HDFS建立好的索引來搜索對應的數據ID,根據ID從資料庫中提取數據,呈現到網頁上。 這是一個完整的集合網路爬蟲、資料庫、 ...
  • 一 使用IN關鍵字的子查詢 1.查詢游戲類型是'棋牌類' 的游戲的分數信息 游戲分數表中並未包含游戲類型信息 思路一:採用鏈接查詢 思路二: 分兩步進行,首先找到所以'棋牌類'游戲的編號,再以這一組編號為查詢依據完成查詢 select * from scores where gno in (sele ...
  • 本文出處:http://www.cnblogs.com/wy123/p/7374078.html(保留出處並非什麼原創作品權利,本人拙作還遠遠達不到,僅僅是為了鏈接到原文,因為後續對可能存在的一些錯誤進行修正或補充,無他) ICP優化原理 Index Condition Pushdown (ICP) ...
一周排行
    -Advertisement-
    Play Games
  • 前言 推薦一款基於.NET 8、WPF、Prism.DryIoc、MVVM設計模式、Blazor以及MySQL資料庫構建的企業級工作流系統的WPF客戶端框架-AIStudio.Wpf.AClient 6.0。 項目介紹 框架採用了 Prism 框架來實現 MVVM 模式,不僅簡化了 MVVM 的典型 ...
  • 先看一下效果吧: 我們直接通過改造一下原版的TreeView來實現上面這個效果 我們先創建一個普通的TreeView 代碼很簡單: <TreeView> <TreeViewItem Header="人事部"/> <TreeViewItem Header="技術部"> <TreeViewItem He ...
  • 1. 生成式 AI 簡介 https://imp.i384100.net/LXYmq3 2. Python 語言 https://imp.i384100.net/5gmXXo 3. 統計和 R https://youtu.be/ANMuuq502rE?si=hw9GT6JVzMhRvBbF 4. 數 ...
  • 本文為大家介紹下.NET解壓/壓縮zip文件。雖然解壓縮不是啥核心技術,但壓縮性能以及進度處理還是需要關註下,針對使用較多的zip開源組件驗證,給大家提供個技術選型參考 之前在《.NET WebSocket高併發通信阻塞問題 - 唐宋元明清2188 - 博客園 (cnblogs.com)》講過,團隊 ...
  • 之前寫過兩篇關於Roslyn源生成器生成源代碼的用例,今天使用Roslyn的代碼修複器CodeFixProvider實現一個cs文件頭部註釋的功能, 代碼修複器會同時涉及到CodeFixProvider和DiagnosticAnalyzer, 實現FileHeaderAnalyzer 首先我們知道修 ...
  • 在軟體行業,經常會聽到一句話“文不如表,表不如圖”說明瞭圖形在軟體應用中的重要性。同樣在WPF開發中,為了程式美觀或者業務需要,經常會用到各種個樣的圖形。今天以一些簡單的小例子,簡述WPF開發中幾何圖形(Geometry)相關內容,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 在 C# 中使用 RabbitMQ 通過簡訊發送重置後的密碼到用戶的手機號上,你可以按照以下步驟進行 1.安裝 RabbitMQ 客戶端庫 首先,確保你已經安裝了 RabbitMQ 客戶端庫。你可以通過 NuGet 包管理器來安裝: dotnet add package RabbitMQ.Clien ...
  • 1.下載 Protocol Buffers 編譯器(protoc) 前往 Protocol Buffers GitHub Releases 頁面。在 "Assets" 下找到適合您系統的壓縮文件,通常為 protoc-{version}-win32.zip 或 protoc-{version}-wi ...
  • 簡介 在現代微服務架構中,服務發現(Service Discovery)是一項關鍵功能。它允許微服務動態地找到彼此,而無需依賴硬編碼的地址。以前如果你搜 .NET Service Discovery,大概率會搜到一大堆 Eureka,Consul 等的文章。現在微軟為我們帶來了一個官方的包:Micr ...
  • ZY樹洞 前言 ZY樹洞是一個基於.NET Core開發的簡單的評論系統,主要用於大家分享自己心中的感悟、經驗、心得、想法等。 好了,不賣關子了,這個項目其實是上班無聊的時候寫的,為什麼要寫這個項目呢?因為我單純的想吐槽一下工作中的不滿而已。 項目介紹 項目很簡單,主要功能就是提供一個簡單的評論系統 ...