小伙伴們,今天想和大家分享的是一個超實用的技能:關於如何使用Power BI中的假設參數控制表視覺中要顯示的行數。
先讓我們考慮一個場景,在該場景中,我們有與商店關聯的客戶。商店每月生成有關其總銷售額的報表,並在該報表上以客戶級別匯總總銷售額指標。想象一下一個表,顯示所有這些客戶以及他們每個月為商店產生的總銷售額。隨着時間的流逝,表中的行數將繼續增加。
當使用大數據或需要顯示將近一百萬個客戶數據的數據時,以上情形可能會在Power BI中造成性能問題。從用戶的角度來看,這非常具有挑戰性,在這種情況下,用戶必須等待第一次加載整個表。
但是,如果有一種方法,我們可以將表默認為僅顯示一定數量的行,然后讓用戶控制他們希望在表的可視狀態中看到多少行?
從這一點出發,我們將討論假設參數以及如何無縫使用它們來實現此功能。
假設參數使我們能夠使用用戶在報告頁面上輸入的值來驅動計算。
讓我們舉一個非常簡單的示例來說明用戶對要顯示的行數的控制。在下面顯示的圖像中,我們得到了一個只有2列的簡單數據集。一個是MONTH列,另一個是每月產生的TOTAL SALES。
現在讓我們創建一個假設分析參數。為此:轉到“建模”-“新建參數”,如下所示:
單擊“ 新建參數 ”選項后,將出現以下窗口:
讓我們看看上面窗口中的不同選項:
-
名稱 –為參數取一個名稱。
-
數據類型 –參數所需的任何數據類型。此處可用的數據類型為整數,十進制數和固定十進制數。
-
最小值 –取參數的最小值。
-
最大值 –取參數的最大值。
-
增量 –獲取您要遞增參數的值。
-
默認值 –當在參數中未輸入任何值時,采用參數的默認值。
-
將切片器添加到此頁面 –我更喜歡啟用此選項,因為默認情況下,它會在報告頁面上將參數創建為切片器。
讓我們填寫示例窗口中的值。
我們在這里取的最大值是12,因為總共有12個日歷月。在其他數據量較大的方案中,此值將有所不同,因此,如果數據中有10,000行,則可以將最大值設為10,000。我們也將默認值設置為1,因為當沒有輸入用戶輸入時,希望視覺上至少顯示一行。也可以將其默認為所有行。
在上面的窗口中單擊確定的那一刻;在字段窗格下,為定義的參數創建一個表。
該表具有與表同名的度量。當您單擊該表時,您會看到以下DAX表達式:
這只是生成一個上面我們為參數提供的最小值和最大值的序列,並將其遞增1。
到目前為止,該過程很簡單。從這里開始真正的挑戰:我們如何在源表中使用此參數來控制用戶想要在視覺上看到的內容?我們只需要再執行一步,我們就會看到變化。默認情況下,該參數被創建為切片器,如下所示:
我們一般會希望我們的參數接受最小值和最大值。因此,就像Power BI中的普通切片器一樣,我們可以選擇 BETWEEN選項以按我們所希望的方式進行設計。
現在,我們的任務是通過更改參數切片器中的值來驅動表格可視化。離我們的目標僅一步之遙。在月度銷售額的主表中創建以下度量:
第1行是度量的名稱。
第2和第3行是關於創建兩個變量,為參數取最大值和最小值,因為我們想讓用戶能夠選擇一個范圍。
第5行開始一個SWITCH語句,在這里我可以傳遞多個要計算的DAX表達式。
第6行上文提到過,當參數中沒有傳遞任何值時,顯示所有內容。
第7行到第14行描述了我們使用參數功能來控制視覺效果的主要步驟。
第7行排名是根據每月產生的總銷售額給出的數據行。
第8行在MONTH列上使用ALLSELECTED函數,因為想獲得一個月的總銷售額。(還可以添加了月份號,因為我們已使用該列按照數據的時間順序對MONTH列進行了排序)
第9行,做了一個總的銷售總結。
第11和第15行,將排名與參數的較低和較高的值進行比較。當給定一個值時,在選定的范圍內顯示等級(對比語句返回TRUE)。
因此,這是我們需要的措施。現在,讓我們來看看它是如何工作的。我們將此計算的度量值與月份列一起添加到下表中,如下所示:
我們有按月銷售。現在,開始更改參數窗口中的值,表格開始根據所選范圍顯示行數。
這就是我們可以使用戶控制他們想要在報告上查看的數據量的方式,感興趣的小伙伴們趕緊 Get起來吧!
推薦閱讀
技術交流
1.Power BI免費下載:http://www.yeacer.com/
Microsoft Power BI Desktop中文最新版:下載地址
2.歡迎加入的Power BI技術群,目前正在學習階段,有興趣的朋友可以一起學習討論。
Power Data技術交流群:702966126 (驗證注明:博客園Power BI)
更多精彩內容請關注微信公眾號:悅策PowerBI
如果您覺得閱讀本文對您有幫助,請點一下“推薦”按鈕,您的“推薦”將是我最大的寫作動力!歡迎各位轉載。