什麼是 Python 中的自我:真實世界的例子
什麼是 Python 中的自我:真實世界的例子
我將向您展示如何在 LuckyTemplates 中使用偏移函數。它是您可以使用的最動態的工具之一,尤其是在您的日期表中。
一旦您掌握瞭如何將它應用到您的時間智能項目中,您就可以獲得使用任何其他方法都無法獲得的更深入的見解。您可以在本博客底部觀看本教程的完整視頻。
目錄
了解偏移函數的機制
我將首先向您展示偏移函數的機制。
偏移顯示今天日期與數據中其他日期之間的差異。
正如您在下面的日期表中看到的那樣,我專注於季度和年度,以便我可以看到實際的數據移動。
紫色行顯示當前期間。請注意,當前期間的偏移值始終為 0。
在那上面,黃色顯示了過去的所有數據。你會看到這裡的數字不是 0 就是小於 0,用負數據表示。
這意味著對於未來的數據,這些將顯示正值。根據列的粒度,它還可能包含 0。
那麼是什麼讓偏移量如此強大呢?
偏移量可以是表示表中不同數據之間差異的序號。但抵消的偉大之處在於它們沒有界限。
例如,季度將從 1 到 4,代表一年中的 4 個季度。月從 1 到 12,而周可以從 1 到 52 或 53,具體取決於年份。但是一旦我達到最後一個數字,我就必須重新開始。
偏移量不是這種情況。當涉及偏移量時,它們將始終顯示相對於當前日期和其他引用日期的位置。
因此,每次刷新日期表時,使偏移量起作用的邏輯也會更新。這意味著更新後的值也將顯示在日期表中。
一周偏移量列的示例
為了讓您更清楚地了解偏移函數的工作原理,我將舉例說明其應用方式。
在我的樣本數據中,它顯示今天的日期為24th April, 2020。
同樣,抵消原則規定當前期間用 0 表示,未來數據用正值表示,過去期間用負數表示。
我的頁面上還有一個切片器,其中包含 WeekOffset 值。目前,它顯示從 -53 到 0 的所有值,其中 0 代表當前週。
4 月 24 日(今天)是第17 週。
此擴展日期表僅涵蓋ISO 週數。這意味著周從星期一開始。這也意味著一周總是包含 7 天。
但是有很多自定義週的要求不遵循相同的邏輯。您可以在 LuckyTemplates 論壇中涵蓋的各種主題中找到有關這些案例的更多信息。
此外,如果更適合您的情況,您可以考慮使用Month & Year而不是Week & Year 。
回到示例數據,您可能已經註意到WeekOffset值處於完美的序號範圍內。
這是因為它們始終共享相同的粒度。沒有重複值,也沒有缺失值。
當然,這裡使用的Total Sales度量是以通常的方式完成的,只是對Quantity乘以Price的Sales進行常規。然後,將所有這些匯總起來以獲得每週值。
但是,如果我只想查看最近 4 週的銷售額怎麼辦?
我只需要將我的切片器更改為-3 到 0的範圍。
現在,我的表格只顯示最後四個星期的銷售額。
因此,隨著時間的流逝,我的日期表會更新。如果將新的銷售結果加載到事實表中,也會發生同樣的事情。
在 DAX 中使用偏移量
這一次,我將向您展示如何在 DAX 度量中使用偏移函數。
我有一張包含Week & Year和Total Sales 的表格。
所以,如果我想計算前一周的銷售額而沒有偏移量,我首先必須提取CurrWeek數字是多少,然後檢查CurrYear值是多少。
如果我需要跳過一年的界限,我將不得不計算去年的 Weeknumber 。
從那裡開始,我將使用SUMX作為���期表上的迭代函數。我還必須檢查CurrWeek是否是第 1 週。
如果不是第 1 週,我只需要從CurrYear 的 CurrWeek 值中減去 1。之後,總銷售額終於可以總結出來了。
查看下表,您現在可以看到所有值都完美聚合。顯示在“總銷售額”下的值會簡單地結轉到下一周。
即使我從 2017 年到 2018 年超過了一年的界限,這種模式也不會被打破。2017 年最後一周的總銷售額仍然完美地計算為 2018 年第 1週。
這一次,我將進行相同的計算,但應用了日期表偏移量。
這就是我使用偏移量時該度量的樣子。
所以要獲得PrevWeek值,我只需要引用選定的WeekOffset並減去 1。
然後,我將使用函數計算所有日期總銷售額,其中WeekOffset等於PrevWeek值。
從結果來看,結果似乎很完美,即使是在 2017 年到 2018 年的過渡期。
但是,問題出在Total中。顯然,這不是正確的值。
這就是我要解決的方法。
首先,請注意Week & Year列是按升序排列的。
我將更改它並將該列按降序排序,將 2020 年排在頂部。
因為沒有來自Week & Year 的上下文,所以它不識別當前週的偏移值,但仍在減去 1。但我能做的是應用累計總數來調整總數。
這是該措施的樣子:
測量的開始沒有改變。這與我之前應用的措施完全相同。
但是由於我需要使用類似於累計總計的模式,因此我必須在 FirstWeek 上使用CALCULATE函數對 日期減去 1。
我還必須從ALLSELECTED日期中確定MAX WeekOffset值並從中減去一個。
然後,我將再次對Total Sales使用CALCULATE函數。我將使用函數來包含所有日期。WeekOffset 值應大於或等於 FirstWeek 且小於或等於 LastWeek。
同樣,這遵循累積總數的基本模式。
模式檢查總計。
因此,如果Week & Year ISINSCOPE,我希望結果顯示LWSales。但如果不是,我希望LWTotal出現。
所以,如果我回到我的表格,它現在會顯示正確的總計。
特定週的抵消
讓我回到我之前使用的示例,在該示例中我過濾了數據以僅顯示過去四個星期。
如果我進行測量,我可以使用偏移量得出相同的結果。這就是它的樣子。
我只需要確定來自行的上下文的當前WeekOffset值。
完成後,我可以對WeekOffset大於或等於 ThisWeek 減 3 或小於或等於 ThisWeek 的值的所有日期的總銷售額應用CALCULATE函數。
這將返回與我試圖複製的示例完全相同的值。
基於 LuckyTemplates 中每月平均結果的累積總計
LuckyTemplates 中不同日期的數據規範化結果
在 LuckyTemplates 中非常快速地構建綜合日期表
結論
我在上面向您展示的示例證明了動態偏移的真實情況。您可以在過濾器、切片甚至 DAX 計算中使用它們。
偏移量也可用於週、月、季度、年和財政年度的擴展日期表。它們提供了很大的靈活性,可以輕鬆幫助您獲得想要的結果。
只需繼續使用偏移量,看看它們還有什麼其他用途。您還可以查看了解偏移函數被證明有用的其他案例。
一切順利,
梅麗莎
什麼是 Python 中的自我:真實世界的例子
您將學習如何在 R 中保存和加載 .rds 文件中的對象。本博客還將介紹如何將對像從 R 導入 LuckyTemplates。
在此 DAX 編碼語言教程中,了解如何使用 GENERATE 函數以及如何動態更改度量標題。
本教程將介紹如何使用多線程動態可視化技術從報告中的動態數據可視化中創建見解。
在本文中,我將貫穿過濾器上下文。篩選上下文是任何 LuckyTemplates 用戶最初應該了解的主要主題之一。
我想展示 LuckyTemplates Apps 在線服務如何幫助管理從各種來源生成的不同報告和見解。
了解如何在 LuckyTemplates 中使用度量分支和組合 DAX 公式等技術計算利潤率變化。
本教程將討論數據緩存物化的想法,以及它們如何影響 DAX 在提供結果時的性能。
如果直到現在你還在使用 Excel,那麼現在是開始使用 LuckyTemplates 來滿足你的業務報告需求的最佳時機。
什麼是 LuckyTemplates 網關?所有你必須知道的