レポート サービスでデータを結合するために使用するタイム テーブルを埋める必要があります。通常、私はこのコードでこれを行います:
TRUNCATE TABLE tqTimeTable
DECLARE @CNT int
DECLARE @DATE datetime
DECLARE @END int
SET @CNT = 1
SET @DATE = 25567 -- 01.01.1970
SET @END = 20000 -- + 20k days => years 2024
WHILE(@CNT < @END)
BEGIN
INSERT INTO tqTimeTable (Tag, Monat, Jahr)
VALUES (DATEADD(day,@CNT,@DATE), MONTH(DATEADD(day,@CNT,@DATE)), YEAR(DATEADD(day,@CNT,@DATE)))
SET @CNT = @CNT + 1
END;
しかし、これにはしばらく時間がかかります (私のテスト システムでは約 2 分) ので、誰かが同じ問題を抱えていて、私よりもうまく解決してくれることを願っています。このステートメントを .NET 接続から起動するとき、より高速な解決策が必要な場合、または接続のタイムアウトを上げる方法がない場合。