使用 LuckyTemplates DAX 函數處理價格超時變化的產品

使用 LuckyTemplates DAX 函數處理價格超時變化的產品

在這篇博文中,我們將進行涉及 LuckyTemplates DAX 函數的高級但真實的分析。您可以在本博客底部觀看本教程的完整視頻。

所討論的場景是當您的產品價格隨時間變化時。

隨著時間的推移,您查看的許多演示/展示表明,產品的價格從時間開始到最新日期始終保持不變。實際上,情況並非如此。

在許多原始數據表中,您可能有一個設置,其中價格可以在不同的時間範圍內更改為另一個價格。例如,價格可能會因季節性需求而變化。

目錄

為價格變化實施 LuckyTemplates DAX 函數

我們將在這篇博文中介紹的技術將幫助我們應對這些價格變化。要使用LuckyTemplates DAX函數正確執行此操作需要一些學習曲線。

這可以通過正確設置數據模型並利用更高級的 DAX 公式組合來完成。

使用 LuckyTemplates DAX 函數處理價格超時變化的產品

對於這個例子,您可能事先知道您的歷史價格變化是什麼,並且您希望將這些價格變化整合到您的模型中。但在這種情況下,您的事實表中可能沒有價格。將此 Sales 表視為交易表。

如果此表中有定價,那麼您可能不必這樣做。支持論壇上看到問題突然出現,定價在一個單獨的表格中,需要集成到其中。

使用 LuckyTemplates DAX 函數處理價格超時變化的產品

我創建了一個表格,其中包含每個產品以及每個季度變化的每個產品的價格。所以我有一個產品名稱和一個季度維度。

因此,對於產品 1,它在第三季度的價格為 1,680.75 美元。

使用 LuckyTemplates DAX 函數處理價格超時變化的產品

但是,如果向下滾動表格,我們會發現產品 1 的價格在第四季度已更改為 2,666.79 美元。

使用 LuckyTemplates DAX 函數處理價格超時變化的產品

在聖誕節期間,我們將產品價格提高了很多,因此我們需要知道這些價格是如何變化的。這對於未來預測和情景分析來說是一個非常好的主意,因為您可能會發現自己在很多情況下都在預測價格變化。

表之間的關係

這裡棘手的部分是如何將其放入我們的模型中。Product 表列出每個產品一次,但 Product Pricing 表多次引用產品。所以我們不能在 Product Pricing 表和 Sales 表之間建立關係。

我們沒有辦法這樣做,因為產品定價表中有多個值,我們希望查找表(產品表)位於唯一的一側。

使用 LuckyTemplates DAX 函數處理價格超時變化的產品

在這種情況下,我們需要創新並弄清楚如何使用幾個 LuckyTemplates DAX 函數從產品定價表中獲取數據點,同時分析銷售表中的數據。

使用 LuckyTemplates DAX 函數處理價格超時變化的產品

計算平均產品定價

我就是這樣做的。當我模擬這個場景時,我還做了一些額外的事情。我這裡有這個特定的表格,其中包含產品名稱、平均當前價格和平均產品定價,這將根據我們選擇的季度進行更改。

使用 LuckyTemplates DAX 函數處理價格超時變化的產品

要計算平均產品定價,您必須記住日期表(這是季度的來源)和產品定價表之間實際上沒有關係。

使用 TREATAS 功能

因此,當我們在這裡進行選擇時,我們需要以某種方式過濾 Sales 表以確保通過正確的季度價格。為此,我使用了TREATAS功能,它允許您創建這些虛擬關係。

使用 LuckyTemplates DAX 函數處理價格超時變化的產品

通過TREATAS虛擬創建關係後,產品名稱和詳細信息將根據我們所做的季度選擇而變化。

TREATAS功能在產品價格並不總是保持不變的預測、廣告和市場營銷中有很多應用。您將不得不結合使用多種技術來實際解決這些類型的問題。

使用 LuckyTemplates DAX 函數處理價格超時變化的產品

現在,我想根據一次性價格比較歷史上的總銷售額。我想比較總銷售額和價格調整,其中包含我們所有的銷售額,但考慮了季度的所有這些定價調整。

使用 LOOKUPVALUE 函數

使用 LuckyTemplates DAX 函數處理價格超時變化的產品

為了獲得我想要的結果,我想出了使用LOOKUPVALUE函數的公式。對於帶價格調整的總銷售額計算,我使用了SUMX函數 sales,引用了 Sales 表,然後跳轉到了 Quantity 表。作為最後一步,我使用了LOOKUPVALUE函數。

LOOKUPVALUE是您可能獲得的最接近VLOOKUP 的值。它基本上是在 Product Pricing 表中執行一種VLOOKUP,然後將其帶入我們在 Sales 表中執行的迭代。

LOOKUPVALUE的優點在於您不需要任何關係即可使用它。您可以通過引用特定表中的某些元素來跳轉到其他表。

使用 LuckyTemplates DAX 函數處理價格超時變化的產品

通過使用LOOKUPVALUE函數,您將能夠跟踪價格變化。讓我們看看去年 2018 年 4 月 26 日發生了什麼。我們售出了 1 個產品,產品 53。

Total Sales 列將考慮 1,526 美元的新價格,而 Total Sales w/Price Adjustment 列將考慮 1327.62 美元作為平均產品定價。

深入研究 TREATAS 功能——LuckyTemplates 的虛擬關係如何在 LuckyTemplates 中使用 TREATAS 創建虛擬關係LuckyTemplates 中的多貨幣邏輯——LOOKUPVALUE 示例

結論

在此示例中,我使用TREATAS函數在我的數據模型中創建唯一的虛擬關係。在處理更複雜的數據時,這是一個很好的學習技巧。

我們還必須查看LOOKUPVALUE函數。這是另一個不經常使用的獨特功能,但我們需要在這個特定示例中使用它是合乎邏輯的。

我們實施了一些高質量的開發技術,涵蓋了您在業務中的某個時刻可能會處理的非常真實的數據場景。

有關更多業務分析示例,請查看LuckyTemplates Online 上的以下迷你係列模塊。

通過這個詳細的視頻享受工作。


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