2017-05-24 8 views
1

私はいくつかの基準に基づいてカスタマーレベルで(すべて別個の顧客IDを持つ)2つのグループを作成しました。しかし、私はグループレベル(グループID)でこれらをグループ化するのが難しいです。データ構造は以下の通りです。顧客は1つの顧客IDと1つのグループIDを持っています。カスタマーIDは区別されますが、グループIDは異なります。複数の顧客(顧客ID)はグループの一部であり、したがって同じグループIDを有する。複数のグループによるTableauグループ

IF [Sales] >= 200000 and [Category] = 'A' 
OR [CAC] <= 10000 and [Category] = 'A' 
THEN 'Good customer' 
ELSE 'Bad customer' 
END 

上記のコードは私の顧客レベルでのグループ化を提供します:

マイタブローコードは次のようになります。ただし、グループのレベルを確認したい、つまり、あるグループの1人の顧客が「良い顧客」である場合、グループ全体を「良い顧客」として分類する必要があります。つまり、あるグループの顧客が「優良顧客」として分類されている場合、そのグループ内の顧客の[Sales]と[CAC]をグループレベルで集計し、「Good customer」の下に表示する必要があります。顧客レベルではなくグループレベルで実行します。

答えて

0

これを試してみてください:

は、この式でフィールド[GoodCustomer]を作成します。

IF [Sales] >= 200000 AND [Category] = 'A' 
OR [CAC] <= 10000 AND [Category] = 'A' 
THEN 1 
ELSE 0 
END 

これはあなたの状態ですが、それ(1 =優れた顧客、0 =悪い顧客)に数値を代入し

この式でフィールド[GoodGroup]を作成します。

{fixed [Group]: IIF(SUM([GoodCustomer]) > 0, True, False)} 

各グループに対して、[GoodCustomer]の合計が0(少なくとも1人の顧客が良好であったことを意味する)の合計があるかどうかを確認します。これが真であれば、それをTrue(または 'Good Group'を使用する)がFalse(または 'Bad Group')に設定します。

上記の説明が必要です。

+0

ありがとうアレクサンダー!これは実際にそれを行うためのきちんとした方法であり、うまくいきました。あなたの明確な説明に感謝します。 –