如何使用 CROSSJOIN 函數 – LuckyTemplates & DAX 教程

如何使用 CROSSJOIN 函數 – LuckyTemplates & DAX 教程

對於這篇博文,我想演示CROSSJOIN函數。我將展示我如何使用它的示例,然後解釋您可以在何時何地使用它。您可以在本博客底部觀看本教程的完整視頻。

CROSSJOIN 是一個非常有效的函數,您可以在 LuckyTemplates 內部使用它來將兩個數據表綁定在一起。

目錄

使用 CROSSJOIN 簡化公式

這不僅僅是從數據集中選擇任意兩個表。您可以在CROSSJOIN函數內部操作表,以便以更有意義的方式連接它們。

您可能希望在 LuckyTemplates 內部實現大量分析,而此功能將為您極大地簡化分析。

它簡化了創建這些計算所需編寫的函數或度量,並最終以引人注目的方式將它們可視化。

如何使用 CROSSJOIN 函數

在這個例子中,我想自動創建預算,但不想創建通用的月度或年度預算。我想按產品和月份創建預算。

如果您查看此模型,產品在一張表中,而我們的月份位於另一張表中。

如何使用 CROSSJOIN 函數 – LuckyTemplates & DAX 教程

我們沒有同時包含產品和預算的表格。它不存在,所以我們需要創建它。我需要做的是將這些單獨表中的這些列組合在一起以創建一個新表,並在我的數據模型中使用基於這兩個特定元素的一些邏輯。

這就是CROSSJOIN 的用武之地。它允許您將不同表中的兩列或一系列列網格化,並將它們合併為一個。使用CROSSJOIN,我設法創建了產品預算表。

如何使用 CROSSJOIN 函數 – LuckyTemplates & DAX 教程

可能還有其他方法可以做到這一點,但這是從無到有重新創建表的最有效方法。

為實現此表,我還使用了其他表函數,我將簡要介紹這些函數,但現在我將重點關注CROSSJOIN 。

此函數使我能夠創建來自日期表的MonthName列和來自產品表的產品 ID列。所以這是我合併創建另一個表的兩個完全不同的表。

如何使用 CROSSJOIN 函數 – LuckyTemplates & DAX 教程

我是怎麼做到的?讓我們通過單擊此圖標並使用 DAX 公式來創建一個全新的表。

如何使用 CROSSJOIN 函數 – LuckyTemplates & DAX 教程

我將在這裡創建一個演示表並使用CROSSJOIN函數。如您所見,IntelliSense 非常擅長代碼完成;它告訴我們需要了解的有關我們剛剛鍵入的函數的信息。

如何使用 CROSSJOIN 函數 – LuckyTemplates & DAX 教程

它告訴我們CROSSJOIN “返回一個表,該表是指定表的交叉連接”。

所以基本上這意味著該函數將合併兩個表。

我將從VALUES開始,它允許我們輕鬆提取或創建特定列的表。

如何使用 CROSSJOIN 函數 – LuckyTemplates & DAX 教程

然後我將添加MonthName。然後我將再次添加VALUES ,然後是我的Product ID

如何使用 CROSSJOIN 函數 – LuckyTemplates & DAX 教程

請記住,這不一定是單個日期列。它可以是一個表中的多個列。可以使用公式和一系列不同的表格函數以虛擬方式創建表格。所以這些都是所有這些 DAX 公式的衍生物,而VALUES只會帶來一列信息。

使用CROSSJOIN會給我每個產品和月份。

如何使用 CROSSJOIN 函數 – LuckyTemplates & DAX 教程

這就是您利用CROSSJOIN 的方式——創建這些以前不存在的全新表,並將它們有效地合併到您的模型中。請記住,這些來自兩個完全不同的表——日期產品預算表。

使用 DISTINCT 和 SUMMARIZE 函數

讓我回到我的產品預算指標。顯然,這更複雜,因為我沒有使用VALUES ,而是使用了不同的函數。

如何使用 CROSSJOIN 函數 – LuckyTemplates & DAX 教程

如果您可以使用DISTINCT ,則不必使用VALUES,它做同樣的事情,但是有一些細微的差別。

SUMMARIZE函數還提供了更多的靈活性。與VALUESDISTINCT相比,您可以使用此函數添加更多列。

在這種特定情況下,我想通過考慮去年的結果來為特定年份創建預算。我為其添加了 7.5% 的增長因子,並在這個特定的表格中展示了它。

我沒有經歷將所有預算放在一起並進行猜測的瘋狂過程,而是通過利用歷史信息自動創建它們,對其施加一個因素,然後使用 CROSSJOIN 將其放入一個表中

使用 CROSSJOIN 的其他方法

如果您考慮一下,您可以通過不同的方式使用CROSSJOIN 。在這種情況下,我將其用於產品。

但是,在處理區域預算、銷售人員預算或客戶預算時,您可以對CROSSJOIN使用完全相同的技術。

結論

CROSSJOIN將利用您放置在其中的兩個表並將它們放在一起。

如果您了解這項技術的實際工作原理,您將能夠在自己的模型中運行此類分析。

我還在最近的LuckyTemplates 網絡研討會系列研討會中演示了CROSSJOIN函數,其中我介紹了在分析預算和預測與實際結果時使用的許多其他技術。

祝你好運!


什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

如何在 R 中保存和加載 RDS 文件

如何在 R 中保存和加載 RDS 文件

您將學習如何在 R 中保存和加載 .rds 文件中的對象。本博客還將介紹如何將對像從 R 導入 LuckyTemplates。

回顧前 N 個工作日——DAX 編碼語言解決方案

回顧前 N 個工作日——DAX 編碼語言解決方案

在此 DAX 編碼語言教程中,了解如何使用 GENERATE 函數以及如何動態更改度量標題。

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

本教程將介紹如何使用多線程動態可視化技術從報告中的動態數據可視化中創建見解。

LuckyTemplates 篩選上下文簡介

LuckyTemplates 篩選上下文簡介

在本文中,我將貫穿過濾器上下文。篩選上下文是任何 LuckyTemplates 用戶最初應該了解的主要主題之一。

使用 LuckyTemplates 在線服務中的應用程序的最佳技巧

使用 LuckyTemplates 在線服務中的應用程序的最佳技巧

我想展示 LuckyTemplates Apps 在線服務如何幫助管理從各種來源生成的不同報告和見解。

隨著時間的推移分析利潤率變化——使用 LuckyTemplates 和 DAX 進行分析

隨著時間的推移分析利潤率變化——使用 LuckyTemplates 和 DAX 進行分析

了解如何在 LuckyTemplates 中使用度量分支和組合 DAX 公式等技術計算利潤率變化。

DAX Studio 中數據緩存的物化想法

DAX Studio 中數據緩存的物化想法

本教程將討論數據緩存物化的想法,以及它們如何影響 DAX 在提供結果時的性能。

使用 LuckyTemplates 進行業務報告

使用 LuckyTemplates 進行業務報告

如果直到現在你還在使用 Excel,那麼現在是開始使用 LuckyTemplates 來滿足你的業務報告需求的最佳時機。

什麼是 LuckyTemplates 網關?所有你必須知道的

什麼是 LuckyTemplates 網關?所有你必須知道的

什麼是 LuckyTemplates 網關?所有你必須知道的