Power BI レポートをWeb公開してみた。(プレビュー)

今回は、Power BIで作成したレポートをWeb上で公開する方法を紹介します。
この機能はプレビュー版のため今後使用が変更される可能性があります。

レポートの公開

今回は、気象庁から取得した気象データをもとに作成したレポートの公開をします。
公開したいレポートの画面で「ファイル」→「Webに公開」の順にクリックをします。

「一般向けWebサイトに埋め込む」が表示されたら、注意をよく読んで「埋め込みコードの作成」をクリックします。

一般公開における注意点が再度表示されますので、一般公開しても問題がなければ「公開」をクリックします。

「成功しました!」の表示とともにメール送信用のリンクとWeb埋め込み用のHTMLコードが表示されます。
今回はWeb公開のため下段のHTMLコードをコピーします。

コピーしたHTMLコードを任意のHTMLに貼り付けるとインラインフレーム内にPower BIのレポートが表示されるようになります。

埋め込みコードについては「設定」ボタンの「埋め込みコードの管理」から参照することができます。

リストの右端にある「…」をクリックすると「コードの取得」と「削除」が表示されるので、埋め込みコードを表示する場合は「コードの取得」、埋め込みコードを削除する場合は「削除」をそれぞれクリックしてください。

以上がレポートのWeb公開方法となります。

いかがでしたでしょうか。

ダッシュボードの共有とは異なり不特定の人が閲覧できるため、公開するデータは慎重に選ぶ必要がありますが、Power BIのグラフィカルなレポートが公開できるため、単調になりがちなデータも目を引くレポートとして公開できるのではないか思います。

次回もお楽しみに!!


Azure Machine LearningのExcelアドインを試してみた。

今回は、Azure Machine Learning (Azure ML)のWeb ServiceをExcelから利用できるアドインを紹介します。

Web Serviceの発行

Excelアドインを使用するにあたり、予測モデルをWeb Serviceとして発行する必要があります。
今回は、気象庁から取得した2015年の気象データをもとにした一日の平均気温の予測モデルをWeb Serviceとして発行します。

作成したばかりのモデルでは、「Predictive Web Service」がグレーアウトされておりWeb Serviceとして発行できないため、まずは「RUN」でモデルを実行しておきます。

実行が完了すると、「Predictive Web Service」が選択できるようになります。
これをクリックすると、実行したモデルから教師モデルが生成され、モデルの形が変化します。

作成された教師モデルで改めてモデルを実行すると、予測モデルをWeb Serviceとして発行できるようになりますが、発行する前に出力データの整形を行います。
出力されるデータは「入力した元データ」+「Scored Labels」(予測結果)の形式となるため、「Project Column」を使って「Scored Labels」のみを出力させるようにします。

モデルが組みあがったら改めて「RUN」をクリックして、モデルを実行します。
実行が完了したら、「DEPLOY WEB SERVICE」をクリックして、Web Serviceを発行します。

Web Serviceの発行が完了すると、Web Service画面に遷移します。
Web Service画面では、作成した予測モデルをAPIで利用するための情報が記載されています。

Excelアドインの利用

続いてExcelアドインを使って、作成した予測モデルをExcelから利用します。
「Default Endpoint」のAPPS列にあるExcelファイルのリンクをクリックするとExcelアドインを含んだサンプルファイルをダウンロードできるため、これを利用します。

※Azure MLのExcelアドインについてはOffice Storeからも無料で入手できます。
http://aka.ms/amlexcel-addin

サンプルファイルを開くと右ペインに「Azure Machine Learning」のアドイン画面が表示されます。
その中に、作成した予測モデルのWeb Serviceが表示され、クリックするとアドインとしてWeb Serviceを利用できるようになります。

アドイン画面の「Use Sample Data」をクリックするとモデル作成に使用した元データからテーブルが生成されます。
基本的にはこのテーブルの形式に合わせてデータを入力することで予測結果の出力をすることができます。
ただし、日付データが含まれている場合、読み込みの際にデータ型が変わってしまいエラーの元となるため、あらかじめデータを加工しておく必要があります。

データ型を整えたら、アドイン画面の「Input」にテーブル全体を選択して範囲を指定し、「Output」に結果を出力する先頭のセルを指定して「Prediction」をクリックします。すると指定した「Output」に指定したセルの下に「Scored Labels」が出力されます。

このアドインを使って、2016年の気象データから平均気温の予測値を出力するとこのような形になります。
今回は1年分のデータで簡易的に作ったモデルのためあまり値は一致していませんが、予測結果が出力されていることが分かります。

いかがでしたでしょうか。
Azure Machine Learningの予測モデルを特別なプログラムやツールを使わず、Excelから簡単に利用できるため、ちょっとした予測の算出やデータ集計もしやすくなるのではないでしょうか。

次回もお楽しみに!!


Azure Machine Learning からBLOBストレージに接続してみる。

今回は、Azure Machine Learning (以下Azure ML)とBLOBストレージの接続方法をご紹介します。

Azure MLでは手持ちのデータを直接アップロードし、モジュールとしてキャンバスに配置することができます。
しかし、大量にデータがある場合には、いちいちアップロードして、モジュールを配置しなおしてといった煩雑な操作はやっていられません。

そういう場合には、外部のストレージからデータの読み書き行うと便利です。
Azure MLでは外部ストレージと接続するモジュールが用意されており、そこからデータの入力や保存をすることができます。

今回はAzureのBLOBストレージをターゲットとしてデータの入力、出力をする方法をご紹介します。

BLOBコンテナーの作成

まずは、データの入力、出力先となるBLOBコンテナーを作成します。

「ストレージ アカウント」からBLOBコンテナーを作成するアカウントを選択し、サービスの「BLOB」をクリックします。

BLOBサービスの「コンテナー」窓をクリックし、表示されるペインの「+コンテナー」をクリック。
「新しいコンテナー」の「名前」に作成するコンテナー名を入力し「作成」をクリックします。

これで、BLOBコンテナーが作成できました。

※ BLOBコンテナーへのファイルアップロードについては下記の記事を参照してください。

AZURE STORAGE編~5分でわかるAZURE STORAGE BLOB アップロードとダウンロード~

ストレージアカウントの確認

Machine LearningとBLOBコンテナーを接続するためにストレージアカウントの情報を確認しておきます。
今回は、パブリックに公開されたBLOBコンテナーからURLでデータを入力し、プライベートアクセスのBLOBコンテナーに出力データを保存するという流れで紹介します。

まずは、入力データのURLを取得します。
入力元コンテナーの入力ファイルを選択し、表示されるBLOBのプロパティの「URL」をコピーしておきます。(テキストボックス右のボタンでコピーできます。)
※ このURLを使用する場合、コンテナーのアクセスポリシーを「BLOB」または「コンテナー」に変更しておく必要があります。
「プライベート」でアクセスする場合は、Azure Storage Explorer等でSAS URLを生成して使用する必要があります。

続いて出力先のストレージアカウント情報を取得します。
「すべての設定」→「アクセス キー」とクリックし、表示される「ストレージアカウント名」、「アクセス キー」をコピーしておきます。(「アクセス キー」は「Key1」、「Key2」のいずれでも可)

BLOBからURLでのデータ読み込み

Machine LearningでBLOBコンテナーからデータを入力する場合は、「Reader」モジュールを使います。
「Reader」モジュールをキャンバスに配置し、モジュールをクリック。
右ペインに下記の情報を選択、入力します。

項目 入力情報
Data source 「Azure Blob Storage」を選択
Authentication type 「PublicOrSAS」を選択
URL 取得したBLOBのURLを入力
※プライベートアクセスの場合はSAS URLを入力
Blob file format 入力ファイル形式に合わせて選択
File has header row ヘッダー情報(パラメータ名等)がある場合はチェック

BLOBコンテナーへのデータ出力

BLOBコンテナーへデータを出力する場合は、「Writer」モジュールを使います。
「Writer」モジュールをキャンバスに配置し、モジュールをクリック。
右ペインに下記の情報を選択、入力します。

項目 入力情報
Please specify data destination 「Azure Blob Storage」を選択
Please specify authentication type 「Account」を選択
Azure account name 取得した「ストレージアカウント名」を入力
Azure account key 取得した「アクセス キー」を入力
Path to blob beginning with container [コンテナー名]/[出力ファイル名]の形式で入力
Azure blob storage write mode 同名のBLOBがあった場合の処理を選択
File format for blob file 出力したいフォーマットを選択
Write blob header row ヘッダー情報(パラメータ名等)を書き込む場合はチェック

※「Azure blob storage write mode」で「Error」を選択している場合は出力先に同名のファイルが無いことを確認してください。
長時間の分析の末に、ファイル名重複で中断されてしまったといったことにもなりかねないため注意が必要です。

以上で設定は終了です。
「RUN」でExperimentを実行し、「Reader」、「Writer」モジュールにチェックが入れば正常に動作しています。
出力先のコンテナーにファイルが生成されていることが確認できました。

「Reader」、「Writer」モジュールを使う上での注意ですが、Experimentの実行中にこれらのモジュールをクリックすると強制的に中断されることがありますので、実行中はむやみに触らないことをお勧めします。

いかがでしたでしょうか。
モジュールの設定を書き換えるだけで連続して分析が行えるため、効率的にデータの分析が行えるようになります。
データベースやAzure以外のストレージからもデータを読み込めるので、ストレージに溜まったデータを分析したいという場合は是非使ってみて下さい。

次回もお楽しみに!!