1

社員旅行にかかった日数を表示しようとしています。営業担当者は正確な金額を入力しないため、SQL で計算され、データ ロードで にDWH追加されTravelIDます。travelID3 つのトリップ ラインが接続されているために 3 回存在する場合、各ラインは 3 の量を取得します。

DWH データベース

TravelID   1234       TriplineID   2345     #Days  3
TravelID   1234       TriplineID   2346     #Days  3
TravelID   1234       TriplineID   2347     #Days  3

したがってTravelID、複数TriplineIDの 'sを持つことができます

問題は、立方体を測定したいときです.3をすべてカウントアップすることです. この場合、#Days は 1 回の移動で 9 ですが、3 である必要があります。

                                     #Days
--TravelID      1234
     --TripLineID   -2345            3
     --TripLineID   -2346            3
     --TripLineID   -2347            3
     Total                           9

次に、行数で割ると思いました。 ([Measures].[# Days] / [Measures].[Count])

次に、部分的に正しい結果が表示されます。

                                     #Days
--TravelID      1234
     --TripLineID   -2345            3
     --TripLineID   -2346            3
     --TripLineID   -2347            3
     Total                           3
Total                                2

明らかに複数TravelIDの があるため、その Total も除算しますが、実際には前の Totals の合計を作成する必要があります。

これを実装する効率的な方法は何でしょうか? 私はこれに頭を悩ませて一日中過ごしていますが、良い解決策を見つけることができないようです.

問題の全体像を次に示します。

                                     #Days
--TravelID      1234
     --TripLineID   -2345            3
     --TripLineID   -2346            3
     --TripLineID   -2347            3
     Total                           3
--TravelID      1235
     --TripLineID   -2348            4
     --TripLineID   -2349            4
     --TripLineID   -2350            4
     Total                           4
Total                                2

ここの 2 は 7 だったはずです。

4

1 に答える 1