1

SSRS 2008 R2 レポートがタイムアウトし続ける理由を解明しようとしています。

残念ながら、私は MDX に詳しくありません (ただし、MDX についてはほとんど読みませんでした)。

したがって、基本的には、MDX が適切ではないか (デザイナーなどによって生成された可能性があるため)、またはキューブの設計に問題がある可能性があるためかを知りたいと思います。ある時点でこのクエリが正常に実行されたと言われたため、キューブ設計に傾倒しますが、現在はデータが増えているためかもしれません-わかりません。

SELECT NON EMPTY { [Measures].[Unpaid Sick Hours], [Measures].[Paid Sick Hours], 

[Measures].[All Timecard Hours]
            , [Measures].[Paid Sick Incidents], [Measures].[% Sick Time] } 
ON COLUMNS, NON EMPTY { ([Position].[Position Number].[Position Number].ALLMEMBERS 
            * [Position].[Position Title].[Position Title].ALLMEMBERS 
            * [Union].[Union].[Union].ALLMEMBERS 
            * [Time].[Day Of Week].[Day Of Week].ALLMEMBERS 
            * [Employee].[Employee Type].[Employee Type].ALLMEMBERS 
            * [Employee].[Employee Number].[Employee Number].ALLMEMBERS 
            * [Employee].[Employee First Name].[Employee First Name].ALLMEMBERS 
            * [Employee].[Employee Last Name].[Employee Last Name].ALLMEMBERS ) } 
            DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME 

ON ROWS FROM ( SELECT ( STRTOSET("[Time].[Fiscal Year-Quarter-Month].[F Quarter].&[20124]", CONSTRAINED) ) 
ON COLUMNS FROM ( SELECT ( STRTOSET("[Cost Centre].[Cost Centre Hierarchy].&[1002]", CONSTRAINED) ) 
ON COLUMNS FROM [Contoso HR])) 

助けに感謝します。

ありがとう、KS

4

2 に答える 2

2

考慮すべき点がいくつかあります。

  1. 前述のように、* は CROSS JOIN を意味し、CROSS JOINS にはパフォーマンス上のペナルティがあります。たくさん持っていると頭が痛くなります。短期的なオプションは、NonEmptyCrossjoinを試すことです。

  2. [Position] と [Employee] で CROSS JOIN を複数回実行しています。[Employee Number] を使用して [Employee] を CROSS JOIN し、[Employee Type]、[Employee First Name]、[Employee Last Name] を取得するメンバー プロパティを使用することはできますか

  3. キューブは SQL Server データベースから供給されていますか? もしそうなら、このレポートの出力はかなりフラットに見えることを考えると。私は MDX をやめて、単純に SQL を使用してデータを収集します。

于 2013-03-19T15:46:48.770 に答える
1

MDX はかなり単純明快に見えます...ここで話しているデータの量は? 対策はどのくらい複雑ですか?[%sick time] 以外はすべて基準値ですか?

実行されていない MDX クエリがあるときに最初に行うことの 1 つは、それを MDX Studio で実行し、SSAS エンジンによってどのように処理されているかを確認することです。

于 2013-03-18T18:36:32.610 に答える