Excel Services の技術概要

Microsoft Corporation

2006 年 11 月

適用対象 : Microsoft Office SharePoint Server 2007、Microsoft Office Excel 2007

概要 : Excel Services について、およびそれが Excel 2007 と連携して堅牢で安全な共有ブック ソリューションを提供するしくみについて学習します。Excel Services の拡張性機能、アーキテクチャ、パフォーマンスの最適化、および展開について説明します。(16 印刷ページ)

目次

  • Excel Services の概要

  • Excel Services とは

  • より安全なブックの共有

  • Office SharePoint Server 2007 でブックを管理する

  • ビジネス インテリジェンス レポートとダッシュボード

  • Excel Services を拡張する

  • Excel サービスのアーキテクチャと展開

  • まとめ : セキュリティ、堅牢性、拡張性

  • 追加情報

Excel Services の概要

Excel Services は、Microsoft Office SharePoint Server 2007 に含まれる新しいサーバー技術です。Excel Services は、ブックの広範な共有を可能にし、管理性とセキュリティを改善し、拡張性の高いサーバー ベースの計算サービスと対話形式の Web ベースのユーザー インターフェイス (UI) をとおしてブック モデルを再利用できるようにすることで、Microsoft Office Excel 2007 の機能を拡張します。

Excel Services は、ブラウザ アクセス用の Web ベースの UI と、プログラム アクセス用の Web サービス API の両方を提供し、どちらもユーザーやアプリケーションが使用できるデータを制御するためのオプションを備えています。Office SharePoint Server 2007 の一部なので、Excel Services は、チェックアウト、チェックイン、監査、バージョン管理などのエンタープライズ コンテンツ管理機能など、Windows SharePoint Services の他の機能も利用します。

Excel は、データの分析とレポートを実行するツールの中で最も広範に使用されています。ビジネス インテリジェンス ツールとしての Excel 2007 は、Microsoft SQL Server 2005 Analysis Services と統合していっそう強力になり、リッチなエンドユーザー分析ツールを提供します。Excel 2007 には、新しく設計されたピボットテーブル レポート、Analysis Services のデータにアクセスするための新しい数式ベースのモデル、向上した並べ替えとフィルタ処理の機能、完全に設計し直されたビジュアライゼーション エンジンが含まれます。Excel Services を使用することで、ブックの作成者は、この新しいビジネス インテリジェンス機能を利用するブックを、ブラウザをとおして共有できます。何も開発作業を行わなくても、ポータル、ダッシュボード、またはビジネス スコアカードの一部として、グラフ、テーブル、およびピボットテーブル レポートを含み、"唯一の真実" を表す、完全に対話型でデータがバインドされたブックを作成できます。

Excel Services のアーキテクチャは、Web フロントエンドとアプリケーション サーバー層で構成されます。Excel Calculation Services は、要求されたブックを読み込んで、すべての必要な計算を実行します。Excel Web Access は結果を HTML で表示し、Excel Web Services は Web サービス インターフェイスを提供して、アプリケーションがブックにアクセスできるようにします。

アプリケーション サーバーに組み込まれた Excel Calculation Services が、ブックを読み込み、計算を行い、外部データへのアクセスを提供します。高性能のコンピュータで構成されるクラスタへの拡張など、これらの層の一方または両方を上位または外部に拡張できます。Excel Services は、構成可能な負荷分散およびパフォーマンスを改善できる複数のオプションをサポートしています。

この記事では、以下のことを解説します。

  • Excel Services が Excel 2007 と連携して、堅牢で安全な共有ブック ソリューションを提供するしくみ

  • Excel 2007 と Excel Services がビジネス インテリジェンス ソリューションのための優れた基礎を提供するしくみ

  • Excel Services の拡張性機能、および Excel Services ソリューションの拡張方法

  • Excel Services の展開のアーキテクチャ、展開を拡張して高可用性にする方法、およびパフォーマンスの最適化

Excel Services とは

Excel Services を使用すると、企業全体でブックを安全に共有できます。ブラウザでのブックの使用を、これまでよりもはるかにきめ細かく制御および管理できます。このサーバー ベースのモデルはリッチな Excel 2007 クライアントを補完し、企業に次のようなメリットをもたらします。

  • より安全なブックの共有。   ブックの作成者は、基になっている固有のビジネス ロジックを公開することなくブックを共有でき、他のユーザーがブックを編集するのを防ぐことができます。

  • ビジネス インテリジェンス。   企業のデータ ソースに接続されたブックをサーバーに発行し、ビジネス インテリジェンスのダッシュボードやスコアカードで使用できます。ユーザーは、ブラウザでブックと対話してデータを調査できます。

  • 拡張性。   開発者は、ブックやユーザー定義の機能に組み込まれている再利用可能なロジックを使用して、サーバー ベースのアプリケーションに実装できます。

  • 信頼性と可用性。   クライアント コンピュータではなくサーバーで計算を実行することには、大きなメリットがあります。計算の負荷をサーバーに移すことでユーザーのコンピュータを解放し、時間のかかる計算にサーバーの余っている計算処理能力を利用できます。サーバーで計算を行うことにより、冗長でエンタープライズ クラスのシステムの高い信頼性と可用性が提供され、システム障害に伴うリスクが大幅に低下します。

このようなサーバー側ソリューションにより、企業全体でのいっそう安全なデータの共有とロジックの再利用が可能になり、"唯一の真実" のための集中的に一元管理されたブック データが提供されます。作成者は、ブックを Windows SharePoint Services のドキュメント ライブラリに保存し、そのブックのサーバー生成バージョンに特定のユーザーまたはロールがブラウザでアクセスすることを許可します。

ユーザー インターフェイス

Excel Services には、ブラウザでブックを表示するための Web ベース UI と、プログラムでアクセスするための Web サービス インターフェイスという、2 種類の主要なインターフェイスが用意されています。Web ベースの UI である Excel Web Access を使用すると、ユーザーは、DHTML により、ブラウザでのブックへの対話型アクセスと読み取り専用アクセスが可能になります。ActiveX コントロールは使用されず、Excel をインストールする必要はありません。

Web サービス インターフェイスを利用すると、外部のサーバー アプリケーションがブックのデータに直接アクセスし、ビジネス ロジックでデータを使用できます。開発者はコードでデータをリエンジニアリングする必要はありません。いずれの場合も、使用できるのはブックの作成者によって指定されたデータのみです。データの基になっている数式や他のビジネス ロジックは保護されたままです。

Excel Services の理解を深めるには、それが何ではないか、ということについても説明する必要があります。まず第一に、最も重要なこととして、サーバーでホストされている単なる Excel クライアントアプリケーションではありません。Excel Services は、新しいサーバー技術であり、拡張性と堅牢性を備えるように白紙の状態から設計されました。また、ブック作成ツールでもありません。ブックを作成するには、クライアント アプリケーションである Excel 2007 が必要です。ただし、ユーザーは、ブックの作成者が定義する制限の範囲内で Excel Web Access をとおしてブックと対話したり、Web サービス API を使用してプログラムでブックを操作したりできます。このモデルにより、ブックの作成者は、ブックをカスタマイズし、新しいブラウザ ベースのアクセスを使用してブック作成者が選択する対話のみをデータ利用者が使用できるように制限することができます。ブックの作成者は、電子メール メッセージでブックを送信するなどの間に合わせの方法で、ブックを共有する必要はなくなります。電子メール メッセージでブックを送信すると、多くの場合、ブックの複数のコピーが作成され、本質的に "複数の真実" が作られることになり、固有の数式やロジックが公開されてしまいます。

マルチユーザーのシナリオ

Excel Services モデルのもう 1 つの重要な側面は、同時マルチユーザーのシナリオにおいて、各ユーザーがサーバーのメモリに専用のセッションを持つということです。サーバーはブックの読み取り専用インスタンスをメモリに読み込み、ユーザーごとに状態を表す個別のセッションが作成されます。あるユーザーがブックにフィルタを適用しても、他のユーザーはその変更による影響を受けず、ユーザーの操作によって元のファイルが変更されることはありません。この動作は、ブックが Web ベースの UI を使用してブラウザで表示されても、Web サービス インターフェイスをとおしてプログラムで表示されても同じです。

動作は読み取り専用ですが、ブックの作成者は、必要に応じて、Excel 2007 を使用することで特定のセルをパラメータとして指定できます。これにより、データの利用者はこれらのセルの値について "what-if 分析" を実行でき、ブックの数式やロジックに対話形式でアクセスできます。たとえば、ブックに "数量"、"単価"、"拡張コスト" という 3 つの列があり、"拡張コスト" は "数量" と "単価" の積として計算されるものとします。作成者は、"数量" をデータ利用者が制御可能なパラメータとし、"単価" を固定値、"拡張コスト" を数式の結果にします。これにより、データ利用者は特定の販売単位数量を対話式に入力して、正しい "拡張コスト" を得ることができます。

より安全なブックの共有

ここでは、ブックの作成者が Excel Services を使用して簡単にブックを共有できること、アクセス許可の設定方法、データ ソースへのアクセス方法、そして Office SharePoint Server 2007 に保存されているブックの管理方法について説明します。

Office SharePoint Server に Excel ブックを発行する

サーバーがアクセスできる場所にブックが保存されていれば、ブラウザでブックを計算および表示したり、Web サービス インターフェイスをとおしてブックにアクセスしたりできます。また、Excel 2007 には、ブックの作成者が Excel Services を使用できる簡単な手段も用意されています。

Microsoft Office ボタンの [発行] オプションには、[Excel Services] という新しいメニュー項目があり、ブックを Office SharePoint Server 2007 サーバー (またはサーバーがアクセスできる任意の UNC パス) に保存できます。ブックの完全なコピーをサーバーにコピーするときは、[Excel Services のオプション] ダイアログ ボックスを使用して、ユーザーがブラウザを使用してアクセスできる部分を指定できます。構成できる最小単位は、名前の付いている特定のアイテム (シート、名前付きのセルまたは範囲、テーブル、ピボットテーブル、グラフなど) です。

特定のアイテムを指定した後は、図 1 に示すように、[表示] タブの [ブック内のアイテム] メニューを使用してこれらのアイテムを参照し、それぞれをユーザーが表示できるかどうかを選択できます。

図 1. ブック、シート、および名前付きアイテムのレベルでの表示可能アイテムの定義

表示可能なアイテムの定義

[Excel Services のオプション] で管理するデータの可視性は、ユーザーが直接表示するときだけではなく、API 呼び出しに対しても適用されます。このメカニズムが、どのデータをだれが表示できるようにするかを制御する真の手段を構成します。

Excel Web Access が備える使い慣れたインターフェイスでは、表示可能なアイテムの中から選択し、指定したアイテムをレポートやビジネス ダッシュボードで簡単に使用できるようにすることができます。指定したアイテムは Excel Services に読み込まれるブックの一部として残るので、基になっているビジネス ロジックやデータ ソースを見ることができなくても、完全に更新および対話が可能な状態を保ちます。

図 2. ブック作成者によって表示可能として指定された名前付きアイテム

表示可能として指定された名前付きアイテム

発行されるブックでのアクセス許可を管理する

表示できるものとできないものは、ブックの作成者が指定する発行オプションとアクセス許可によって決まります。Excel Services は、認証とアクセス許可のメカニズムを Office SharePoint Server 2007 から継承します。これにより、ブック作成者はユーザーに、閲覧者権限 (コンテンツの表示)、投稿者権限 (コンテンツの表示、変更、追加)、または管理者権限 (フル コントロール) を付与できます。

Excel Services のコンテキストでは、閲覧者権限のあるユーザーは、ブックの完全なバージョンをダウンロードし、Excel 2007 を使用してすべての詳細を見ることができます。これらの権限に加えて、新しい表示者権限を使用することで、作成者はブラウザ経由でのサーバーのみの表示にブックをロックできます。アイテムの表示権限しか持たないユーザーは、ブックのコピーのダウンロード、ブックの変更、またはデータ値の基になっている非表示の数式や他のビジネス ロジックの表示を行うことはできません。

ブック利用者が表示できるものを区別するこの機能は、Excel クライアント アプリケーションと Excel Services の間にある関係の補完的性質にとって重要なものです。ユーザーは、ブックのメモリ内のスナップショットのみを使用できます。これは、ブックに含まれるリテラル データ値で構成され、基礎のビジネス ロジックは含まれません。このメカニズムにより、管理者は、機密の知的財産を表に出すことなくデータを利用できるようにすることができます。これらの権限は、Web サービス インターフェイスを使用するアプリケーションが表示可能と指定されていないデータにアクセスしようとしたときにも適用されます。

これに対し、閲覧者権限を持つユーザーは、ブックを Excel 2007 で開き、データに関連付けられている基礎の詳細をすべて見ることができます。当然ですが、書き込みアクセス許可を持つユーザーは、ブックを Excel で開き、変更し、元の SharePoint ドキュメント ライブラリに保存することができます。

ブックは強力な機能であり、重要なデータを格納できるので、元のデータがある場所と、そこにアクセスできるユーザーを制御する必要があります。Excel Services の下で使用できるブックの作成者として振る舞うことのできるユーザーを制御するメカニズムは、信頼できるファイル保存場所のシステムによって管理され、この場所は SharePoint の場所、UNC パス、または HTTP パスとして指定できます。Excel Services は、管理者が指定したディレクトリ パスからのみブックを読み込みます。SharePoint の権限 (または UNC パスに対する簡単なファイル システム権限) を使用して、管理者は信頼できる場所にブックを保存できるユーザーを制御でき、これにより適切なアクセス許可を持つ作成者のみが Excel Services で表示されるブックを作成または変更できることが保証されます。

外部データ ソースに接続する

元のブックが存在する場所およびそこにアクセスできるユーザーを制御することは、固有の数式を保護し、"唯一の真実" を提供するために不可欠です。同時に、ブック自体が、ブックと外部データ ソースの両方のデータに接続するための柔軟で堅牢なメカニズムを備えている必要があります。

詳細に構成できて安全な方法で外部のデータにアクセスして既存のデータ ソースを使用できることは、Excel Services の威力にとっての 1 つの鍵です。データベース管理者や他のリソース所有者が設定するルールに従って、一般ユーザーが補助なしでテクノロジを利用できるようにする、ビジネスにもユーザーにも使いやすいメカニズムにより、ブックはライブ データ ソースに接続できます。Excel Services は、Microsoft SQL Server Analysis Services、Microsoft SQL Server リレーショナル データベース、および ODBC や OLEDB のようなメカニズムを使用する他のデータベース プラットフォームなど、Excel クライアント アプリケーションがサポートするのと同じデータ ソースからの外部データの取得をサポートします。データは、Microsoft SQL Server Analysis Services のデータにアクセスできるピボットテーブル レポートや新しい数式に戻すことができます。

注意

このリリースのサーバーでは、クエリ テーブルはサポートされていません。

データ接続ライブラリ

Excel Services で外部データ ソースへのアクセスを管理する強力な方法の 1 つは、サイト管理者が作成するデータ接続ライブラリ (DCL) リストを使用するものです。DCL リストには、特定のデータ接続を保持する Office データ接続 (ODC) ファイルが含まれます。ビジネス ユーザーは、サーバーによって運用されるディレクトリ サービスをとおして Excel クライアントを使用することで、DCL を利用できます。ユーザーにわかりやすい名前と説明を参考にして、DCL に含まれる接続から必要なものを識別します。技術的な詳細についての知識は必要ありません。

DCL の重要性は、3 つのコア機能に関して定義できます。

  • 検出   外部データ ソースへの持続的な接続をビジネス ユーザーに見えるようにする機能です。これにより、外部データ ソースへの接続を再利用できます。ビジネス ユーザーは、接続の基になっている技術的な細部にアクセスすることなく、Excel 2007 から接続を利用できます。

  • 管理   多数のレポートを一度に更新する機能です。DCL は外部データ ソースに対して行われた変更を Excel 2007 および Excel Services のブックに自動的に伝達できるので、ブックを手動で更新する必要はありません。これにより、効率がよくなり、エラーや障害の可能性を回避できます。

  • セキュリティ   Windows SharePoint Services のアクセス許可によりアクセス制御リストが有効になり、データ ソース定義を変更できるユーザーや、だれがどのデータを表示できるか、などのことを制御できます。また、Excel Services では、[外部データの許可] オプションの次の 3 つの設定により、外部データへのアクセスを制限することもできます。

    • なし (既定の設定) : 外部データ ソースへの接続を許可しません。

    • 信頼できるデータ接続ライブラリのみ : DCL のみが外部データ ソースへの接続を管理できます。

    • 信頼できるデータ接続ライブラリと、埋め込まれている接続 : DCL に加えて、ブックに埋め込まれている接続文字列によっても外部データ接続を確立できます。

これらの設定のいずれかを選択することで、データへのアクセスを制御できます。これらの設定は、信頼できる場所ごとに構成することもできます。これにより、管理者は、特定の種類のブックに対して許可する接続の種類を構成できます。たとえば、財務データは限られた数のブック作成者に制限される 1 つの場所に格納し、他の場所は制限を少なくするなどのことができます。

外部データを認証する

Excel でのブック接続と関連付けられた [プロパティ] ダイアログ ボックスを使用することで、サーバーの認証を制御できます。次の 3 つの方法から選択できます。

  • なし : 認証に関しては何も特別な操作を行いませんが、提供された接続文字列を使用して接続を確立します。ユーザー名とパスワードが接続文字列に格納されているか、またはこれらが必要ないことを想定します。

  • シングル サインオン (SSO) : 資格情報は SSO ストアに格納されていて、SSO ID は接続時に提供されることを意味します。SSO ソリューションは Office SharePoint Server 2007 に組み込まれており、カスタム ツールまたはサードパーティのツールに置き換えることができます。

  • Windows 認証 : サーバーと外部データ ソースが 1 つのコンピュータに存在するのでない限り、コンピュータ間の認証には Kerberos プロトコルが必要です。

いずれの場合にも個別のユーザーに対する表示をカスタマイズするには、ブックが開かれるたびにサーバーからのデータを更新し、外部データの認証が失敗した場合はブックが開かれないように、ブックを設定できます。どのユーザーもアクセス許可が与えられている情報のみを見ることができ、キャッシュされているデータにより誤って不適切な情報が表示されることを防ぎます。

Office SharePoint Server 2007 でブックを管理する

ブックの作成方法、または適用されているアクセス許可に関係なく、すべてのブック作成者は自分のブックを管理する必要があります。ブックは頻繁に更新する必要があり、複数の作成者がいることもあり、更新に承認が必要な場合もあります。Excel Services では、Office SharePoint Server 2007 に組み込まれているコンテンツ管理ツールにより、これらのプロセスが簡単になっています。ブックの管理は、Windows SharePoint Services の堅牢なチェックイン、チェックアウト、バージョン管理のメカニズムにより向上しています。メジャー バージョンとマイナー バージョンの番号付けおよびセキュリティに対応しており、特にブックや他のドキュメントの古いバージョンに対して有効です。さらに、Windows SharePoint Services には保持と有効期限に関する機能が組み込まれており、古いバージョンのブックを自動的にアーカイブまたは破棄して、遵守要件を満たすことができます。

図 3 に示すように、Windows SharePoint Services でドキュメントの承認を使用すると、ブック作成者がブックの新しいバージョンをライブラリに保存したときに、承認されるまでは他のユーザーが表示できないよう、ドキュメント ライブラリを設定できます。この承認は、管理者がドキュメント ライブラリ内のブックを監視してフラグを変更するだけで済ますことも、承認者のグループに電子メール メッセージを送信し、ある数の内部要件をブックが満たしたなら承認されるようなカスタム ワークフローを使用することもできます。

図 3. ドキュメント承認の設定

ドキュメントの承認の設定

ドキュメント ライブラリの所有者は、ブックをサーバーまたは Excel クライアントのどちらで開くかを既定で設定することもできます。ドキュメント ライブラリの所有者が、データに関連する接続情報と数式を秘密にしておきたい場合は、サーバー自体以外ではドキュメント ライブラリ内のブックをユーザーが開けないようにすることで、プライベートな情報を保護できます。

また、Windows SharePoint Services では、管理者はドキュメント ライブラリを監査することもできます。サーバーは、ブック自体に含まれるアイテムを監査することはありませんが、表示、作成、変更、および削除のイベントを集中化された監査記録に記録します。また、Windows SharePoint Services には、監査記録を分析するための組み込みレポートと、カスタム Excel レポートを生成するためのツールも用意されています。

ビジネス インテリジェンス レポートとダッシュボード

発行、アクセス許可の設定、およびブックの管理に関する方法はわかったでしょうから、次に Excel 2007 と Excel Services の新機能について説明します。これらの機能は、ブックの作成者と利用者の両方に対し、複数のデータ ソースとビジネス分析を、ビジネスの重要な情報を簡単に作成、管理、配布できるように統合する、リッチなコントロールを提供します。これらの機能は、特定の目標を達成するための適切な情報を適切なときに情報作業者に提供し、Excel 2007 と Excel Services を重要なビジネス インテリジェンス ソリューション機能にします。

Office Excel 2007 のビジネス インテリジェンス機能

Excel 2007 は、ビジネス インテリジェンスの開発において大きく進歩しました。特に注目する必要があるのは、Microsoft SQL Server Analysis Services との統合における進歩です。普通のユーザーが簡単にキューブを使用してデータを分析できるようにすることで、この機能は開発者やデータベース管理者への依存を軽くし、効率を高めます。

たとえば、ユーザーは、Microsoft SQL Server データベースなどの外部データ ソースに接続し、データのリアルタイム分析を行うことができます。ブックに一連の図を用意することで、ユーザーは視覚的な書式を簡単に適用し、これらの図が指定されているしきい値とどのように関係するのかを示すことができます。色分けされたデータ バーとヒート マップは、ユーザーにビジュアル キューを自動的に提供し、全体の中での特定のデータ ポイントの重要性が簡単にわかるようにします。

同様に、ユーザーは、データ バー、カラー スケール、アイコン セットなどの条件付き書式を適用し、分析と意思決定を簡単にするわかりやすいグラフィカル インジケータを提供できます。図 4 にこれを示します。

図 4. Excel Services の Web ベースのユーザー インターフェイスに表示された条件付き書式設定機能

Web ベースの UI に表示された条件付き書式設定機能

これらのオプションには、セルの背景色を定義するのと同じ方法で、新しい Microsoft Office Fluent UI のメニューからアクセスできます。外部データ ソースのデータが更新されると、条件付き書式は動的に変化します。この機能により、ユーザーは主要業績評価指標 (KPI) を簡単に視覚化でき、ビジネス インテリジェンス ツールとしてのブックの機能が大きく向上します。

ブックの計算とグラフに加えて、Analysis Services (または他の外部データ ソース) からのデータを組み込むことができます。また、Excel の豊富な書式機能を使用してレポートの書式を設定することもできます。Excel Services を使用して実行される計算は、Excel 2007 で実行されるものと完全に一致します。ブックの書式は、どちらで表現しても同じです。これにより、図 5 に示すように、ブックを両方の環境で表示する必要があっても、保守が複雑になることはありません。並べ替え、フィルタ、アウトライン、ドリルダウン、ドリルアップなどの機能と同様に、Excel 2007 が備える選択とホバーの効果は、Excel Web Access のブラウザ表現でも利用できます。

図 5 は、ライブ データを表示する製品販売ブックの 2 つのバージョンを示したものです。左側のバージョンは Excel 2007 を使用して表示し、右側のバージョンは Excel Services の Web インターフェイスを使用して表示しています。

図 5. ライブ データを表示する製品販売ブックの 2 つのバージョン

製品販売ブックの 2 つのバージョン

ピボットテーブルとキューブ

ピボットテーブル レポートを使用すると、Microsoft SQL Server Analysis Services のデータおよび他のサポートされるデータ ソースからのデータを操作できます。また、Excel 2007 は、Microsoft SQL Server Analysis Services からデータを直接返すことのできる新しい機能のクラスもサポートします。Excel 2007 の機能の多くは、Excel Services に実装されています。これには、レベルの展開および折りたたみ、データの昇順または降順の並べ替え、および複数選択フィルタ、トップ テン フィルタ、クイック フィルタ (たとえば、[平均より上] や [平均より下])、カスタム フィルタ (たとえば [指定の値より小さい] や [指定の値を含む]) などのフィルタの適用、などの機能が含まれます。ブックの作成者は、ユーザーが使用できるフィルタを制限することもできます。

ユーザーがピボットテーブル レポートを作成するために必要なことは、データ ソースに接続し、Excel 2007 を使用してピボットテーブルのフィールドのオンとオフを選択することだけです。新しいキューブ機能は、Excel 2007 および Excel Services にビジネス インテリジェンス機能を追加します。Excel 2007 の新しいキューブ機能を使用すると、ピボットテーブルをキューブ機能に直接変換できます。これにより、普通のユーザーでも、必要に応じてすばやくデータをモデル化し、ビジネスの決定に役立てることができます。

図 6. ドラッグ アンド ドロップ操作によるデータ キューブからのピボットテーブルの作成

データ キューブからのピボットテーブルの作成

たとえば、ビジネス ユーザーは、必要なビジネス ロジックの作成に IT 組織を巻き込むことなく、変化する在庫ニーズに対応する方法を決定できます。ユーザーは、ブックの個別のセルでクエリを作成し、データやキューブ機能を使用できます。キューブ機能を使用することで、ユーザーはデータの取得を単一のキューブに制限されません。非対称レポートを使用すると、外部のキューブからデータを取得でき、外部データ ポイントの結合とサポートの作成の柔軟性が大きく向上します。

ピボットテーブルには、Excel 2007 と Excel Services のどちらからもアクセスできます。Excel 2007 と Excel Services を使用すると、ユーザーのニーズに従って変更できる相互補完的な機能を提供できます。たとえば、Excel 2007 ではユーザーはコンテンツを完全に制御できるのに対し、Excel Services では、ブックの作成者が、数式の可視性とデータ値の編集機能を制御できるだけでなく、ブックの利用者が使用できる機能のレベルを制御できます。

ダッシュボードへのデータの統合

Excel 2007 および Excel Services の新しい機能を使用して、新しい有力な方法でデータをアクセス、操作、および表示できます。データを発行する準備ができたら、インフォメーション ワーカーは、そのデータをダッシュボードで他のデータと結合できます。ダッシュボードを使用すると、大量のデータを簡単に利用できる形式で表示およびレポートできます。ビジネス ダッシュボードを作成する機能は、Excel Services および Office SharePoint Server 2007 の重要なビジネス インテリジェンス機能です。

図 7 は、Office SharePoint Server 2007 から Excel Services、KPI、およびフィルタ処理された Web パーツを使用して作成されたダッシュボードです。傾向の識別、課題と機会の予想、およびビジネス判断のサポートを目的としています。

図 7. Excel Services を使用して作成されたダッシュボード

Excel Services を使用して作成されたダッシュボード

ダッシュボードはマウスをほんの数クリックするだけで作成でき、コードを作成する必要はありません。Office SharePoint Server 2007 には、ドリルダウン、フィルタ、並べ替えなどの動的で対話形式のデータ機能などの Web パーツと呼ばれる一連の構成要素が含まれており、ダッシュボードを短時間で開発および保守できます。Office SharePoint Server 2007 でのダッシュボードの作成には、ピボットテーブル レポート、Excel グラフ、数式など、Excel と同様の方法を利用できます。また、ダッシュボードは Office SharePoint Server 2007 環境のルック アンド フィールにも準拠しているので、企業で統一されている外観に自動的に従うことができます。ダッシュボードでは、Excel の外部にある主要業績評価指標などの Office SharePoint Server 2007 Web パーツも利用できるので、重要なビジネス要素や、Windows SharePoint Services Web パーツまたはカスタム Web パーツを、わかりやすく視覚表現できます。

Excel Web Access Web パーツ

Excel Web Access Web パーツは、ダッシュボードに組み込んでカスタマイズできます。個別の状況に合わせてカスタマイズできるさまざまなツール バーが用意されています。

  • 詳細ツール バー : ブックの操作に使用できるすべてのオプションを提供します。

  • 簡易ツール バー : 詳細ツール バーで使用できるオプションのサブセットを提供します。[最新の情報に更新] などの一部のオプションは、簡易ツール バーでは使用できません。

  • ナビゲーションのみ : 名前付きオブジェクトの切り替えなど、ブック内の移動に必要なオプションのみが表示されます。

これらの各ツール バー オプションは、表示されている内容に関連するオプションのみが自動的に選択されて表示されます。表示される要素についての制限および関連する機能は、ブックが発行される信頼できる場所に基づきます。たとえば、データの更新は、いつでも許可される場合もあれば、更新機能の基になっている計算の長さと複雑さのために制限される場合もあります。

Office SharePoint Server 2007 では、集中インターフェイスをとおしてダッシュボードに含まれる Web パーツのフィルタ処理を行うことができる機能が導入されています。フィルタ処理では、ユーザーが作成したオプションのリスト、データで定義されるパラメータ、または SharePoint のリストやプロファイル ストアから抽出された情報に基づいて、選択を絞り込むことができます。ユーザーは、製品名、選択した日付、または他のフィルタの必要性に基づいて情報を選択できます。また、あらかじめ決定されている値のセットからユーザーが選択できるフィルタを作成することもできます。

ダッシュボードまたは他のレポートは、それを表示するユーザーの ID に基づいてカスタマイズできます。サーバーはログオン ID などの値を取得し、それをパラメータとしてブックに渡すことにより、フィルタや他のロジックを適用して、関連があり許容されるデータのみを表示できます。

Excel Services を拡張する

Excel Services は、拡張できる作りになっており、既存のビジネス モデルを再利用することも、他のアプリケーションに含まれる拡張ライブラリを利用することもできます。開発者は、複数のオプションを使用して、Excel ブックに含まれるビジネス モデルを再利用できます。

Excel Services に組み込まれている Web サービス API を使用することで、開発者は、プログラムでブックにアクセスして、値を設定し、計算を実行し、結果を返すことができます。さらに、Excel Web Access コントロールを再利用して、ビジネス インテリジェンス ダッシュボードや他の Office SharePoint Server 2007 アプリケーションの Web パーツとして埋め込むことができます。

これまで、組織は、ブック内へのビジネス モデルの構築や、独自のカスタム機能ライブラリ (Excel アドインなど) の作成に、大きな投資を行ってきました。Excel のユーザー定義関数は、通常、Excel の機能を拡張する関数のコレクションであり、カスタム ライブラリ関数や非ネイティブ データ ソースへの接続関数を含むのが普通です。多くの場合、これらは多大な投資を表します。

Excel Web サービスとは

Excel Web サービス API は、サーバーによって計算されたブックへのプログラム アクセスを提供します。この API を使用すると、開発者は、Office SharePoint Server 2007 アプリケーション サーバーと通信し、Excel Calculation Services を利用することができます。これにより、Excel ブックのロジックをアプリケーションで使用でき、ロジックをアプリケーションでコーディングし直す必要はありません。ロジックを作成したビジネス エキスパートはロジックを Excel で保持でき、サーバー管理者はユーザー アクセスとセキュリティを管理でき、開発者は Excel Web Services でビジネス ロジックを使用できます。3 つの役割はすべて、相互に独立しています。

Excel Web Services のメソッドでサポートされる主要な機能は、次のように分類できます。

  • セッションを管理する。   サーバー側計算セッションを開いたり閉じたりし、セッションの言語コンテキストなどのサーバー セッションのプロパティを設定します。

  • 値を設定する。   ブックのセルまたはセルの範囲に、新しい値を設定します。セルは、セル アドレス、名前付き範囲、または整数の座標で定義できます。

  • データおよびブックを処理する。   外部のデータ ソースでデータを更新し、ブック全体またはブックの一部の結果を再計算します。

  • 結果を返す。   セル、セルの範囲、またはブック全体の値を、バイト配列として取得できます。ブック全体を XML またはバイナリ ファイルとして返すことができます。または、ユーザーは、すべての数式と外部データ参照を除去し、値、書式設定、およびグラフのみを返すスナップショットを要求することもできます。

ユーザーによる Excel Web Access を使用した Excel データへのアクセスを制御するのと同じセキュリティ モデルが、ユーザーによる Excel Web Services を使用したアプリケーションからの情報の取得にも適用されます。ブックのデータは、Excel Web Access または Excel Web Services のどちらを使用しても同じように制御されます。

セッション ID を使用することで、アプリケーションのコードおよびサーバーは、セッションの状態を維持し、データをキャッシュに保持できます。この機能により、サーバーは、入力パラメータの変更やデータ接続の更新など、プログラムによる対話をサポートするために必要なデータ ポイントのみを計算できます。このメカニズムは、サーバーがディスクからブック全体を繰り返し読み取る必要のあるセッション レス モデルと比較して、実行リソースを大幅に節約できる可能性があることを示します。

ユーザー定義関数で Excel Services を拡張する

ユーザー定義関数 (UDF) を使用することで、計算機能を拡張できます。ユーザー定義関数は、Microsoft Visual Basic for Applications (VBA) または任意のネイティブ コード言語で記述できます。Excel Services は UDF をサポートしますが、開発者向けのインターフェイスはマネージ コード インターフェイスです。サーバー上で動作するには、既存の関数をラップまたは書き直す必要があります。また、マネージ コード UDF を作成し、クライアントで動作するようにラップすることもできます。

ブックの作成者は、コア計算機能を拡張するカスタム ライブラリを使用することがよくあります。多くの組織が、この種の Excel 拡張を広範に使用しています。Excel Services は、サーバー側 UDF の実装をサポートするように作られています。多くのブックが、非マネージ コード Excel アドインを使用しています。この場合は、COM 相互運用機能をとおして Excel アドインにアクセスする UDF を作成できます。これにより、ブックの作成者は、引き続きローカルな Excel アドインと Excel Services を使用して、サーバー上で同等の機能を利用できます。

UDF アセンブリを信頼できるアセンブリ リストに登録した後は、信頼できる場所に格納され、UDF を使用できるようにマークされているブック内の数式を使用して、UDF を完全に利用できます。

Excel Services は、UDF はサポートしますが、マクロ、VBA、または Excel オブジェクト モデルにアクセスするコードはサポートしません。

Excel サービスのアーキテクチャと展開

Excel Services は、3 つのコア コンポーネントで構成されています。

  • Excel Calculation Services

    このコンポーネントは、Excel Services の "心臓部" です。ブックを読み込み、計算し、外部データを更新し、対話機能のためにセッション状態を保持します。

  • Excel Web Access

    この SharePoint Web パーツ (再利用可能なコンポーネント) は、Excel Calculation Services から返された結果から HTML 表示を作成し、ユーザーがブラウザで表示して対話できるようにします。カスタマイズのシナリオでは、SharePoint 開発者はこのコンポーネントと共に他の SharePoint Web パーツを使用して、さまざまな Web ページを作成できます。

  • Excel Web Services

    このコンポーネントは、Windows SharePoint Services でホストされる Web サービスであり、Excel Calculation Services によって計算されたブックにプログラムからアクセスできるようにします。アプリケーションでは、Excel のブックを自動的に更新したり、基になっているビジネス ロジックを作成し直さずに Excel Services によって実行される計算を組み込んだりできます。

これら 3 つのコンポーネントは、Web フロントエンドに関連付けられるグループと、アプリケーション サーバー層に関連付けられるグループの、2 つに分類されます。最も簡単な構成は、これら 2 つの層を、両方とも同じ物理サーバーに置くものです。処理能力を高めるため、これら 2 つの層を異なるコンピュータに配置する方が一般的です。Web フロントエンドまたはアプリケーションのサーバー コンピュータをさらに構成に追加することで、処理能力とパフォーマンスが向上します。

図 8. Excel Web Services のコア コンポーネント

Excel Web サービスのコア コンポーネント

また、Web フロントエンドには、複数サーバー構成での層間の通信を処理する Excel Calculation Services プロキシも含まれます。物理的なアプリケーション サーバーが複数ある場合は、負荷分散の処理も行います (このコンポーネントは、開発者に対しては公開されません)。

Office SharePoint Server 2007 したがって Excel Services は、コンテンツ データベースと構成データベースという 2 つの Microsoft SQL Server データベースを使用します。コンテンツ データベースは、ブックやダッシュボードのページなど、すべてのユーザー ファイルを格納します。構成データベースは、アクセス制御リストおよび発行の詳細や更新の設定などの問題を管理するポリシーなどの、サポート情報を格納します。データベース バックエンドを拡大し、パフォーマンスや処理能力を高めることができます。

通信トポロジ

Web フロントエンドとアプリケーション サーバーは、HTTP をとおして通信します。ユーザーがブックを要求すると、そのブックはアプリケーション サーバーのキャッシュに格納されます。したがって、同じブックに対するそれ以降の要求は、通常、最初の要求より速く処理されます。この機能には複数レベルでのキャッシュが含まれ、ブックのキャッシュと、ブックによって照会される外部データのキャッシュにより、ユーザー グループ全体のパフォーマンスが向上します。応答時間が短くなることを除けば、これらはすべてエンドユーザーに認識されずに行われます。キャッシュされている結果は、同じ権限を持つユーザーの間でのみ共有されます。

単一サーバーおよびマルチサーバーのトポロジに加えて、Excel Services ではエクストラネットのトポロジもサポートでき、基になっている数式、データ、およびデータベースへのアクセスを許可することなく、外部のパートナーにブックへのアクセスを許可できます。この機能では、ブックの一部のみを公開し、残りの部分を保護することもできます (前に説明したアイテムの表示権限を使用して)。これにより、数式などの知的財産や外部データ接続を隠しながら、結果を提供することができます。たとえば、金融機関は、デリバティブの計算に使用する金融モデルを持つ場合があります。この機能を使用すると、デリバティブ価格の生成に使用するモデルを見せることなく、顧客やパートナーに価格を示すことができます。ただし、Excel Services は、Web フロントエンドとアプリケーション サーバーが異なる企業ネットワークに存在するシナリオはサポートしません。これらのコンポーネント間のファイアウォールはサポートしており、Web フロントエンドとアプリケーション サーバーを拡大して異なる物理デバイスに配置するときの、セキュリティ強化の可能性を提供します。

スケーリングと可用性

Web フロントエンドとアプリケーション サーバーは論理的に分離されているので、これらの層の一方または両方を他方とは独立してスケール アップまたはスケール アウトできます。また、アプリケーション サーバーを高い計算能力を備えたクラスタにスケール アウトし、自動的なフェールオーバーを実行して計算を確実に完了させることもできます。このような構成により、特定の時間帯または特定のノードで計算ジョブをスケジュールできるようになります。新しいサーバーを追加することで、パフォーマンスはほぼ線形に向上します。

先に説明したように、Excel Services は複数のアプリケーション サーバー間の負荷分散を提供します。Web フロントエンドの負荷分散は、一部のバージョンの Windows Server 2003 で利用できるネットワーク負荷分散サービスにより、または別の負荷分散デバイスにより提供できます。Excel Services プロキシ コンポーネントは、アプリケーション サーバーに対する負荷分散を行います。ロード バランサは、特定のアプリケーション サーバーでの状態の保持、およびキャッシュされているブックに基づく最適化をサポートするように作られています。いずれの場合も、この機能には、異なるブック計算を複数の物理サーバーに負荷分散すること、および複数のブックを個別の物理サーバーで計算すること (各要求は異なるスレッドで実行します) も含まれます。ただし、このプラットフォームは、1 つのブックの計算を複数の物理サーバーに分散させる機能はサポートしません。設計は、多数のブックと要求へのスケーリング用に最適化されています。たとえば、多数のユーザーが複数のブックで構成されるダッシュボードを表示したり、1 つまたは複数のブックに対して大きなパラメータ スイープをプログラムで実行したりするようなシナリオです。

負荷分散の設定では、ラウンドロビン、ローカル、ハッシュ ベースなど、複数の方法を指定できます。複数のアプリケーション サーバーを含む構成では、ラウンドロビン負荷分散は、Web フロントエンドによって要求されたジョブを、単純に各アプリケーション サーバーに順番に割り当てます。ローカル オプションは、Web フロントエンドとアプリケーション サーバーが同じコンピュータに存在することが前提です。ハッシュ ベースの負荷分散 (既定の設定) は、各アプリケーション サーバーでのキャッシュの使用に最適化されています。したがって、指定されたブックに対する要求は、通常、同じバックエンド アプリケーション サーバーに戻ります。Excel Services の展開方法に関係なく、管理者は複数のパフォーマンス設定を使用して Excel Services を最適化できます。

パフォーマンスの最適化

Excel Services では、システムのパフォーマンスを最適化できるトポロジの多くの側面を細かく制御できます。たとえば、各データ ソースとの接続の多くの面を制御できます。

  • データの更新の許可/禁止。   大きな計算の場合はユーザーにデータ更新の実行を許可しないことで、サーバーの負荷を軽減できます。

  • セッション タイムアウト。   ユーザーがブックを操作しない場合にセッションがタイムアウトする時間を設定することで、ネットワーク リソースを節約できます。

  • クエリ タイムアウト。   この設定はセッション タイムアウトと似ており、一定の時間内にクエリが正常に完了しない場合は、タイムアウトを発動します。

  • 最大ブック サイズ。   この設定ではサイズの制限をメガバイト (MB) の単位で指定できます。

  • 最大要求時間。   この設定は、データまたはブックに対して要求が存在していることのできる長さを制御します。

これらの設定を使用すると Excel Services の動作を細かく制御できますが、既定の設定をそのまま使用することもできます。既定の設定は、多くの状況でビジネス ニーズを満たす、またはそれを超えるパフォーマンスを提供するようになっています。当初の予想より使用量の増大が早い場合は、Excel Services をスケール アウトすることで、よりよいパフォーマンスと高い可用性を提供できます。

まとめ : セキュリティ、堅牢性、拡張性

Excel Services を使用すると、エンド ユーザーは開発者に頼らずに堅牢なソリューションを作成でき、ブック作成者、データベース管理者、および開発者は環境をいっそう思い通りに制御できます。Excel Web Access と Excel Web Services API を組み合わせると、ブックへのアクセスがリッチで多様になります。同時に、セキュリティ モデルは、Excel Web Access をとおしてブックにアクセスしても、Excel Web Services インターフェイス経由でプログラムからブックにアクセスしても同じです。

ブックの作成者は、Excel 2007 を使用して、ブックと共に、ライブ データ用のバックエンド データ ソースへの直接接続などの、付随するビジネス ロジックを作成します。技術が専門ではないユーザーも含むこのような作成者は、ブック、レポート、および動的なデータを含むダッシュボードを作成し、企業内で情報を安全に共有して、他のユーザーやアプリケーションが使用できるようにすることができます。開発者は、アプリケーションのコードを作成し直さなくても、このようなビジネス ユーザーが作成したビジネス ロジックを利用できます。Excel Services の基になる物理的なインフラストラクチャは、拡張性が高く、さまざまな構成が可能です。これにより、変化するビジネス ニーズの発生に対応し、ミッション クリティカルな計算に保証された可用性を提供できます。

Excel Services と Excel 2007 を組み合わせることで、技術系のユーザーも技術系ではないユーザーも、データとビジネス ロジックを安全に共有、管理、および再利用して、ブック用の真のエンタープライズ ソリューションを作成できます。

追加情報

詳細については、以下のリソースを参照してください。