上面的示例視頻顯示了用戶從切片器中選擇諸如Year,Month,Day的選項,並且頁面上的其他三個視覺效果做出了反應,將所選項目顯示為軸的效果。
當Month被選中時,視覺效果中的數據都是通過月來顯示。同樣,當用戶選擇Year時,視覺效果中的數據都是通過年來顯示。
數據建模方法
第一步是在模型中創建一個表,該表將用於控制動態軸,需要包括切片器使用的列。在示例中,控制表稱為“期間表”。期間表的數據可以在Power BI的外部生成,但本次案例通過DAX來創建。以下DAX代碼通過使用UNION函數將不同類型的期間彙總到一個“期間 表”中。
重要的是要在此處注意,特定日期將多次出現在最終的表中。在這種情況下,“維度日期”中的每個日期將出現三次,因此無法使用傳統的“ 一對多”關係將該表和模型中的其他表做關聯。
類型ID列可用於對類型列進行排序,以控制文本在切片器中的顯示順序。
期間表中的樣本數據效果是這樣的。
下圖顯示了所使用關係的詳細信息。關係的基數設置為多對多(*:*),並且交叉篩選器方向直接設置為單一(期間表篩選訂單)。忽略關於多對多的警告。
現在,可以在切片器中使用“ 期間”表中的“ 類型”列為用戶提供過濾。將“期間”表中的“內容“ 列用作為可視化中的軸。做完這一切後你就會擁有動態軸的效果。
確定相對期間
現在是成功擁有了動態時間段的視覺效果,但是,選擇“天”或“月”時,你可能會發現行/列過多。此示例的另一個技巧的話是如何通過度量以顯示相對的N個時間段,以實現更好的效果。
第一步是創建一個稱為“動態相對日期”的輔助度量,該度量用來確定倒退時間段。該示例使用基數為10。
具體公式如下:
通過在計算中使用此度量為過濾器,以限制每個計算返回的時間。在有些情況下,這可能會加快你的報告速度。例如下方這個計算度量,CALCULATE語句中的FILTER函數傳遞一條過濾,只使用在[動態相對日期]度量中計算出的值之後的日期。
這就是一個不涉及書籤,基於數據建模用於解決動態軸問題的解決方案。
你學會了嗎?
Power BI 2月產品功能更新——視頻上線
【2020】Power BI 2月產品功能首發更新
閱讀更多 PowerBI365 的文章