2016-10-18 11 views
0

私のデータセットは、顧客アカウントの毎月のスナップショットを提供します。以下は、非常に単純化したバージョンです:パワーピボットで毎月の新しいID番号の数を計算する

Date_ID | Acc_ID 
------- | ------- 
20160430| 1 
20160430| 2 
20160430| 3 
20160531| 1 
20160531| 2 
20160531| 3 
20160531| 4 
20160531| 5 
20160531| 6 
20160531| 7 
20160630| 4 
20160630| 5 
20160630| 6 
20160630| 7 
20160630| 8 

お客様が開いたり、自分のアカウントを閉じることができ、私は毎月「新しい」顧客の数を計算します。これが可能であれば、「退出した」顧客の数も参考になります。

したがって、上記の例では、私は次のような結果を得る必要があります。

Month | New Customers 
------- | ------- 
20160430| 3 
20160531| 4 
20160630| 1 

は基本的に私が選択し、前月に個別の口座番号を比較すると、選択した月内に存在する任意のではなく、前のアール新しいメンバー、先月にあったもの、選択されていないものは出ていません。

私は検索しましたが、同様の問題を見つけることはできませんでした。私は自分自身をどこで始めるべきかほとんどわかりません.DATEADDと共にCALCULATEとFILTERを使って2ヶ月間データをフィルタリングしました。一意の値を数えます。しかし、私のPowerPivotのスキルは、これを自分で解決するのには苦労していません!新しいユーザーを取得

+0

貼り付けたデータを理解するのは難しいですが、再フォーマットできると思いますか? – Charlie

答えて

0

は比較的簡単である - 私は以前ヶ月でそのユーザーの行をカウントし、計算列を追加したいと、彼らが存在しない場合、彼らは新しいユーザです:一度

=IF(CALCULATE(COUNTROWS(data), 
       FILTER(data, [Acc_ID] = EARLIER([Acc_ID]) 
          && [Date_ID] < EARLIER([Date_ID]))) = BLANK(), 
    "new", 
    "existing") 

タイムインテリジェンスのもののどれを - それはあなたが前の月に後方に見ることができるようにしていないことを意味しているためである少し難しくキャンセルユーザーを取得

=CALCULATE(COUNTROWS(data), data[customer_type] = "new") 

:これは、あなたは、単にNEW_USERSのための措置を書くことができる場所でありますPowerPivotで彼女の箱の外で動作します実際の日付の列はありません。

PowerPivotモデルに別の日付テーブルを作成することは、ほとんどの場合、良い方法です。この問題を解決するには良い方法です。本質的には、日付ごとに1つのレコードを作成し、関係。おそらく、いくつかの詳細を記入して返信してください。

+0

素晴らしいですが、これはうまくいくようです。私は実際に私のモデルにリンクされた日付表を持っています - 私は最初の質問で言及を忘れて申し訳ありません。 – Yarwood

0

これはJacobsに代わる方法でもあります。それは計算された列を作成することを避けますが、計算された列が実際に他の測定値に対してフラグとして使用するのに便利です。

=CALCULATE(
    DISTINCTCOUNT('Accounts'[Acc_ID]), 
    DATESBETWEEN(
     'Dates'[Date], 0, LASTDATE('Dates'[Date]) 
    ) 
) - CALCULATE(
    DISTINCTCOUNT('Accounts'[Acc_ID]), 
    DATESBETWEEN(
     'Dates'[Date], 0, FIRSTDATE('Dates'[Date]) - 1 
    ) 
) 

それは基本的には、選択した期間の初日までの時間の初めからすべてのAcc_IDの明確な数を作るために、日付テーブルを使用し、そのすべてのAcc_IDの個別のカウント数から、最初から減算選択された期間の最終日までの時間。これは本質的に新しい別個のAcc_IDの数ですが、どのAcc_IDがこのメソッドを使用しているかは分かりません。

私でしその後、合計の既存のアカウント」など、以前の数ヶ月を取ることによって計算する「退出アカウント」:

=CALCULATE(
    DISTINCTCOUNT('Accounts'[Acc_ID]), 
    DATEADD('Dates'[Date], -1, MONTH) 
) 

そして、「新しいアカウント」を追加し、「総勘定」を差し引い:

=DISTINCTCOUNT('Accounts'[Acc_ID]) 
関連する問題