Microsoft Power BIパート1:入門編

あなたはAras Innovatorの中のデータをインタラクティブに可視化したり分析したりしたいと思いませんか?この記事では、Microsoft Power BIレポートの作成手順およびArasフォームにそのレポートを埋め込む方法について説明します。

1. Power BIのセットアップ

Microsoft Power BIを使い始めるには、まずPower BI Desktopをダウンロードしてください。このフリーのデスクトップバージョンは、ファイル、データベース、Azure、またはオンラインサービスのデータソースに接続する便利な方法を提供してくれます。これらのデータソースを使用してレポートを作成することで、Power BIユーザインターフェースに素早く慣れることが可能です。

Power BIサービスを使用すると、インターネットを通じてPower BI Desktopからレポートを発行できます。あなたがまだPower BIサービスにサインアップしていないのであれば、個人として Power BI にサインアップするページを参照し、Power BIサービスをセットアップしてください。このページは、Power BIサービスのフリー版に対し、プロフェッショナル版を使用することのメリットについても触れています。

プロフェッショナル版を使用することの重要なメリットは、オンプレミスデータに対するアクセス性です。フリーのPower BI Desktopを使用する場合も、オンプレミスデータに容易にアクセスできますし、オンプレミスデータを使用して作成したレポートをWebに公開することができますが、そのレポートを動的にリフレッシュすることはできません。一方、プロフェッショナル版を使用すると、適切なサーバーにゲートウェイを設置してオンプレミスデータソースへのアクセス許可を与えることで、動的なリフレッシュが可能となります。オンプレミスデータソースのセットアップ方法の詳細は、オンプレミス データ ゲートウェイ (個人用モード) を参照してください。

2. Power BIクライアントアプリを作成する

Aras Innovatorでの作業を始める前に、Power BI App Registration ToolまたはAzure管理ポータルを使用し、Azure Active Directory (AD)にクライアントアプリを登録しなければなりません。クライアントアプリを登録すると、Power BIサービスに対するアイデンティティの確立と、Power BI RESTリソースに対するパーミッションの指定が可能になります。

Register a Client Appページが、Azure Active DirectoryでWebアプリをセットアップする助けとなるでしょう。

3. 必須ライブラリの取得

Power BIサービスにレポートを作成し、Azure Active Directoryにクライアントアプリを登録できたら、Aras InnovatorのフォームにPower BIリソースを埋め込むのに一歩近づきました。

次は、NuGet Package Manager Consoleを使用して、Azure AD Authentication Libraryをダウンロードします。このライブラリをインストールしたら、あなたのAras Innovatorコードツリーの\Innovator\Server\binに、Microsoft.IdentityModel.Clients.ActiveDirectory.dllを追加してください。

\Innovator\Server\Method-Config.xmlを編集モードで開き、次の行を参照アセンブリに追加します。

同じファイル内で、あなたが使用する予定のプログミング言語の<Template>タグを探し、Microsoft.IdentityModel.Clients.ActiveDirectory Newtonsoft.Jsonネームスペース用のusing行を追加します。その際、デバッグ時に正しい行数が表示されるように、テンプレートに行を追加した分だけline_number_offsetの値も調整することを忘れてはなりません。

これら2つのDLLは、Power BIサービスから内容を取得するのに使用します。

次に、ここからPower BI JavaScript APIをダウンロードしてください。Innovator\Client\Customerフォルダに、”Power BI”サブフォルダを作成し、ダウンロードしたJavaScriptファイルを配置します。

これらのJavaScriptライブラリは、HTML要素にPower BIリソースを埋め込むために使用されます。

4. Power BIからのデータをリクエストする

Aras InnovatorからPower BIリソースにアクセスするには、アクセストークンが必要です。アクセストークンは、Azure ADであなたのアプリケーションを認証するのに使われ、それにより、Power BIリソースへのアクセスが許可されます。まずは、こちらの内容をもとに、あなたのアプリケーションを認証するというのが何を意味するか、その点について理解を深めてください。

あなたのアプリケーションを認証することの意味を十分理解し、アクセストークンを取得する方法を決めたら、Aras Innovator内に新しいサーバーメソッドを作成します。

このメソッドは、Azure AD Authentication Libraryを必要としますが、あなたは既にこのDLLをAras Innovator コードツリーの\Innovator\Server\bin フォルダに追加し、ライブラリへの参照を設定しているはずです。下記コードは、サーバーメソッド内でこのライブラリを使用するためのサンプルコードです。


Microsoft.IdentityModel.Clients.ActiveDirectory.ClientCredential cc = 
new Microsoft.IdentityModel.Clients.ActiveDirectory.ClientCredential(clientId, clientSecret);

さらに、埋め込みたいPower BIリソースに関する情報を取得するための別のサーバーメソッドを作ります。下記のサンプルコードでは、HTTPWebRequest を用いてRESTサービスをコンシュームすることにより、この情報を取得しています。ここでは、GETリクエスト送信を成功させるのに必要なアクセストークンを取得するために、先述のメソッドを呼び出しています。

5. Arasフォームにレポートを埋め込む

次に、新規のフォームを作成し、HTMLフィールドを追加します。以下のようなHTMLコードを、追加したHTMLフィールドに設定することで、Power BIリソースを埋め込むことができます。

レポートをHTMLフィールド付きのフォームに追加しましたので、Aras Innovatorの中にこのレポートを表示する場所を設けたいでしょう。このチュートリアルでは、アイテムタイプのTOCビューにフォームを設定してみたいと思います。

まず、Categoriesリストアイテムに、Power BI用のエントリ(TOCフォルダ)を追加します。

次に、Power BI Reportというアイテムタイプを新規作成し、追加したCategoriesエントリを用いたTOCアクセスと、先程のフォームを指定したTOCビューを設定します。

これで、TOC上からPower BI Reportを選択すれば、Aras内にPower BIダッシュボードが表示されるはずです。

さらなるArasインスピレーションを求めて

続編Microsoft Power BI Part II: Real-time Dashboardsもご期待ください。Innovatorフォームに、ライブストリーミングタイルを含むダッシュボードを埋め込む方法をご紹介する予定です。

さらなるお役立ち情報をお求めの場合は、私たちのブログを購読し、ツイッターで@ArasLabsをフォローしてください。Aras Labs GitHubページで私たちの最新のオープンソースプロジェクトやサンプルコードを見つけることもできます。