使用 TREATAS 函數在 LuckyTemplates 中創建虛擬關係

使用 TREATAS 函數在 LuckyTemplates 中創建虛擬關係

DAX 中的TREATAS函數是您可以在 LuckyTemplates 模型中使用的最有趣的 DAX 公式之一。您可以在本博客底部觀看本教程的完整視頻。

它有一個非常具體的用法,如果您希望簡化數據模型和 DAX 公式,這將是有益的。

在本教程中,我將向您展示如何在公式中創建虛擬關係。您不需要在數據模型中創建任何物理關係。您實際上可以使用此TREATAS 函數鏈接兩個表或來自兩個不同表的兩列

這個例子是我與 LuckyTemplates 成員和其他與會者圍繞收入預算舉行的學習峰會的一部分。

使用 TREATAS 函數在 LuckyTemplates 中創建虛擬關係

在 LuckyTemplates 中管理預算與實際結果時,我將向您展示的這項技術非常重要。您可以通過組合模型和正確的 DAX 計算來高效地創建此分析。

所以在這裡我們想分析這是如何隨著時間的推移而發生的,我們正在累積地展示它。我們還可以選擇並關注任何特定區域、單個元素或查找表,並查看我們的預算情況。

使用 TREATAS 函數在 LuckyTemplates 中創建虛擬關係

本教程的有趣之處在於模型的結構。您可以通過了解虛擬關係在 LuckyTemplates 中的作用,以這種方式有效地構建它。因此,在我們進入 LuckyTemplates TREATAS 計算之前,讓我們看一下數據模型。

目錄

虛擬關係的模型結構

我們這裡的模型非常詳細,但對於本教程,我們將重點放在虛擬表上。如果您查看區域預算表,您會注意到它之間沒有任何物理關係。

使用 TREATAS 函數在 LuckyTemplates 中創建虛擬關係

像這樣的虛擬表將為我們完成艱苦的工作。他們將根據我們希望根據我們的選擇顯示的計算為我們創建正確的過濾器。

仔細查看我們的區域預算,您會發現它是按城市細分的。我們有每個城市 2018 年的實際預算。這是用公式創建的,但我現在不會深入討論,因為這是另一個教程的主題。

但是,如果您查看此表,我們就會發現每天都在發生的實際信息,並且這些結果以年度為粒度。 

使用 TREATAS 函數在 LuckyTemplates 中創建虛擬關係

我們需要能夠將它們分解並在全年進行分配。所以我們有另一個表,我稱之為預算敏感度表。 

使用 TREATAS 函數在 LuckyTemplates 中創建虛擬關係

為了分配年度預算,我給了每個月一個敏感係數。這將合計為一,因為預算敏感度將每月分解為 100% 的各個部分。 

如果我們回到我們的模型,您會看到這個預算敏感度表也沒有連接到任何東西。沒有肉體關係。

使用 TREATAS 函數在 LuckyTemplates 中創建虛擬關係

這種技術將為您的模型帶來很多效率。你沒有到處都是線路。您不必創建額外的表來創建正確的關係。我們可以使用 TREATAS 虛擬地做到這一點。 

因此,就設置而言,我們有年度預算,我們可以將其分解為月度預算,因為我們具有敏感性。現在我們需要計算出每天的數量,因為這就是我們計算累計總數的方式。 

使用 TREATAS創建虛擬關係

首先,我們需要創建一個可以按區域表中的內容進行過濾的計算。如果您能理解 LuckyTemplates TREATAS 的工作原理,您將能夠很好地簡化模型並創建這些虛擬關係。 

因此,在我們的第一個公式“年度預算”中,我們總結了年度總計,但我們也能夠通過城市或地區表中的內容過濾年度總計。這是因為我們將 Regional Budgets 表中的 City 列與 Regions 表中的 City 列鏈接起來。

使用 TREATAS 函數在 LuckyTemplates 中創建虛擬關係

但在這種情況下,我們只有年度信息。我們需要按月對其進行細分,因此這就是敏感性所在。我創建了另一個名為2018 月度預算的衡量標準。

在這裡,我們在 Date 表(即Budget Sensitivity表中的Short Month列和Month Name列)之間創建虛擬關係。 

如果在特定上下文中,它可能類似於月份和年份,則將基於此過濾此預算敏感度。這正是該措施的IF 邏輯中出現的問題。然後年度預算乘以 BudgetAllocation

使用 TREATAS 函數在 LuckyTemplates 中創建虛擬關係

最後,我們將按天對其進行細分以對其進行累計。由於我們有每月信息,從邏輯上講,我們所要做的就是將每月信息乘以或除以特定月份的天數。這將在日常水平上對其進行分解。

這個每日級別公式的第一部分,2018 年每日預算,與我們對每月級別所做的非常相似。然後,我們計算出我們可能在任何特定月份或上下文中有多少天,這就是 DaysInMonth 的變量 ( VAR )中發生的情況

使用 TREATAS 函數在 LuckyTemplates 中創建虛擬關係

我們在Dates表中使用COUNTROWS ,使用ALL 函數刪除Dates 的上下文,然後使用VALUES 函數將其添加回月份和年份。所以它說如果我們在一月份,他們將是 31 天。然後我們使用相同的 IF 邏輯,但我們將它乘以 1,然後除以 31(對於一月)。


深入研究 TREATAS 函數——LuckyTemplates 的虛擬關係
使用 DAX 在 LuckyTemplates 中跨每日結果分配每月預測
使用 LuckyTemplates DAX 函數處理價格隨時間變化的產品

結論

可以以許多不同的方式利用虛擬關係。當然還有許多其他場景可以使用此技術,但這是一個很好的例子。我們使用 TREATAS 函數在 LuckyTemplates 內部創建了虛擬關係。

使用這個函數的最合乎邏輯的原因以及我在我開發的很多模型中大量使用它的原因是它確實簡化了你在模型後端所做的一切;在 LuckyTemplates 報表的數據模型中。

TREATAS 函數可以真正簡化數據模型方面以及可以構建到 DAX 公式中的關係,而不是擁有一系列可能會給您的開髮帶來許多複雜性的關係。

我希望你喜歡這個!

***** Learning LuckyTemplates?*****







什麼是 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 網關?所有你必須知道的