キューブ ベースのレポート モデルのデザイン
レポート モデルは、レポート マネージャまたは MicrosoftOffice SharePoint Server 2007 (SharePoint 統合モードで実行している場合) を使用して、SQL ServerAnalysis Services (SSAS) キューブから生成します。SSAS キューブからレポート モデルを作成するには、Analysis Services データベースの管理者である必要があります。生成されたモデルを変更することはできません。データベースの内容を変更する場合は、モデルを再生成して、変更を組み込みます。
接続文字列
Analysis Services データベースに基づいてレポート モデルを構築する場合、接続文字列は次のようになります。
Data Source=<レポート サーバー>;Initial Catalog=<データベース名>
注意 |
---|
Analysis Services データベースにキューブの翻訳が含まれている場合は、レポート モデルの翻訳バージョンを作成できます。言語ごとに 1 つのモデルを作成するには、データ ソースの接続文字列内にロケール識別子 (LCID) を指定します。たとえば中国語でモデルを作成するには、Data Source=<レポート サーバー>;Initial Catalog=<データベース名>;LocaleIdentifier=3012 のように接続文字列を指定します。キューブの翻訳の詳細については、「キューブの翻訳」を参照してください。 |
Analysis Services データベースからモデルを生成するルール
キューブからモデルを作成する際に適用される一般的なルールを次に示します。
メジャー グループはエンティティにマップされます。1 つのレポート モデルには、Analysis Services データベース内のすべてのキューブが取り込まれます。
ディメンションはエンティティにマップされます。ファクト ディメンションが別のエンティティになることはありません。たとえば、キューブ内に Sale メジャー グループがあり、Sale Detail というファクト ディメンションがあるとします。このキューブから生成されたモデルは、Sale のすべてのメジャーと Sale Detail のすべてのディメンション属性を含む 1 つのエンティティを生成します。
メジャー グループとディメンション間のリレーションシップは、モデル内でロールに変換されます。参照リレーションシップ (間接リレーションシップに使用される) および多対多のリレーションシップは、モデル内でロールとして定義されます。
メジャーはエンティティ属性に変換されます。
ディメンション属性はエンティティ属性に変換されます。モデルには階層という概念がありません。したがって、ディメンション属性が表示可能である場合、またはディメンション属性に基づいたレベルを含んでいる表示可能な階層が存在する場合は、ディメンション属性はモデルに取り込まれます。ディメンションのキー属性は、非表示に設定されている場合でも、常にモデルに取り込まれます。
メジャーおよびディメンション属性から変換されたエンティティ属性は、キューブで定義されている表示フォルダに応じたフォルダ内にまとめられます。
キューブの分析観点がレポート モデルの分析観点になります。さらに、各キューブがモデル内の分析観点になります。したがって、レポート ビルダ ユーザーは、トップ レベルのモデルではなく、モデル内の分析観点を選択する必要があります。
計算されるメジャー (計算されるメンバ) は、メジャーが関連付けられているメジャー グループに対応するエンティティの属性になります。
ディメンションのキー属性に基づいて定義された名前付きセットは、エンティティのサブタイプに変換されます。たとえば、"Large Customers" という名前付きセットは、"Customer" のサブタイプになります。1 つのキー属性に基づいていない名前付きセットは無視されます。
主要業績評価指標 (KPI) は、KPI が関連付けられているメジャー グループに対応するエンティティの属性に変換されます。各 KPI のさまざまなコンポーネント (Value、Goal、Status、Trend) について、複数の属性が作成されます。さらに、StatusGraphic 属性を保持する Status と TrendGraphic 属性を保持する Trend については、派生属性が作成されます。これらの属性を使用すると、レポートに実際の画像が取り込まれます。
レポート モデルから除外される Analysis Services データベース アイテム
次の SSAS アイテムは、生成されるモデルには取り込まれません。
計算されるメンバ (メジャー ディメンションに含まれていないもの)。
親子階層は、モデル属性またはロールに変換されません。キー属性は取り込まれます。ただし、レポート内でその属性を使用すると、親子階層で集計された値ではなく、キー メンバのメジャー値が表示されます。この場合、パフォーマンスに影響が出ます。
アクション。ドリルスルー アクションも除外の対象となります。集計属性では、キューブ内で定義されているドリルスルー アクションに関係なく、ドリルスルー機能が常に有効になります。したがって、ユーザーがモデルからレポート ビルダ レポートを実行し、集計をクリックしてクリックスルー レポートを表示すると、空の表が表示されます。
属性のリレーションシップ。ディメンションは 1 つのエンティティになり、ディメンション属性間のリレーションシップは、レポート モデルに影響を与えません。
メジャー グループとディメンション間のリレーションシップがディメンションのキー属性以外の属性に基づいている場合、そのリレーションシップは無視されます。たとえば、Budget メジャー グループが Day レベルではなく、Month レベルの Time 属性に関連している場合があります。この場合、Budget エンティティと Time エンティティ間のリレーションシップは、レポート モデルに取り込まれません。
キューブのデザインに関する注意点
レポート モデルを生成するためのキューブをデザインするときは、次の点を考慮してください。
メジャー グループに関連付けられていない計算されるメジャーまたは KPI は、レポート モデルに取り込まれません。計算されるメジャーに関連付けるメジャー グループを構成するには、[計算プロパティ] ダイアログ ボックスを使用する必要があります。
レポート ビルダによって送信されるクエリは常に、ディメンション メンバのメンバ値を要求し、メンバ値を並べ替えとフィルタ処理に使用します。Analysis Services の既定では、属性に名前のバインドが含まれている場合は、メンバ値がメンバ名と同じになり、属性に名前のバインドが含まれていない場合は、メンバ値がメンバ キーと同じになります。ただし、各属性にはメンバ値が与えられる列への明示的なバインドが含まれている場合があり、その場合は "true" データ型の値が返されます。たとえば、Analysis Services の Date 属性に、DateTime データ型であるキー ("4/25/2008" など) と、説明テキストである名前/キャプション ("2008 年 4 月 25 日金曜日") が含まれているとします。この場合、キューブの設計者は、並べ替えとフィルタ処理が適切に行われるように、MemberValue をキーに設定する必要があります。どの属性についてもこの点を考慮する必要がありますが、DateTime データ型の属性の場合は特に注意してください。DateTime データ型の属性の場合、生成されるモデルには、2 つのレポート モデル属性が含まれています。1 つはキャプションに相当する属性で、もう 1 つはキャプションを異なる形式で適切に表現した DateTime データ型の値です。
ディメンション属性のプロパティ InstanceSelection を使用して、エンティティにレポート モデル プロパティ InstanceSelection を設定し、属性に ValueSelection を設定します。それによって、ユーザーがレポート ビルダでインスタンスを選択する際に使用できる方法 (たとえば、ドロップダウン リストを使用する) が決まります。
ディメンション属性のプロパティ GroupingBehavior を使用して、モデル属性のプロパティ DiscourageGrouping を設定します。
画像であるディメンション属性にはすべて、ディメンション属性のバインドに Image データ型が設定されている必要があります。
メジャーから生成された属性では、ドリルスルー機能が常に有効になりますが、既定のドリルスルー レポートに取り込まれるのは、最小限の詳細のみになります。必要に応じて、カスタム ドリルスルー レポートを追加する必要があります。
キューブに変換が含まれている場合、必要に応じて接続文字列で LocaleIdentifier プロパティを設定することにより、変換ごとに 1 つのデータ ソースを作成して、レポート モデルで公開する必要があります。データ ソースごとに 1 つのモデルが生成され、関連付けられている変換からメタデータが取り込まれます。