2017-07-07 64 views
0

我有一個名爲Staff_Starters(https://www.dropbox.com/s/khowqfgytc6fvq8/data.csv?dl=0)的表格,它連接到Date維度。如何使用兩個日期列來計算每月和每年的總人數?

是否有可能在Staff_Starters中創建一個計算列或度量值,該度量值具有DateEmployed &的所有人在具有Termination_Date時停止計數。

該公式將計算單個多次,直到它們的結束日期不等於當前日期。

我現在有一個叫做Staff_Starterts與主列的表:

  1. ,STAFFID
  2. 全名
  3. DateEmployed
  4. Termination_Date
  5. 團隊成員
  6. 狀態
  7. 實踐
  8. 地區
  9. 羣集
  10. 等級

[起動器,離開者&實價] [1]

使用的公式:人數運動= CALCULATE( COUNTROWS(職員), FILTER(職員, AND(Staff [Date Employed] < = MIN(Date_Dim [Calendar_Date]), Staff [Termination_Date]> = MAX(Date_Dim [Calendar_Date]))))

回答

2
Count = CALCULATE(         
    COUNTROWS(data), 
    FILTER(data, 
     AND(data[Date Employed]<MIN('Calendar'[Date]), 
      data[TerminationDate]>MAX('Calendar'[Date]) 
    ) 
) 
) 

結果

Date  Count 
2017-01-01 85 
2017-02-01 74 
2017-03-01 58 
2017-04-01 37 

編輯:響應於評論,說明如下。 (從MSDN引號)

CALCULATE

評估了一個上下文是由指定的過濾器

COUNTROWS改性的表達式:(明顯,但保持爲完整)

統計指定表中的行數,或由表達式定義的表中的行數

FILTER

返回表示另一個表或表達的一個子集的表。

AND

檢查是否兩個參數都爲TRUE。


AND(data[Date Employed]<MIN('Calendar'[Date]), 

包括當前所選時間段開始之前與Date Employed僅條目。

data[TerminationDate]>MAX('Calendar'[Date]) 

僅包含當前所選時段結束後的TerminationDate的條目。


這應該足以適應措施計數「畢業生」,「啓動器」等等,只要你能在比較開始,終止的條件和所選期間日期定義它。

+0

Hi @ user5226582 該公式將我拋出一個錯誤,指出表'Date_Dim'中'Calendar_Date'列的單個值無法確定。當度量公式引用包含許多值但未指定聚合的列(如min,max,count或sum)以獲得單個結果時,可能會發生這種情況。 – Roberto

+0

非常感謝@ user5226582,它現在有效。是否有可能根據該公式來計算人數變動,以計算起跑者,離職者和淨增長率? – Roberto

+0

非常歡迎。這是一個不同的問題,雖然我增加了一些解釋,這應該足以使措施適應您的需要。 – user5226582

相關問題