0

SQL ファクト テーブルに格納されている通話時間を合計できません

Cognos Analytics データ モジュールで使用されている、個人別の通話時間の SQL テーブルがあります。

このデータをクロス集計で使用し、各人の合計通話時間を HH:MM:SS で報告したいと考えています。

時間を合計しようとすると、SQL 列の形式が time(0) になり、Cognos が [MSR-VRF-1202 The column "Call Length" has the data type "time" and can't be aggregated] エラーをスローします。

通話時間の合計を表示する正しい方法は何ですか?

アップデート

Cognos Anaytics で多数のクエリ計算を使用することで、問題の半分を解決することができました。SQL ファクト テーブルを更新して、時間の新しい測定単位 (秒) を含め、以下のクエリ項目を使用しました。

HH as FLOOR(TOTAL([CALLTIMEINSECONDS])/3600)

MM as FLOOR(([CALLTIMEINSECONDS]-[HH]*3600)/60)

[CALLTIMEINSECONDS]-([HH]*3600)-([MM]*60) としての SS

HH1 as IF ([HH]<10) THEN ('0'+CAST([HH],VARCHAR(4))) ELSE (CAST([HH],VARCHAR(4)))

MM1 as IF (MM<10) THEN ('0'+CAST(MM,VARCHAR(2))) ELSE (CAST(MM,VARCHAR(2)))

SS1 as IF (SS<10) THEN ('0'+CAST(SS,VARCHAR(2))) ELSE (CAST(SS,VARCHAR(2)))

[HH1]+':'+[MM1]+':'+[SS1]として常に

これは個々のクロス集計行で機能しますが、集計は行われず、どのチャートでも機能しません。

4

2 に答える 2