このトピックでは、igOlapXmlaDataSource
™ コンポーネントのためにリモート データ プロバイダーを構成する方法を説明します。
以下の表は、このトピックを理解するための前提条件として必要なトピックと記事の一覧です。
トピック
igOlapXmlaDataSource の概要: このトピックは、igOlapXmlaDataSource
コンポーネントおよびその機能の概要を説明します。
igOlapXmlaDataSource の HTML ページへの追加: このトピックでは、igOlapXmlaDataSource
を HTML ページに追加し、Microsoft® SQL Server Analysis Services (SSAS) サーバーからデータを取得するように構成する方法を説明します。
データ プロバイダーの構成の概要 (igOlapXmlaDataSource): このトピックでは、igOlapXmlaDataSource
コンポーネントをサポートするデータ プロバイダーの概要とそれらを構成する方法についての概念的情報を提供します。
外部リソース
ADOMD.NET を使用した開発: これは、ADOMD.NET に関係するトピックのグループです。
Internet Information Services (IIS) 7.0 での分析サービスへの HTTP アクセスの構成: SSAS サーバーのために HTTP データ プロバイダー (msmdpump.dll
) を構成する方法を説明するトピック
このトピックは、以下のセクションで構成されます。
リモート データ プロバイダー用の igOlapXmlaDataSource
を構成するには、まず ASP.NET MVC アプリケーションにデータ プロバイダーを追加してから、リモート プロバイダーを使用するように igOlapXmlaDataSource
を構成し、それをプロバイダー URL により提供します。
リモート データ プロバイダーの構成についての概念的な説明は、データ プロバイダーの構成 - 概要 (igOlapXmlaDataSource)を参照してください。
以下の表は、igOlapXmlaDataSource
コンポーネントでサポートされるリモート データ プロバイダーのタイプを示し、各タイプを簡単に説明します。
リモート データ プロバイダーのタイプ | 説明 |
---|---|
XMLA | SSAS の HTTP データ プロバイダー (msmdpump) に接続します。 |
ADOMD.NET | Microsoft® ADOMD.NET を使用して SSAS インスタンスに直接接続します。 |
以下に示すのは、リモート データ プロバイダーから igOlapXmlaDataSource
を構成するための全般的な要件です。
Microsoft.AnalysisServices.AdomdClient.dll
アセンブリ バージョン 10.0.0.0) がサーバーにインストールされていることInfragistics.Web.Mvc.dll
Infragistics.Olap.DataProvider.Adomd.Mvc.dll
リモート データ プロバイダーから igOlapXmlaDataSource
を構成するための一般的な手順を簡単に示すと、次のようになります。
エンドポイントの構成
igOlapXmlaDataSource
の構成
この手順の具体的な例は、リモート データ プロバイダーの構成 - 例を参照してください。
この手順は、ASP.NET MVC アプリケーションで ADOMD.NET リモート データ プロバイダーまたは XMLA リモート データ プロバイダーを設定し、データ プロバイダーからのデータを実行する igOlapXmlaDataSource
を構成して igPivotGrid
™ で視覚化します。(オプションで、カタログ、キューブ、行、列、メジャーのプリロード、またはデータ ソースの追加構成ができます。この手順では、結果を表示するためにピボット グリッドが追加されます。)
次のスクリーンショットは最終結果のプレビューです。ピボット グリッドにリモート データ プロバイダーからのデータが取り込まれています。
この手順を実行するには、以下のリソースが必要です。
igPivotGrid
の追加」に記載された必須の JS/CSS リソース、および CSS 結合したファイル以下はプロセスの概念的概要です。
エンドポイントの構成
igOlapXmlaDataSource
の構成
以下の手順は、リモート データ プロバイダーから igOlapXmlaDataSource
を構成する手順を示します。
エンドポイントを構成します。
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" });
}
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