まったく同じ構造を持つ 2 つのテーブルの行間のデルタを計算したいのですが、必ずしも同じデータであるとは限りません。
表 1 (予測)
ID | 名前 | GP | ガ | あ
表1(実績データ)
ID | 名前 | GP | ガ | あ
結果 (ID で一致):
ID | (GP1-GP2) AS デルタGP | (G1-G2) AS DeltaG | (A1-A2) AS デルタ A |
私のドリフトをキャッチしますか?これは、SSAS の予測モデルの誤差を計算するためのものです。
これが私のコードです:
SELECT P.[Player_id]
,P.[PlayerName]
,sum(P.[Games Played])-sum(S.[GamesPlayed]) AS GP
,sum(P.[Total Goals])-sum(s.[TotalGoals]) AS Goals
,sum(P.[Total Assists])-sum(s.[TotalAssists]) AS Assists
FROM [PredictionsPlayersHistory] as P
JOIN [V_StatsPlayers] AS S on p.pLAYER_id = s.Player_id
where S.LastPlayedDate >= '2010-02-01' and P.Player_id
= 8471675 group by P.[Player_id],P.[PlayerName]
order by Goals desc, Assists desc, GP asc
問題は結果が正しくないことです:
予測 (合計)
PlayerName GP ゴール アシスト
シドニー・クロスビー 56 28 34
実績データ(SUM)
PlayerName GP ゴール アシスト
シドニー・クロスビー 26 17 24
結果
シドニー・クロスビー 28 -42 -98