web-dev-qa-db-ja.com

メジャーとしての時間

キューブにメジャーとして時間を含めることはできますか?

従業員の開始時間を日別で表示し、時間の平均として集計しています。 No Aggregationメジャータイプを使用しても、デプロイ時にStartTimeが文字列値であるというエラーが表示されます。 time(7)として保存されます。

これはまったく可能ですか?やりたいことはそんなにクレイジーなことのようではないのですか

SQL Server 2008 R2 Enterpriseを使用しています。

6
Jeff

基本的な問題は、SSASで SQLタイプtimestringにマップされる であるということです。

だから私がこれをした方法はJNKのコメントから来たので、すべての小道具を彼に向けました。

時間フォーマットを正しく使用するために、私は以下を返します

(SELECT DATEDIFF(n, CAST('' AS Time), dbo.FactWorkDaySummary.StartTime) / 1440.0) AS StartTime

私からしてみれば。

私のキューブには、平均を適切に計算するための計算されたメジャーがあり、Format_Stringプロパティを "short time"に設定します。これは機能します。1440.0で除算すると、時間は、それらの分が表す日の小数を表す浮動小数点数(日時の表現)に変換されるためです。これは、簡単に平均化することもできます。

日付は「30/12/1899」であり、実際には適用されないため、表示しないようにしてください。

4
Jeff