バージョン

リモート プロバイダーからの igOlapXmlaDataSource の構成

トピックの概要

目的

このトピックでは、igOlapXmlaDataSource™ コンポーネントのためにリモート データ プロバイダーを構成する方法を説明します。

前提条件

以下の表は、このトピックを理解するための前提条件として必要なトピックと記事の一覧です。

トピック

外部リソース

このトピックの内容

このトピックは、以下のセクションで構成されます。

概要

リモート データ プロバイダー用の igOlapXmlaDataSource を構成するには、まず ASP.NET MVC アプリケーションにデータ プロバイダーを追加してから、リモート プロバイダーを使用するように igOlapXmlaDataSource を構成し、それをプロバイダー URL により提供します。

リモート データ プロバイダーの構成についての概念的な説明は、データ プロバイダーの構成 - 概要 (igOlapXmlaDataSource)を参照してください。

リモート データ プロバイダーの構成 - 概念的な概要

リモート データ プロバイダーの構成の概要

以下の表は、igOlapXmlaDataSource コンポーネントでサポートされるリモート データ プロバイダーのタイプを示し、各タイプを簡単に説明します。

リモート データ プロバイダーのタイプ 説明
XMLA SSAS の HTTP データ プロバイダー (msmdpump) に接続します。
ADOMD.NET Microsoft® ADOMD.NET を使用して SSAS インスタンスに直接接続します。

要件

以下に示すのは、リモート データ プロバイダーから igOlapXmlaDataSource を構成するための全般的な要件です。

  • 少なくとも 1 つのデータベースを持つ Microsoft SSAS サーバー
  • (条件付き - ADOMD プロバイダーのみ) ADOMD.NET Client (Microsoft.AnalysisServices.AdomdClient.dll アセンブリ バージョン 10.0.0.0) がサーバーにインストールされていること
  • (条件付き - XMLA プロバイダーのみ) HTTP サーバーが MS SQL Server インスタンスへの読取りアクセス権を持つこと
  • 以下のアセンブリへの参照を持つ ASP.NET MVC アプリケーション:
    • Infragistics.Web.Mvc.dll
    • (条件付き - ADOMD プロバイダーのみ) Infragistics.Olap.DataProvider.Adomd.Mvc.dll

手順

リモート データ プロバイダーから igOlapXmlaDataSource を構成するための一般的な手順を簡単に示すと、次のようになります。

  1. エンドポイントの構成

  2. igOlapXmlaDataSource の構成

この手順の具体的な例は、リモート データ プロバイダーの構成 - 例を参照してください。

リモート データ プロバイダーの構成 - 例

概要

この手順は、ASP.NET MVC アプリケーションで ADOMD.NET リモート データ プロバイダーまたは XMLA リモート データ プロバイダーを設定し、データ プロバイダーからのデータを実行する igOlapXmlaDataSource を構成して igPivotGrid™ で視覚化します。(オプションで、カタログ、キューブ、行、列、メジャーのプリロード、またはデータ ソースの追加構成ができます。この手順では、結果を表示するためにピボット グリッドが追加されます。)

プレビュー

次のスクリーンショットは最終結果のプレビューです。ピボット グリッドにリモート データ プロバイダーからのデータが取り込まれています。

前提条件

この手順を実行するには、以下のリソースが必要です。

  • 「HTML ページまたは JavaScript への igPivotGrid の追加」に記載された必須の JS/CSS リソース、および CSS 結合したファイル

概要

以下はプロセスの概念的概要です。

  1. エンドポイントの構成

  2. igOlapXmlaDataSource の構成

手順

以下の手順は、リモート データ プロバイダーから igOlapXmlaDataSource を構成する手順を示します。

  1. エンドポイントを構成します。

    igOlapXmlaDataSource に対してリモート データ プロバイダーを使用できるようにするには、igOlapXmlaDataSource が接続するコントローラーでアクションを構成します。

    ADOMD リモート プロバイダーの場合

    アクションには、AdomdDataSourceActionAttribute を適用する必要があります。アクションの本文で、適切に設定されたConnectionString プロパティを持つ AdomdDataSourceModel インスタンスを渡す新しいビューを返します。

    C# の場合:

     [AdomdDataSourceAction]
     public ActionResult RemoteAdomdProviderEndpoint()
     {
         return View(new AdomdDataSourceModel { ConnectionString = "Provider=MSOLAP.4;Persist Security Info=True;Data Source=http://sampledata.infragistics.com/olap/msmdpump.dll;Initial Catalog=Adventure Works DW Standard Edition;MDX Compatibility=1;Safety Options=2;MDX Missing Member Mode=Error"});
     }
    

    サーバーに Microsoft.AnalysisServices.AdomdClient アセンブリのバージョン 10.0.0.0 以外の別のバージョンがすでにインストールされている場合、以下のバインド リダイレクト セクションを Web アプリケーションの web.config ファイルに追加すると、インストール済みのバージョンを使用できます。

    XML の場合:

     <runtime>
       <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
         <dependentAssembly>
           <assemblyIdentity name="Microsoft.AnalysisServices.AdomdClient" publicKeyToken="89845dcd8080cc91" culture="neutral" />
           <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="[your version]" />
         </dependentAssembly>
       </assemblyBinding>
     </runtime>
    

    XMLA リモート プロバイダーの場合

    アクションに XmlaDataSourceActionAttribute を適用する必要があります。アクションの本文で、mdsmdpump データ プロバイダーの URL に設定された ServerUrl プロパティを持つ XmlaDataSourceModel インスタンスを渡す新しいビューを返します。

    C# の場合:

     [XmlaDataSourceAction]
     public ActionResult RemoteXmlaProviderEndpoint()
     {
         return View(new XmlaDataSourceModel{ ServerUrl = "http://sampledata.infragistics.com/olap/msmdpump.dll" });
     }
    
  2. igOlapXmlaDataSource を構成します。

    igOlapXmlaDataSource がリモート データ プロバイダーで機能するためには、serverUrl を手順 1 で定義したアクションの URL に設定し、isRemote オプションを true に設定します。

    この例の手順では、結果を表示するピボット グリッドを追加します。(オプションで、カタログ、キューブ、行、列、メジャーのプリロード、またはデータ ソースの追加構成ができます。)

    JavaScript の場合:

     $(function () {
         var remoteDataSource = new $.ig.OlapXmlaDataSource({
             isRemote: true,
             // if using ADOMD
             serverUrl: '@Url.Action("RemoteAdomdProviderEndpoint")',
             // if using XMLA
             //serverUrl: '@Url.Action("RemoteXmlaProviderEndpoint")',
             catalog: 'Adventure Works DW 2008',
             cube: 'Adventure Works',
             rows: '[Date].[Calendar]',
             columns: '[Product].[Product Categories]',
             measures: '[Measures].[Internet Order Count]'
         });
         $("#pivotGrid").igPivotDataSelector({
             dataSource: remoteDataSource,
             width: "900px",
             height: "500px"
         });
     });
    

全コード - コントローラー

以下は、PivotGridController の完全なコードです。

C# の場合:

using System.Web.Mvc;
using Infragistics.Web.Mvc;
namespace OlapAdomdMvc.Controllers
{
    public class PivotGridController : Controller
    {
        [AdomdDataSourceAction]
        public ActionResult RemoteAdomdProviderEndpoint()
        {
            return View(new AdomdDataSourceModel { ConnectionString = "Provider=MSOLAP.4;Persist Security Info=True;Data Source=http://sampledata.infragistics.com/olap/msmdpump.dll;Initial Catalog=Adventure Works DW Standard Edition;MDX Compatibility=1;Safety Options=2;MDX Missing Member Mode=Error" });
        }
        [XmlaDataSourceAction]
        public ActionResult RemoteXmlaProviderEndpoint()
        {
            return View(new XmlaDataSourceModel { ServerUrl = "http://sampledata.infragistics.com/olap/msmdpump.dll" });
        }
        public ActionResult RemoteDataProvider()
        {
            return View("RemoteDataProvider");
        }
    }
}

全コード - ビュー

以下は、RemoteDataProviderSample ビューのコードです。

HTML の場合:

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <!-- Ignite UI for jQuery Required Combined CSS Files -->
    <link href="@Url.Content("[IG root]/css/themes/infragistics/infragistics.theme.css")" rel="stylesheet" />
    <link href="@Url.Content("[IG root]/css/structure/infragistics.css")" rel="stylesheet" />
    <script src="@Url.Content("~/js/modernizr.min.js")"></script>
    <script src="@Url.Content("~/js/jquery.min.js")"></script>
    <script src="@Url.Content("~/js/jquery-ui.min.js")"></script>
    <!-- Ignite UI for jQuery Required Combined JavaScript Files -->
    <script src="@Url.Content("[IG root]/js/infragistics.core.js")"></script>
    <script src="@Url.Content("[IG root]/js/infragistics.lob.js")"></script>
</head>
<body>
    <script type="text/javascript">
        $.support.cors = true;
        $(function () {
            var remoteDataSource = new $.ig.OlapXmlaDataSource({
                isRemote: true,
                serverUrl: '@Url.Action("RemoteXmlaProviderEndpoint")',
                catalog: 'Adventure Works DW 2008',
                cube: 'Adventure Works',
                rows: '[Date].[Calendar]',
                columns: '[Product].[Product Categories]',
                measures: '[Measures].[Internet Order Count]'
            });
            $("#pivotGrid").igPivotGrid({
                dataSource: remoteDataSource,
                width: "500px",
                height: "270px"
            });
        });
    </script>
    <div id="pivotGrid"></div>
</body>
</html>

関連コンテンツ

トピック

このトピックの追加情報については、以下のトピックも合わせてご参照ください。

サンプル

このトピックについては、以下のサンプルも参照してください。

  • リモート XMLA プロバイダー: このサンプルは、igOlapXmlaDataSource コンポーネントでリモート プロバイダーを使用してネットワーク トラフィックを低減する方法を紹介します。

  • ADOMD.NET リモート データ プロバイダー: このサンプルは、igPivotGrid コントロールで ADOMD.NET リモート データ プロバイダーを使用する方法を紹介します。

リソース

以下の資料 (Infragistics のコンテンツ ファミリー以外でもご利用いただけます) は、このトピックに関連する追加情報を提供します。

オンラインで表示: GitHub