2016-07-28 17 views
0

内のグループで最小を見つける:どのように私は、することができ、ユーザーごとに「優秀」PaymentTypeの最低限の月を返す計算を作成することができます私はこのようになり、データ持っているタブロー

User  PaymentType   Month 
----------------------------------- 
A  Early Payment   1 
A  Early Payment   2 
A  Early Payment   3 
A  Outstanding   4 
A  Outstanding   5 
A  Outstanding   6 
B  Early Payment   1 
B  Early Payment   2 
B  Early Payment   3 
B  Outstanding   4 
B  Outstanding   5 
B  Outstanding   6 

をデータに新しい列として入れますか?すべてのユーザーに最初の「優秀な」PaymentTypeがいつ作成されたかを追跡する必要があります。

答えて

2
{ FIXED [User] : MIN(IIF([Payment Type] = 'Outstanding', [Month], NULL)) } = [Month] 

これは、未払いのユーザーの最初の月の場合はtrue、それ以外の場合はfalseです。データは次のようになります:

+------+---------------+-------+---------------------------+ 
| User | PaymentType | Month | First Outstanding Payment | 
+------+---------------+-------+---------------------------+ 
| A | Early Payment | 1  | F       | 
| A | Early Payment | 2  | F       | 
| A | Early Payment | 3  | F       | 
| A | Outstanding | 4  | T       | 
| A | Outstanding | 5  | F       | 
| A | Outstanding | 6  | F       | 
| B | Early Payment | 1  | F       | 
| B | Early Payment | 2  | F       | 
| B | Early Payment | 3  | F       | 
| B | Outstanding | 4  | T       | 
| B | Outstanding | 5  | F       | 
| B | Outstanding | 6  | F       | 
+------+---------------+-------+---------------------------+ 

これは、あなたが私たちに与えた正確なデータです。あなたの月がたとえば日付フィールド(単純に数字ではない)の場合、またはデータに年を追加した場合、あるいは1か月に複数の支払いがある場合は、この数式を調整する必要があります。しかし、これは、あなたが探しているものを計算する方法についての基本的な考え方を提供し、あなたのニーズに合わせて計算を更新することは困難ではありません。


ブール値は、あなたが探しているものではない場合、あなただけのフィールドは、最初の優れた支払の月の数を保持持っている条件を取り出すことができます。

{ FIXED [User] : MIN(IIF([Payment Type] = 'Outstanding', [Month], NULL)) } 

その場合、あなたのデータは次のようになります。

+------+---------------+-------+---------------------------+ 
| User | PaymentType | Month | First Outstanding Payment | 
+------+---------------+-------+---------------------------+ 
| A | Early Payment | 1  | 4       | 
| A | Early Payment | 2  | 4       | 
| A | Early Payment | 3  | 4       | 
| A | Outstanding | 4  | 4       | 
| A | Outstanding | 5  | 4       | 
| A | Outstanding | 6  | 4       | 
| B | Early Payment | 1  | 4       | 
| B | Early Payment | 2  | 4       | 
| B | Early Payment | 3  | 4       | 
| B | Outstanding | 4  | 4       | 
| B | Outstanding | 5  | 4       | 
| B | Outstanding | 6  | 4       | 
+------+---------------+-------+---------------------------+ 
関連する問題