2016-10-11 53 views
0

我PowerPivot中的數據集,需要找到一種方法來標誌僅限於客戶子事件的首次出現確定事件的第一次出現的基於多指標分析

語境:每一個事件(列)可以有X子事件的數量(COLUMN B), 我已經有一個標誌,可以根據多個條件(列D)標識客戶事件...我需要的是一種標記的方法,只有客戶子事件的第一個匹配項在每個事件中,我已經添加了一個假冒 COLUMN E來說明標記應該如何工作。

enter image description here

UPDATE 其他情況 - 有重複的客戶sub_events而只需要標誌中的第一sub_event ......應該是這樣的:

enter image description here

+0

只有客戶事件會被標記,對嗎? –

回答

0

在模型中創建一個計算列使用以下表達式:

= 
IF (
    [Customer_Event] = 1 
     && [Sub_Event] 
      = CALCULATE (
       FIRSTNONBLANK ('Table'[Sub_Event], 0), 
       FILTER (
        'Table', 
        'Table'[Event] = EARLIER ('Table'[Event]) 
         && [Customer_Event] = 1 
       ) 
      ), 
    1, 
    0 
) 

如果Sub_Event列是一個數字由MIN('Table'[Sub_Event])

而且更換FIRSTNONBLANK ('Table'[Sub_Event], 0)如果你的機器區域設置在我的表達式中使用;(分號)作爲列表分隔符替換每,(逗號)用分號,以配合您的設置。

UPDATE:Sub_Event列中的重複值。

我想我們可以用CaseRow#柱獲得Sub_Event值的第一次出現:

= 
IF (
    [Customer_Event] = 1 
     && [Sub_Event] 
      = CALCULATE (
       FIRSTNONBLANK ('Table'[Sub_Event], 0), 
       FILTER (
        'Table', 
        'Table'[Event] = EARLIER ('Table'[Event]) 
         && [Customer_Event] = 1 
       ) 
      ) 
     && [CaseRow#] 
      = CALCULATE (
       MIN ('Table'[CaseRow#]), 
       FILTER (
        'Table', 
        'Table'[Event] = EARLIER ('Table'[Event]) 
         && [Customer_Event] = 1 
       ) 
      ), 
    1, 
    0 
) 

它不是測試,但應該工作。

讓我知道這是否有幫助。

+0

謝謝!這幾乎適用於每個行項目,但(總是有一個但是)...我沒有提到一個事實,即一個sub_event可以有重複,並區分第一個子事件是COLUMN C ...我如何添加一個額外的條件,因此計算只標記第一個子事件。 –

+0

@MarceloAguilar,你的意思是你可以有一個事件重複的sub_event?如果是這樣,C列將兩個子事件都標記爲客戶端事件? –

+0

是的......我更新了我的原始問題並添加了一張圖片來說明我的觀點。 –