Microsoft Power BI を使用して、Azure IoT Hub が受信するリアルタイム センサー データを視覚化できます。 これを行うには、IoT Hub からのデータを使用して Power BI のデータセットにルーティングするように Azure Stream Analytics ジョブを構成します。
Microsoft Power BI は、大規模なデータ セットに対してセルフサービスおよびエンタープライズ ビジネス インテリジェンス (BI) を実行するために使用できるデータ視覚化ツールです。 Azure Stream Analytics は、分析情報の取得、レポートの作成、アラートとアクションのトリガーに使用できる、高速に移動するデータ ストリームの分析と処理に役立つ、フル マネージドのリアルタイム分析サービスです。
このチュートリアルでは、以下のタスクを実行します。
- IoT ハブにコンシューマー グループを作成します。
- コンシューマー グループから温度テレメトリを読み取って Power BI に送信するように Azure Stream Analytics ジョブを作成して構成します。
- Power BI で温度データのレポートを作成し、Web と共有します。
Azure サブスクリプションをお持ちでない場合は、始める前に無料アカウントを作成してください。
[前提条件]
このチュートリアルを開始する前に、次の前提条件を満たす必要があります。
好みの開発言語で テレメトリの送信 に関するクイック スタートのいずれかを完了します。 または、温度テレメトリを送信する任意のデバイス アプリを使用できます。たとえば、 Raspberry Pi オンライン シミュレーター や 、Embedded デバイスのチュートリアルのいずれかです。 これらの記事では、次の要件について説明します。
- 有効な Azure サブスクリプション。
- サブスクリプション内の Azure IoT ハブ。
- Azure IoT ハブにメッセージを送信するクライアント アプリ。
Power BI アカウント。 Power BI を無料で試す。
IoT Hub へのコンシューマー グループの追加
コンシューマー グループは、イベント ストリームへの独立したビューを提供します。これにより、アプリと Azure サービスは、同じイベント ハブのエンドポイントからデータを別々に使用することができます。 このセクションでは、このチュートリアルの後半でエンドポイントからデータをプルするために使用するコンシューマー グループを IoT ハブの組み込みエンドポイントに追加します。
コンシューマー グループを IoT ハブに追加するには、次の手順に従います。
Azure portal で、IoT ハブを開きます。
左側のウィンドウで、[ハブの設定] で [組み込みのエンドポイント] を選択します。 [コンシューマー グループ] の下のテキスト ボックスに、新しい コンシューマー グループの名前を入力します。
テキスト ボックスの外側の任意の場所を選択して、コンシューマー グループを保存します。
Stream Analytics ジョブを作成、構成、および実行する
Stream Analytics ジョブを作成します。 ジョブを作成したら、データの取得に使用する入力、出力、およびクエリを定義します。
Stream Analytics のジョブの作成
IoT Hub から Power BI にデータをルーティングするために使用する Stream Analytics ジョブを作成します。
Azure Portal で、 [リソースの作成] を選択します。 検索ボックスに Stream Analytics Job を入力し、ドロップダウンリストから選択します。 [Stream Analytics ジョブ の概要] ページで、[作成] を選択します。
[新しい Stream Analytics ジョブ] ページの [基本] タブで、次の情報を入力します。
パラメーター 価値 サブスクリプション IoT ハブを含むサブスクリプションを選択します。 リソース グループ IoT ハブを含むリソース グループを選択します。 名前 ジョブの名前を入力します。 名前はグローバルに一意である必要があります。 リージョン IoT ハブが配置されているリージョンを選択します。 他のすべてのフィールドは既定値のままにします。
[ 確認と作成] を選択し、[ 作成 ] を選択して Stream Analytics ジョブを作成します。
ジョブが作成されたら、[ リソースに移動] を選択します。
Stream Analytics ジョブに入力を追加する
IoT ハブからデータを収集するように Stream Analytics ジョブを構成します。
Stream Analytics ジョブを開きます。
ナビゲーション メニューの [ジョブ トポロジ] セクションから [入力] を選択します。
[ 入力の追加] を選択し、ドロップダウン リストから [IoT Hub ] を選択します。
新しい入力ウィンドウで、次の情報を入力します。
パラメーター 価値 入力のエイリアス 入力用の一意のエイリアスを入力してください。 たとえば、 PowerBIVisualizationInput
のようにします。サブスクリプション このチュートリアルで使用している Azure サブスクリプションを選択します。 IoT Hub このチュートリアルで使用している IoT ハブを選択します。 コンシューマー グループ 前に作成したコンシューマー グループを選択します。 共有アクセス ポリシー名 Stream Analytics ジョブで IoT ハブに使用する共有アクセス ポリシーの名前を選択します。 このチュートリアルでは、 サービスを選択できます。 サービス ポリシーは、新しい IoT ハブに既定で作成され、IoT ハブによって公開されているクラウド側エンドポイントで送受信するアクセス許可を付与します。 詳細については、「アクセス制御とアクセス許可の」を参照してください。 共有アクセス ポリシー キー このフィールドは、共有アクセス ポリシー名の選択内容に基づいて自動的に入力されます。 エンドポイント [ メッセージング] を選択します。 他のすべてのフィールドは既定値のままにします。
保存 を選択します。
Stream Analytics ジョブへの出力の追加
ナビゲーション メニューの [ジョブ シミュレーション] セクションから [出力] を選択します。
[ 出力の追加] を選択し、ドロップダウン リストから [Power BI ] を選択します。
Power BI にサインインしたら、次の情報を入力して Power BI 出力を作成します。
パラメーター 価値 出力のエイリアス 出力の一意のエイリアス。 たとえば、 PowerBIVisualizationOutput
のようにします。グループ ワークスペース ターゲット グループ ワークスペースを選択します。 認証モード 認証にマネージド ID を使用するための適切なアクセス許可がない場合は、ポータルから警告が表示されます。 その場合は、代わりに [ユーザー トークン ] を選択します。 データセット名 データセット名を入力します。 テーブル名 テーブルの名前を入力します。 [ 承認] を選択し、Power BI アカウントにサインインします。
保存 を選択します。
Stream Analytics ジョブのクエリの構成
ナビゲーション メニューの [ジョブ トポロジ] セクションから [クエリ] を選択します。
クエリ エディターで、
[YourOutputAlias]
をジョブの出力エイリアスに置き換えます。[YourInputAlias]
をジョブの入力エイリアスに置き換えます。クエリの最後の行として、次の
WHERE
句を追加します。 この行により、 温度 プロパティを持つメッセージのみが Power BI に転送されます。WHERE temperature IS NOT NULL
クエリは次のスクリーンショットのようになります。 [クエリの保存] を選択します。
Stream Analytics ジョブの実行
- Stream Analytics ジョブで、[ 概要] を選択します。
- [ジョブの開始]>[今すぐ]>[開始する] の順に選択します。 ジョブが正常に開始されると、ジョブの状態が [停止済み] から [ 実行中] に変わります。
データを視覚化する Power BI レポートを作成して発行する
次の手順では、Power BI サービスを使用してレポートを作成して発行する方法を示します。
IoT デバイスが実行され、温度データが IoT Hub に送信されていることを確認します。
Power BI アカウントにサインインします。
サイド メニューから [ワークスペース] を選択し、Stream Analytics ジョブ出力で選択したグループ ワークスペースを選択します。
ワークスペース ビューに、Stream Analytics ジョブの出力を作成したときに指定したデータセットが表示されます。
作成したデータセットにカーソルを合わせ、[ その他のオプション ] メニュー (データセット名の右側にある 3 つのドット) を選択し、[ レポートの作成] を選択します。
折れ線グラフを作成して、時間の経過と同時にリアルタイムの温度を表示します。
レポート作成ページの [視覚化 ] ウィンドウで、折れ線グラフ アイコンを選択して折れ線グラフを追加します。 グラフの側面と角にあるガイドを使用して、サイズと位置を調整します。
[フィールド] ウィンドウで、Stream Analytics ジョブの出力を作成したときに指定したテーブルを展開します。
[視覚化] ウィンドウで EventEnqueuedUtcTime を X 軸にドラッグします。
温度を Y 軸にドラッグします。
折れ線グラフが作成されます。 X 軸には、UTC タイム ゾーンの日付と時刻が表示されます。 y 軸には、センサーからの温度が表示されます。
注
テレメトリ データの送信に使用するデバイスまたはシミュレートされたデバイスによっては、フィールドの一覧が少し異なる場合があります。
> を選択してレポートを保存します。 メッセージが表示されたら、レポートの名前を入力します。
引き続きレポート ウィンドウで、 ファイル>Embed レポート>Website またはポータルを選択します。
注
埋め込みコードの作成を有効にするために管理者に連絡する通知を受け取った場合は、管理者に連絡する必要がある場合があります。 埋め込みコードの作成は、この手順を完了する前に有効にする必要があります。
レポートへのアクセスのために他のユーザーと共有できるレポート リンクと、レポートをブログや Web サイトに統合するために使用できるコード スニペットが提供されます。 [Secure embed code]\(セキュリティで保護された埋め込みコード\) ウィンドウでリンクをコピーし、ウィンドウを閉じます。
Web ブラウザーを開き、アドレス バーにリンクを貼り付けて、ブラウザーにレポートを表示します。
Microsoft では、モバイル デバイスで Power BI ダッシュボードとレポートを表示および操作するための Power BI モバイル アプリ も提供しています。
リソースをクリーンアップする
このチュートリアルでは、Power BI で Stream Analytics ジョブとデータセットを作成しました。
他のチュートリアルを完了する予定の場合は、後で再利用できるように、リソース グループと IoT ハブを保持することをお勧めします。
Azure リソースをクリーンアップする
Stream Analytics ジョブは、IoT ハブと同じリソース グループ内に存在する必要があります。 IoT ハブまたは作成した他のリソースが不要な場合は、Azure portal でリソース グループ全体を削除できます。 または、個々のリソースを削除することもできます。
- Azure Portalで、リソース グループに移動します。
- グループ内のリソースを確認します。 それらすべてを削除する場合は、[ リソース グループの削除] を選択します。 個々のリソースを削除する場合は、リソースを右クリックし、コンテキスト メニューから [削除 ] を選択し、プロンプトに従います。
リソース グループとそのすべてのリソースを削除するには、 az group delete コマンドを使用することもできます。
az group delete --name {your resource group}
Power BI リソースをクリーンアップする
Power BI でデータセット PowerBiVisualizationDataSet を作成しました。 データセットと、Power BI サービスから作成した関連レポートを削除できます。
- Power BI アカウントにサインインします。
- [ ワークスペース] を選択し、データセットを含むワークスペースの名前を選択します。
- PowerBiVisualizationDataSet データセットにカーソルを合わせ、表示される 3 つの水平ドットを選択して、[その他のオプション] メニューを開きます。
- [削除] を選択し、プロンプトに従います。 データセットを削除すると、レポートも削除されます。
次のステップ
このチュートリアルでは、Power BI を使用して Azure IoT ハブからのリアルタイム センサー データを視覚化する方法について説明しました。
Azure IoT Hub からのデータを視覚化する別の方法については、次のチュートリアルを参照してください。