我們目前有多少員工——使用 DAX 的 LuckyTemplates 中的多個日期邏輯

我們目前有多少員工——使用 DAX 的 LuckyTemplates 中的多個日期邏輯

在本教程中,您將學習如何使用 COUNTROWS 和 FILTER 函數計算LuckyTemplates 中多個日期的當前員工總數您可以在本博客底部觀看本教程的完整視頻。

此討論基於 LuckyTemplates 支持論壇中的一個問題。

我們目前有多少員工——使用 DAX 的 LuckyTemplates 中的多個日期邏輯

一位 LuckyTemplates 用戶想要計算在特定時間段內僱用的員工人數。

對於這個問題,了解數據的設置方式很重要。你應該有員工姓名和他們開始和離開的日期,以及其他細節。這些是常見的人力資源相關數據。

要使此技術起作用,您必須使用非活動關係和一種使您能夠計算同一行日期之間的數字的公式。

目錄

員工人數數據和模型

讓我們看一下演示數據。

我們目前有多少員工——使用 DAX 的 LuckyTemplates 中的多個日期邏輯

您可以看到該表使用了員工參考編號。它們很有用,因為人力資源數據庫通常包含大量信息。

還有開始日期和結束日期。如果此人仍然是公司的僱員,結束日期將返回空白。

現在,要找出特定時間段內的員工數量,您首先需要在模型中設置非活動關係。

我們目前有多少員工——使用 DAX 的 LuckyTemplates 中的多個日期邏輯

當您的事實表中有多個日期時,您需要有不活動的關係,以便您可以計算出指定日期之間的信息或邏輯。

例如,如果您想要計算在特定月份內開始工作的員工數量,您需要 Date 表和 Staff Population 表之間的活動關係。

我們目前有多少員工——使用 DAX 的 LuckyTemplates 中的多個日期邏輯

使用非活動關係允許您選擇事實和查找表中的哪些元素打開以使您的計算工作。

選擇上下文

對於此示例,日期具有月份和年份上下文。

我們目前有多少員工——使用 DAX 的 LuckyTemplates 中的多個日期邏輯

您可以通過簡單地更改“可視化”窗格下的“值”來使表格顯示一天的上下文。

我們目前有多少員工——使用 DAX 的 LuckyTemplates 中的多個日期邏輯

這張表也可以變成可視化:

我們目前有多少員工——使用 DAX 的 LuckyTemplates 中的多個日期邏輯

與具有月和年上下文的圖表相比,具有日上下文的圖表具有更精細的詳細信息級別。

現有員工的公式

Current Staff 行的每個結果都應該單獨計算。

我們目前有多少員工——使用 DAX 的 LuckyTemplates 中的多個日期邏輯

您需要隔離每個值並研究其背後的邏輯。

為了更好地理解這個概念,將以 2018 年 5 月所在的行為例:

我們目前有多少員工——使用 DAX 的 LuckyTemplates 中的多個日期邏輯

現在,要計算當前員工的數量,您需要使用進度公式模式中的事件:

我們目前有多少員工——使用 DAX 的 LuckyTemplates 中的多個日期邏輯

反函數

COUNTROWS函數正在計算 Staff Population 表中每一行中員工人數。

我們目前有多少員工——使用 DAX 的 LuckyTemplates 中的多個日期邏輯

VALUES 函數和 FILTER 語句

現在讓我們關注公式中的函數和

對於第一個邏輯,FILTER 函數中的 VALUES 遍歷 Staff Population 表中的每個 Start Date:

我們目前有多少員工——使用 DAX 的 LuckyTemplates 中的多個日期邏輯

如果 Start Date 小於或等於日期,它將評估為 TRUE。

對於 2018 年 5 月的行,MAX 日期是 5 月 31 日。第一個邏輯為您提供了開始日期早於 2018 年 5 月最後一天的所有員工的列表。

現在讓我們看一下公式中的第二個邏輯:

我們目前有多少員工——使用 DAX 的 LuckyTemplates 中的多個日期邏輯

它遍歷 Staff Population 表中每一行的結束日期,其中包含在第一個邏輯運行後保留的開始日期。

如果結束日期大於或等於日期,它將評估為 TRUE。

對於此示例,如果結束日期晚於 5 月的第一天,則員工或僱員在該指定時間範圍內仍然存在。

ISBLANK 函數

ISBLANK評估結束日期是否為空。

我們目前有多少員工——使用 DAX 的 LuckyTemplates 中的多個日期邏輯

如果結束日期返回空白,則表示該員工仍在僱用。

因此,公式中的第二個邏輯有兩個條件。首先,它需要評估 End Date 是否大於或等於該月的第一天;其次,如果它是空白的。

在公式遍歷這兩個邏輯後,它會計算 Staff Population 表中的剩餘數據。

函數中的 FILTER更改計算的上下文。


如何在 LuckyTemplates 中處理多個日期 在
LuckyTemplates 中使用 DAX 主虛擬表 在
LuckyTemplates 中使用 DISTINCTCOUNT 隨著時間的推移計算客戶

結論

本教程介紹瞭如何使用 LuckyTemplates 中的 COUNTROWS 和 FILTER 函數計算多個日期內當前員工的數量。

總而言之,FILTER 語句構建了一個虛擬表,其中包含符合評估標準的數據。然後,COUNTROWS 函數統計剩餘數據,該數據給出了特定時間段內當前員工的數量。

需要不活躍的關係才能使這種技術發揮作用。他們確保您首先遍歷每個員工,然後處理過濾後的數據。此方法保證每個日期的員工計數正確。一個積極的關係會給出不正確的計算。

當您在 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 網關?所有你必須知道的