節によるパーティション分割を使用して、人々の毎月の数字を計算しています。
私の結果の短い例:
Date Person Team Daily Figure Month To Date
24/09/17 James 2 50 200
24/09/17 James 2 50 200
25/09/17 James 2 50 200
25/09/17 James 2 50 200
私は毎日の数字を人と月に分けて月の数字を計算しています。
CASE
WHEN
MONTH([DATE]) = MONTH(getdate())
THEN SUM(Figure)
OVER (PARTITION BY [Name],
MONTH(DATE]))
ELSE 0
END AS 'Month To Date'
私が抱えている主な問題は、今日の毎日の数字だけを表示したいが、月全体の値を表示したいということです。私は各人の数字をグループ化し、今日に制限しますが、人ごとにグループ化できるようにするには、今までの月の数字を合計する必要があります。
Date Person Team Daily Figure Month To Date
25/09/17 James 2 100 800
毎日の数字は正しいですが、重複した行を明らかに合計しているため、間違った数字が得られます。
今日の理想的な結果は次のとおりです。
Date Person Team Daily Figure Month To Date
25/09/17 James 2 100 200
重複行なし。
誰かがこれについて何かアドバイスを受けましたか? 基本的に重複したパーティション化された行を削除するため、グループ化された正しい月から現在までの数値を取得します
アップデート:
各行は、各人の個別の図です。何もグループ化されていないため、各人は毎日少なくとも 20 行の数値を表示できます。