如何使用 DAX 函式解決動態圖表標題
您可能知道,Power BI 中的圖表(以及許多其他視覺化)具有可以設定為任何靜態文字的標題。您可以通過選擇圖表,轉到 “視覺化物件” 窗格中的 “格式” 選項卡,然後更改 “標題” 部分中的屬性(如下所示)來完成此操作:
但是,如果您希望圖表標題根據所選內容而改變呢?例如,您可能正在使用切片器或過濾器來允許使用者選擇他們想要檢視資料的月份。在這種情況下,您可能想要新增一個標題,顯示實際上已選擇了哪一月;如果報告使用過濾器,或者要列印報告,這將特別重要。遺憾的是,內建的 Title Text 屬性不能用於顯示動態值,但在本文章中,小悅將向您展示如何使用 DAX 解決此問題。
以下是包含動態圖表標題的報告的簡單示例:
小悅建立了一個簡單的測試資料集,其中只有兩個欄位一個月份,一個數量,該報告包含一個柱形圖,其中顯示按月份顯示的數量。還有一個切片器,使用者可以選擇一個月或多個月,在頂部有一個標題,列出在切片機中選擇並顯示在圖表中的日期名稱。
解決方案分為兩部分
第一部分是建立一個度量****。它將返回圖表標題所需的文字,這依賴於 DAX 函式 ConcatenateX()。這是衡量標準的 DAX:
Title = "你選中了"
& CONCATENATEX(
VALUES (Sheet1 [月]),
Sheet1 [月],
", "
)
這裡,Values()函式用於返回包含所有選定月份的表,然後將其傳遞給 ConcatenateX()以獲取包含逗號分隔的日期名稱列表的文字值。
第二部分涉及如何顯示度量返回的****值****。在上面的報告中,小悅使用了卡片視覺化,將上面的度量放入 “欄位” 區域,然後關閉 “格式” 選項卡上的 “類別標籤”,以便僅顯示度量返回的值,而不顯示度量本身的名稱:
這就是重新建立上述報告所需的全部內容。
對上述程式碼進行優化
我們可以將列表中的最後一個逗號更改為 “和”,給每個月的值後面加一個月,而不是簡單的以逗號分隔的月值列表:此外,如果顯示了所有月份,最好不顯示非常長的月份列表,而是顯示一些預設文字,如圖:
這是用於完成所有這些操作的度量的 DAX:
Title2 =
VAR SelectedDays = VALUES ('Sheet1'[月])
VAR NumberOfSelectedDays = COUNTROWS(SelectedDays)
VAR NumberOfPossibleDays = COUNTROWS (ALL ('Sheet1'[月]))
VAR AllButLastSelectedDay = TOPN(NumberOfSelectedDays-1, SelectedDays)
VAR LastSelectedDay = EXCEPT(SelectedDays, AllButLastSelectedDay)
RETURN
"你" &
IF (NumberOfSelectedDays=NumberOfPossibleDays, "沒有對月份進行篩選",
"選中了" & IF (NumberOfSelectedDays=1, "", CONCATENATEX (AllButLastSelectedDay,'Sheet1'[月]," 月,") &" 月和 ") & LastSelectedDay &" 月 ")
轉自如何使用 DAX 函式解決動態圖表標題
相關文章
- 函式計算|如何使用層解決依賴包問題?函式
- 如何使用成員函式指標函式指標
- 如何使用函式指標呼叫類中的函式和普通函式函式指標
- Power BI-DAX公式常用函式套路公式函式
- DAX 第六篇:統計函式函式
- 函式指標、回撥函式、動態記憶體分配、檔案操作函式指標記憶體
- DAX 第三篇:過濾器函式過濾器函式
- 如何在java中使用 Excel 動態函式生成依賴列表JavaExcel函式
- 解決matplotlib使用plt.pause動態繪圖視窗無法關閉問題繪圖
- 函式指標練習題函式指標
- vue專案使用lodash節流防抖函式問題與解決Vue函式
- 函式的動態引數 及函式巢狀函式巢狀
- 指標函式 和 函式指標指標函式
- spingboot使用@Resource注入靜態變數報空指標的問題解決boot變數指標
- 圖解 ReactiveCocoa 基本函式圖解React函式
- 使用動態規劃完美解決硬幣找零問題(Python)動態規劃Python
- react 中echarts-for-react使用resize解決圖表自適應問題ReactEcharts
- Kotlin——高階篇(二):高階函式詳解與標準的高階函式使用Kotlin函式
- 如何使用 Serverless Devs 部署靜態網站到函式計算Serverdev網站函式
- 如何在 pyqt 中解決國際化 tr() 函式不起作用的問題QT函式
- linux 動態庫 靜態庫 函式覆蓋Linux函式
- vb如何使用ftp函式,vb如何使用ftp函式要知道這些FTP函式
- SQL Server最佳化標量函式改寫內聯表值函式SQLServer函式
- VBA中使用EXCEL工作表函式Excel函式
- 158_模型_Power BI 使用 DAX + SVG 打通製作商業圖表幾乎所有可能模型SVG
- 陣列,函式與指標 詳解陣列函式指標
- C語言函式指標與回撥函式使用方法C語言函式指標
- 【不在混淆的C】指標函式、函式指標、回撥函式指標函式
- Python騷操作:動態定義函式Python函式
- JavaScript動態更改引入樣式表JavaScript
- 函式指標函式指標
- 理解DAX表示式中的VAR
- 解決WPF中過載Window.OnRender函式失效問題函式
- 解決vscode c語言中scanf函式的輸入問題VSCodeC語言函式
- es6學習_箭頭函式解決this指向問題函式
- 遺傳演算法解決函式最佳化問題演算法函式
- 函式指標&回撥函式Callback函式指標
- [C++] 成員函式指標和函式指標C++函式指標