Pentaho Report Designer でSharePoint Excel Services のデータを連携利用

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
Pentaho BI ツールでSharePoint Excel Services のデータをもとにしたレポートを公開。

CData JDBC Driver for SharePoint Excel Services のデータ を使えば、ダッシュボードやレポートからリアルタイムデータにアクセスできます。この記事では、SharePoint Excel Services のデータにJDBC データソースとして接続し、Pentaho でSharePoint Excel Services のデータをもとにしたレポートを公開する方法を説明します。

接続してレポートを作成

  1. インストールディレクトリのlib サブフォルダ内にあるドライバーのJAR ファイルを、Pentaho ディレクトリ内の\Report-Designer\lib\jdbc\ フォルダにコピーします。
  2. \Report-Designer\ フォルダ内のreport-designer.bat ファイルを実行してReport-Designer UI を開きます。
  3. Data -> Add Data Source -> Advanced -> JDBC(Custom)をクリックし、新しいSharePoint Excel Services 接続を作成して、ドライバーで新しいデータソースを作成します。 表示されるダイアログで、以下のように接続プロパティを設定します。

    • Custom Connection URL property:JDBC URL を入力します。JDBC URL はjdbc:excelservices: で始まり、その後にセミコロン区切りで接続プロパティを指定します。

      ワークブックへの接続

      どちらのSharePoint エディションをお使いでも、File を Excel ワークブックに設定してください。このパスは以下のプロパティからの相対パスになります。

      • Library:デフォルトではShared Documents ライブラリが使用されます。このプロパティを使って、組織内の別のドキュメントライブラリを指定してみてください。例えば、OneDrive for Business に接続する場合は、このプロパティを"Documents" に設定します。
      • Folder:このプロパティを使って、ライブラリ内のサブフォルダへのパスを指定できます。パスはLibrary で指定されたライブラリ名に関連します。

      テーブルとしてのスプレッドシートデータへの接続

      CData 製品では、基底API で利用可能なオブジェクトに基づいて、使用可能なテーブルを検出していきます。

      API では異なるAPI オブジェクトを表示します。スプレッドシートの構成とSharePoint のバージョンに基づいてAPI を選択しましょう。

      • OData: OData API を使用すると、Excel で[挿入]->[テーブル]をクリックして作成されたExcel テーブルオブジェクト(範囲やスプレッドシートではありません)から定義されたテーブルにアクセスできます。OData API に接続する際、ワークブックにテーブルオブジェクトが定義されていない場合は、CData 製品がテーブルを返さないことがあります。テーブルとしてスプレッドシートまたは範囲に接続するには、UseRESTAPI をtrue に設定してください。
      • REST: REST API を使用すると、Excel テーブルオブジェクト、範囲、およびスプレッドシートから定義されたテーブルへアクセスできます。これがデフォルトの API です。範囲およびスプレッドシートから多数の行をリクエストすることは REST API によって制限されており、CData 製品では返される行数をデフォルトで 100 に制限しています。また CData 製品では、デフォルトで1行目からカラム名を検出します。これを無効にするには、Header を設定してください。

      DefineTables を追加設定すると、Excel の範囲の構文を使用して、範囲に基づいてテーブルを定義できます。大きすぎる範囲は、API によって制限されます。

      SharePoint オンプレミスへの接続

      URL をサーバー名もしくはIP アドレスに設定しましょう。さらに、SharePointVersion と認証値を設定します。

      SharePoint OnPremises を認証するには、AuthScheme を認証タイプに設定し、必要に応じてUserPassword を設定してください。

      Note:SharePoint On-Premises 2010 に接続する場合は、 UseRESTAPI をtrue に設定する必要があります。

        Windows(NTLM)

        最も一般的な認証タイプです。CData 製品では NTLM をデフォルトとして使用するよう事前設定されています。Windows のUserPassword を設定して接続してください。

        その他の認証方法については、ヘルプドキュメントの「はじめに」をご覧ください。

        組み込みの接続文字列デザイナー

        JDBC URL の構成については、SharePoint Excel Services JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルをダブルクリックするか、コマンドラインからJAR ファイルを実行します。

        java -jar cdata.jdbc.excelservices.jar
        

        接続プロパティを入力し、接続文字列をクリップボードにコピーします。

        JDBC URL を設定する際、Max Rows 接続プロパティの設定も検討してください。これにより返される行数が制限されます。特にレポートやビジュアライゼーションを設計する際のパフォーマンス向上に役立ちます。

        一般的なJDBC URL は次のとおりです:

        jdbc:excelservices:URL=https://myorg.sharepoint.com;User=admin@myorg.onmicrosoft.com;Password=password;File=Book1.xlsx;
    • Custom Driver Class Name:cdata.jdbc.excelservices.ExcelServicesDriver を入力します。
    • User Name:認証に使用するユーザー名。
    • Password:認証に使用するパスワード。

レポートにSharePoint Excel Services のデータを追加

SharePoint Excel Services のデータをもとにレポートを作成する準備が整いました。

  1. レポートにSharePoint Excel Services のソースを追加します。Data -> Add Data Source -> JDBC をクリックしてデータソースを選択します。

  2. クエリを設定します。この記事では以下のクエリを使用します:

    SELECT Name, AnnualRevenue FROM Account
  3. レポートにチャートをドラッグし、ダブルクリックしてチャートを編集します。レポートを実行してチャートを表示します。このクエリの結果を使用して、Account テーブルのシンプルなチャートを作成できます。
  4. 最後に、レポートを実行してチャートを確認します。

はじめる準備はできましたか?

SharePoint Excel Services Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

SharePoint Excel Services Icon SharePoint Excel Services JDBC Driver お問い合わせ

SharePoint サーバーでホストされているリアルタイムなExcel スプレッドシートコンテンツを組み込んだパワフルなJava アプリケーションを短時間・低コストで作成して配布できます。