建立量值的動態格式字串
適用於: Power BI Desktop Power BI 服務
藉由量值的動態格式字串,您可以透過有條件地套用具有單獨 DAX 運算式的格式字串來確定量值在視覺效果中的顯示方式。
注意
量值的動態格式字串目前處於預覽狀態。 處於預覽狀態時,功能和文件可能會變更。
動態格式字串克服了使用 FORMAT 函式的固有缺點。 也就是說,藉由 FORMAT,即使是數值資料類型也會以字串形式返回,這可能不適用於需要數值的視覺效果,如圖表。 使用動態格式字串時,量值會保持其資料類型,而不會強制變更為字串資料類型。 這將根據內容對量值套用不同的格式字串。
動態格式字串也可以與計算群組搭配使用。 與計算群組一起使用的 DAX 模式也可以在量值的動態格式字串中使用,但範圍僅限於個別量值,而不是模型中的所有量值。 若要深入了解,請參閱計算群組 - 動態格式字串。
建立動態格式字串
建立動態格式字串
在 [資料] 窗格中,選取要為其指定動態格式字串的量值。
在 [度量工具] >功能區 [格式化] >區段 [格式] 清單方塊中,選取 [動態]。 DAX 公式列左側將顯示已選取 [格式] 的新清單方塊。 此下拉式清單用於在靜態量值 DAX 運算式和動態格式字串 DAX 運算式之間進行切換。 無論在切換到動態之前使用了什麼靜態格式字串,都會在 DAX 公式列中作為字串預先填入。
用 DAX 運算式覆寫字串,該運算式為您的量值輸出正確的格式字串。 例如,以下運算式從「國家/地區貨幣格式字串」資料表中查詢所需的貨幣格式字串:
驗證您的動態格式字串在視覺效果中是否有效。
若要删除動態格式字串並傳回使用靜態格式字串,請在 [格式化] >區段的 [格式] 清單方塊中選取其他格式選項。 由於此動作無法復原,因此會出現詢問您是否要繼續的對話方塊。 如果您想要返回以使用動態格式字串,則必須重新輸入 DAX 運算式。
範例
了解新功能的最佳方式是親自嘗試。 您可以使用 DAX 範例模型中提供的範例 Adventure Works 2020 PBIX 檔案來實現這一點。 透過使用範例模型,您可以新增貨幣轉換,以依年份顯示轉換後的銷售金額。 下載後,請在 Power BI Desktop 中開啟文件。
建立新資料表
範例模型不包含建立和使用動態格式字串所需的所有資料。 若要開始,您首先需要新增兩個資料表。
在 [常用] 功能區上選取 [輸入資料]。
在 [建立資料表] 對話方塊中,輸入以下資料表名稱,然後複製並貼上以下資料表:
資料表名稱:國家/地區貨幣格式字串
Country 貨幣 格式 澳大利亞 澳洲元 AU$#,0.00 Canada 加幣 C$#,0.00 丹麥 挪威克朗 kr#,0 歐元區 歐元 € #,0.00 日本 日圓 ¥ #,0 瑞典 瑞典克朗 kr#,0 瑞士 瑞士法郎 CHF#,0.00 英國 磅 £ #,0 美國 美元 US$#,0.00 驗證資料表是否正確,然後按一下 [載入]。
對以下資料表重複上述步驟:
資料表名稱:年平均匯率
Country 貨幣 Year 年平均匯率 澳大利亞 美元 2022 1.442 澳大利亞 美元 2021 1.332 澳大利亞 美元 2020 1.452 澳大利亞 美元 2019 1.439 澳大利亞 美元 2018 1.34 澳大利亞 美元 2017 1.358 Canada 加幣 2022 1.301 Canada 加幣 2021 1.254 Canada 加幣 2020 1.341 Canada 加幣 2019 1.327 Canada 加幣 2018 1.297 Canada 加幣 2017 1.35 丹麥 挪威克朗 2022 7.077 丹麥 挪威克朗 2021 6.29 丹麥 挪威克朗 2020 6.538 丹麥 挪威克朗 2019 6.67 (機器翻譯) 丹麥 挪威克朗 2018 6.319 丹麥 挪威克朗 2017 6.864 歐元區 歐元 2022 0.951 歐元區 歐元 2021 0.846 歐元區 歐元 2020 0.877 歐元區 歐元 2019 0.893 歐元區 歐元 2018 0.848 歐元區 歐元 2017 0.923 日本 日圓 2022 131.454 日本 日圓 2021 109.817 日本 日圓 2020 106.725 日本 日圓 2019 109.008 日本 日圓 2018 110.424 日本 日圓 2017 116.667 瑞典 瑞典克朗 2022 10.122 瑞典 瑞典克朗 2021 8.584 瑞典 瑞典克朗 2020 9.205 瑞典 瑞典克朗 2019 9.457 瑞典 瑞典克朗 2018 8.703 瑞典 瑞典克朗 2017 8.894 瑞士 瑞士法郎 2022 0.955 瑞士 瑞士法郎 2021 0.914 瑞士 瑞士法郎 2020 0.939 瑞士 瑞士法郎 2019 0.994 瑞士 瑞士法郎 2018 0.979 瑞士 瑞士法郎 2017 1.024 英國 磅 2022 0.811 英國 磅 2021 0.727 英國 磅 2020 0.779 英國 磅 2019 0.784 英國 磅 2018 0.75 英國 磅 2017 0.808
建立年份資料行
現有日期資料表中需要新的年份資料行。
在 [模型] 檢視中,以滑鼠右鍵按一下 [日期] 資料表,然後選取 [新增資料行]。
在 DAX 公式列中,輸入以下運算式:
Year = YEAR([Date])
,然後按 Enter 鍵。
建立關聯
新的「年平均匯率」和「國家貨幣格式字串」資料表之間,以及年平均匯率資料表和現有日期資料表之間都需要建立關聯性。
如果您啟用了關聯性自動偵測,則可能已為您建立了「國家/地區」資料行上的「國家/地區貨幣格式字串」和「年平均匯率」之間的關聯性。 如果沒有,則建立此關聯性:
- 資料表 1:年平均匯率
- 資料表 1 資料行:國家/地區
- 基數:多對一
- 資料表 2:國家/地區貨幣格式字串
- 資料表 2 資料行:國家/地區
- 將此關聯性設為作用中:是
- 交叉篩選方向:單一
關聯性應顯示如下:
如果您啟用了關聯性自動偵測,則可能已建立了「國家/地區」資料行上的「國家/地區貨幣格式字串」和「銷售領域」之間的關聯性。 然而,這種關聯性並不適用於我們的模型。 在 [模型] 檢視中,删除此關聯性。
相反,在「年」資料行上的「年平均匯率」和「日期」之間建立關聯性。
- 資料表 1:年平均匯率
- 資料表 1 資料行:年
- 基數:多對多
- 資料表 2:日期
- 資料表 2 資料行:年
- 將此關聯性設為作用中:是
- 交叉篩選方向:單一 (「年平均匯率」篩選「日期」)
關聯性應顯示如下:
儲存您的模型。
建立量值群組資料表
量值群組透過將不同的量值放在一個資料表中來協助您組織它們。
在 [常用] 功能區中選取 [輸入資料]。
在 [建立資料表] 對話方塊中,將值留空。 將資料表命名為「銷售量值」,然後按一下 [載入]。 此資料表包含您的新量值。
建立量值
在 [資料] 窗格中,展開並以滑鼠右鍵按一下 [銷售量值],然後選取 [新增量值]。 在 DAX 公式列中輸入以下 DAX 運算式,然後按 Enter 鍵:
Sales Amount = SUM(Sales[Sales Amount])
其看起來應該如下:
在 [銷售量值] 中,以滑鼠右鍵按一下 [資料行 1],然後選取 [在報表檢視中隱藏]。 這將銷售量值變更為量值群組,其現在顯示在 [資料] 窗格的頂端,並具有量值群組圖示,如下所示:
現在,您可以建立量值來計算匯率。 以滑鼠右鍵按一下 [銷售量值],選取 [新增量值],在 DAX 公式列中輸入以下運算式,然後按 Enter 鍵:
Exchange Rate (Yearly Avg) = IF ( ISBLANK ( SELECTEDVALUE ( 'Country Currency Format Strings'[Country] ) ) || SELECTEDVALUE ( 'Country Currency Format Strings'[Country] ) = "United States", 1, AVERAGE ( 'Yearly Average Exchange Rates'[Yearly Average Exchange Rate] ) )
應該會顯示如下:
現在,您可以建立另一個量值,將 [銷售金額] 量值轉換為其他貨幣。 以滑鼠右鍵按一下 [銷售量值],選取 [新增量值],在 DAX 公式列中輸入以下運算式,然後按 Enter 鍵:
Converted Sales Amount = SUMX('Date', CALCULATE( [Sales Amount] * [Exchange Rate (Yearly Avg)]))
[銷售量值] 群組現在應顯示如下:
建立報表
移至 [報表檢視]。 在報表中新增空白頁。
向新報表頁面新增折線圖視覺效果。 在為量值新增動態格式字串之前,您可以使用此視覺效果工具查看量值。
在 [資料] 窗格 [銷售量值]> 中,選取 [轉換後的銷售金額]。 在不按一下其他任何位置的情况下,也可以在「日期」資料表中選取 [年份]。
複製並貼上視覺效果,這樣您就有了兩個折線圖視覺效果。 將第二個折線圖視覺效果變更為資料表視覺效果,然後將其移至折線圖下方,如下所示:
將交叉分析篩選器視覺效果新增至您的報表頁面。 在 [格式] 功能區中,將「國家/地區貨幣格式字串」資料表中的「國家/地區」新增至交叉分析篩選器中。
重新排列視覺效果,直到它們有更好的版面配置,就像這樣:
雖然不是必需的,但您可以變更視覺效果屬性以製作更好的報表:
交叉分析篩選器
- 交叉分析篩選器設定:單一選取
- 大小和樣式,填補:10 px,所有邊
- 大小和樣式,視覺效果框線:淺灰色,10 px 圓角
- 交叉分析篩選器設定,樣式:並排顯示
- 交叉分析篩選器標題:關閉
- 值,框線:左,#333333,6 線條寬度
Table
- 大小和樣式,填補:10 px,所有邊
- 大小和樣式,視覺效果框線:淺灰色,10 px 圓角
- 格線,水平格線:白色,2 寬
- 格線,垂直格線:白色,2 寬
- 格線,框線:白色
- 格線,選項:2 資料列填補
- 值,值:背景色彩 #F6F4F4
- 值,值:備用背景色彩 #F6F4F4
- 資料行標題,文字:粗體,文字色彩白色,背景色彩 #0D6ABF
折線圖
- 大小和樣式,填補:10 px,所有邊
- 大小和樣式,視覺效果框線:淺灰色,10 px 圓角
- 標題,副標題:開啟
- Y 軸,標題:關閉
- Y 軸:關閉
- 標記:開啟
- 資料標籤:開啟
- 資料標籤,值:粗體,藍色
畫布 (選用)
- 畫布背景:淺灰色,透明度 85%
藉由那血視覺效果屬性,您會得到精美的報表頁面,如下所示:
建立動態格式字串
在交叉分析篩選器中選取不同的國家/地區名稱會以視覺效果顯示轉換後的銷售金額量值結果,但格式不適合該國家或地區。
在 [資料] 窗格 [銷售量值]> 中,選取 [轉換後的銷售金額]。
在 [度量工具] 功能區中,按一下 [格式] 下拉式清單,然後選取 [動態]。
公式列左側的下拉式清單方塊現在應該顯示 [格式],公式列中的公式應有格式字串。 將格式字串取代為以下 DAX 運算式,然後按 Enter 鍵:
SELECTEDVALUE ( 'Country Currency Format Strings'[Format], "\$#,0.00;(\$#,0.00);\$#,0.00" )
其看起來應該如下:
在交叉分析篩選器中選取其他國家/地區。 資料表和折線圖現在應該以正確的格式顯示該國家或地區的轉換後的貨幣金額。 嘗試在交叉分析篩選器中選取不同的國家/地區,看看視覺效果如何變更。
儲存您的模型。
已知問題和考量
在預覽期間,將解决以下問題和限制:
視覺效果具有可能影響格式字串顯示方式的格式化選項。 如果格式化在視覺效果中意外顯示,請移至視覺效果 [格式] 選項,搜尋 [顯示單位] 並將其從 [自動] 變更為 [無]。
量值本身可以透過使用其名稱 (如 [Measure A]) 直接在其動態格式字串中參考,也可以透過使用
SELECTEDMEASURE()
間接參考。量值的動態格式字串僅適用於模型量值。 可以新增至即時連線報表中的報表量值不能具有量值的動態格式字串。
藉由適用於 Analysis Services 的 DirectQuery,當您在即時連線報表上按一下 [變更此模型] 時,它會將連線轉移至 Analysis Services 上的 DirectQuery。 一般來説,您可以變更雲端模型量值的格式字串。 預覽期間:
- 定義了動態格式字串的遠端模型量值被封鎖將格式字串變更為靜態格式字串或不同的動態格式字串 DAX 運算式。
- 雲端模型量值不能從靜態格式字串變更為本機模型中定義的動態格式字串 DAX 運算式。
- 封鎖本機模型量值對量值使用動態格式字串。
相關內容
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應