什麼是 Python 中的自我:真實世界的例子
什麼是 Python 中的自我:真實世界的例子
在本教程中,我將討論如何使用虛擬變量來編寫更好的 DAX 度量。這尤其適用於需要更複雜的 DAX 的情況。使用這種技術,您可以更靈活地處理不同的變量和條件。您可以在本博客底部觀看本教程的完整視頻。
中遇到的一個問題,我決定編寫本教程。
基於這個問題,Harvey 希望將 Pareto 分析與一些附加標準結合起來。他想查看銷量排名前 20% 的產品,同時還要查看它與其他利潤率超過一定百分比的產品的交集。
目錄
銷售排名和利潤率截止的起草解決方案
根據 Harvey 提到的要求,我創建了一個解決方案草案,其中包含用於Sales Rank和Profit Margin Cutoff 的滑塊。
根據您在這些滑塊上設置的參數,散點可視化將顯示滿足這兩個條件的產品。
假設Sales Rank 是 A,Profit Margin 是B。這基本上顯示了一個條件。這需要相對標準的 DAX 措施。這些顯示在右窗格中的度量下,其中我有Sales Rank,它使用基本的。我還有總成本、總利潤和其他從滑塊獲取值的變量。
對 AND 條件使用虛擬變量
至於AND條件,正是這個措施完成了繁重的工作。
在此度量中,您可能會注意到一些有趣的事情。基本上,這些條件通常用於 / 條件。但我沒有這樣做,而是使用了我稱之為虛擬變量的東西,如果條件為真,它得到一個 1。如果它為假,它得到一個 0。
因此,此度量表明,如果銷售排名小於或等於銷售排名截止值,它會得到 1。如果利潤率大於利潤率截止值,它會得到 1。否則,它們會得到零。
這種方法在統計和回歸分析中非常常見,但在涉及 DAX 時也很有用。
我使用這種方法是因為我需要這些值用於下一部分,我通過將它們相乘來組合這兩個變量。
一旦將兩個虛擬變量Rnk和Marg組合在一起,我就可以繼續進行測量的下一部分。如果該組合值大於零,我分配紅色。如果不是,則將其分配為藍色。
為 OR 條件使用虛擬變量
條件下使用這種方法怎麼辦?
您可以使用相同的過程,但是當涉及到組合變量的步驟時,請使用加號而不是星號。
所以AND 條件需要像這樣的星號:
OR 條件需要像這樣的加號:
一旦你點擊接受,它就會將這些條件應用到散點圖上。滿足這些設定條件的產品將在此處顯示為這些紅點。
為什麼虛擬變量起作用
如果您想知道為什麼這些虛擬變量起作用,我這裡有一些圖表可以提供幫助。
讓我們從AND條件開始。
AND 表示兩個或所有條件都為真。這是以乘法為特徵的。一旦相乘,任何 FALSE 條件都會將整個項設置為 0。因此,如果您有兩個變量 A 和 B,並且兩者都為真,則乘積為 1,返回 TRUE。
但是,如果 A 等於零或 B 等於零,您會遇到三種情況,其中整個項將以零結尾。那就是十字路口。
另一方面,如果我們查看 OR 條件,則意味著其中一個或任何一個條件為真。這需要加法而不是乘法。因此,沒有單個 FALSE 集會導致 0,但只要任何一個條件為真,它就會將該條件遞增 1。
所以在 OR 條件的圖表中,如果 A 和 B 都為 TRUE,則該項得到 2。如果 A 為假但 B 為真,則它得到 1。反向也得到 1,而你只得到 0如果兩個條件都為假。
虛擬變量在哪裡有用
顯然,對於簡單的情況,您可以使用基本的 AND 或 OR 條件。但是,當涉及到更複雜的情況時,這些方法將無法正常工作。這是一個例子。
這個案例顯示了七個變量。A、B 和 C 的組合為真。D 和 E 或 F 和 G 的組合也是如此。
如果您要為這種情況編寫DAX 度量,您可以想像那將是多麼冗長和混亂。但是如果你應用虛擬變量,那麼你可以讓它變得更簡單。您只需替換這些運算符即可獲得更簡單的公式。
從那裡開始,您使用的條件是,如果結果大於 0,則為 TRUE。如果結果等於 0,那麼您將得到一個 FALSE。
讓我們回到 LuckyTemplates 文件,看看它在實際報表中是如何工作的。
所以在這種情況下,紅點表示兩個條件都為真,而紫點表示只有一個條件為真。
進入度量,您將看到虛擬變量 Rnk 和 Marg,其中我們有一個OR 條件,如加號所示。
然後,您還會看到在 TRUE構造下,您有一個 2 導致紅色,這意味著您有兩個TRUE語句。如果其中一個陳述為真,它就會變成紫色。如果兩者都不為真,則結果為 0,這將向您顯示藍點。
這直接對應於我們之前談到的 OR 圖矩陣。
回到我們的最後一個條件,我們可以看看如果我們想查看兩組異常值會發生什麼。基本上,如果我們想查看同時滿足條件 A 和 B 的內容,則此處代表產品 4 和 15 的兩個點滿足該條件。
另一方面,您還可以查看底部異常值,即產品 1。
還要記住,整個報告是動態的。因此,您移動滑塊的次數越多,您可能看到的點就越多。
查看下面的度量,它顯示了我們討論的最後一個案例,其中有四個虛擬變量——最高排名 (TopRnk)、大於或等於邊距的值 (GTEMarg)、最低排名 (BotRank) 和小於或等於保證金 (LEMar)。
查看組合值,我們將 TopRnk 和 GTEMarg 相乘,然後將其添加到 BotRank 和 LEMarg 的乘積。
如果這些條件中的任何一個返回為 TRUE,那麼圖表上將顯示一個紅點。如果不是,它將顯示一個藍點。
在 LuckyTemplates 中對多個 IF 語句使用高級 DAX
如何在 LuckyTemplates 中使用 SWITCH True Logic LuckyTemplates
中的 DAX 函數:使用迭代器
結論
通過使用和組合這些虛擬變量,與文本 TRUE/FALSE 度量所需的通常複雜的 DAX 度量相比,您可以使用簡單的度量獲得所需的結果。
開始在您過去使用 TRUE 或 FALSE 條件的其他報告上嘗試這種方法,看看當您使條件變得更複雜時這會如何影響您的措施。
一切順利,
什麼是 Python 中的自我:真實世界的例子
您將學習如何在 R 中保存和加載 .rds 文件中的對象。本博客還將介紹如何將對像從 R 導入 LuckyTemplates。
在此 DAX 編碼語言教程中,了解如何使用 GENERATE 函數以及如何動態更改度量標題。
本教程將介紹如何使用多線程動態可視化技術從報告中的動態數據可視化中創建見解。
在本文中,我將貫穿過濾器上下文。篩選上下文是任何 LuckyTemplates 用戶最初應該了解的主要主題之一。
我想展示 LuckyTemplates Apps 在線服務如何幫助管理從各種來源生成的不同報告和見解。
了解如何在 LuckyTemplates 中使用度量分支和組合 DAX 公式等技術計算利潤率變化。
本教程將討論數據緩存物化的想法,以及它們如何影響 DAX 在提供結果時的性能。
如果直到現在你還在使用 Excel,那麼現在是開始使用 LuckyTemplates 來滿足你的業務報告需求的最佳時機。
什麼是 LuckyTemplates 網關?所有你必須知道的