データ分析基盤の構築と可視化

[更新:2025年11月28日]

A1_data_analysis

データ分析と可視化によるシステム構成では、大規模で多様なデータを安全に蓄積し、収集から加工・統合まで自動化することで、高速かつ柔軟な分析を可能にします。これにより、蓄積したデータを一元的に解析し、視覚的に分かりやすく共有することで、全社的なデータ活用と迅速な意思決定を支援します。

各機能のサービス対応

機能

対応サービス

データレイク

Azure Data Lake Storage Gen2

ETL/データ変換

Azure Data Factory

DWH

Azure Synapse Analytics(専用SQLプール)

クエリ実行・可視化

Power BI

構築手順

Addon上でリソースを作成する

データレイク機能

  • Addon の 「データレイク機能」API を利用して Azure Data Lake Storage Gen2 を作成します。

#TOKEN='<your-api-token>'

#POST
curl -v \
  --location 'https://secure.sakura.ad.jp/cloud-test/zone/is1y/api/addon/1.0/analytics/datalake' \
  --header 'Content-Type: application/json' \
  --header 'Accept: application/json' \
  --header "Authorization: Basic $TOKEN" \
  --data '{
    "location": "japaneast",
    "performance": 1,
    "redundancy": 1
  }'

ETL機能

  • Addon の 「ETL機能」API を利用して Azure Data Factory を作成します。

#TOKEN='<your-api-token>'

#POST
curl -v \
  --location 'https://secure.sakura.ad.jp/cloud-test/zone/is1y/api/addon/1.0/analytics/etl' \
  --header 'Content-Type: application/json' \
  --header 'Accept: application/json' \
  --header "Authorization: Basic $TOKEN" \
  --data '{
    "location": "japaneast"
  }'

データウェアハウス機能

  • Addon の 「データウェアハウス機能」API を利用して Azure Synapse Analytics を作成します。

#TOKEN='<your-api-token>'

#POST
curl -v \
  --location 'https://secure.sakura.ad.jp/cloud-test/zone/is1y/api/addon/1.0/analytics/dwh' \
  --header 'Content-Type: application/json' \
  --header 'Accept: application/json' \
  --header "Authorization: Basic $TOKEN" \
  --data '{
    "location": "japaneast"
  }'

Azure Portal 上での設定

ユースケース構成に必要なRBACの付与を行う

Addonを利用してリソースを作成後、ユースケース構成に必要なRBACの操作を行います。

データレイク機能APIで作成した場合

Azure Data Lake Gen2のリソースのアクセス制御設定を開き、ロールの割り当てからAzure Data Factory(データETL機能で作成したもの)のマネージドIDに「ストレージ BLOB データ閲覧者」のRBACを付与します。

AddonRbacBlob
データウェアハウス機能APIで作成した場合

ResourceNameが「dls」から始まるAzure Data Lake Gen2のリソースのアクセス制御設定を開き、ロールの割り当てからAzure Data Factory(データETL機能で作成したリソース)のマネージドIDに「ストレージ BLOB データ共同作成者」のRBACを付与します

AddonRbacBlobSink

Azure Data Lake Storage Gen2でのデータアップロード

サンプルデータは以下のサイトの「個人のインターネット利用状況の推移」のCSVを利用しています。

以下のキャプチャを参考に、Addonの「データレイク機能」で作成した Azure Data Lake Storage Gen2 のリソースを選択し、「データストレージ」の「コンテナー」に移動して、コンテナーの作成を行います。

AddonCreateContainer.png

作成したコンテナーにサンプルCSVファイルをアップロードします。

AddonFileUpload

Azure Synapse Analyticsで専用SQLプールを作成する

変換されたデータを取り込むためのデータベースが必要なため、Azure Synapse Analytics内に専用SQLプールを作成します。

注意

専用SQLプールを利用しない期間は、その停止を推奨します。専用SQLプールを作成した場合、時間あたりコンピューティングコストの課金が発生します。 参考情報:https://azure.microsoft.com/ja-jp/pricing/details/synapse-analytics/

以下のようにAddonのデータウェアハウス機能で作成したAzure Synapse Analyticsに遷移し、「新しい専用SQLプール」を選択します。

AddonSQLPoolMenu

新たに専用SQLプールを作成します。デフォルト値はDW1000cですが、今回は簡単な検証のため、最小値DW100cを選択して作成してください。

AddonCreateSQLPool

Synapse WorkSpaceにEntra管理者を設定する

SQLプールにログインしたり、データを書き込む際に Microsoft Entra 認証を利用するため、Synapse Workspaceに対してEntra管理者を設定する必要があります。

サービスプリンシパルの作成

Entra管理者として選択できるのはユーザ、グループ、サービスプリンシパルです。

Azure Data FactoryからSynapse Workspaceに存在する専用SQLプールに接続するために、Azure Data FacotryのマネージドIDを資格情報として紐づけられるサービスプリンシパルを作成します。

  • Microsoft Entra IDの画面に移動し、「アプリの登録」から新規登録を行います。

AddonCreateEnterpriseAppMenu
  • 名前を入力し、「この組織ディレクトリに含まれるアカウント」を選択してアプリを作成します。

AddonCreateEnterpriseApp
  • サービスプリンシパルを作成後、証明書とシークレットのフェレデレーション資格情報にAzure Data FacotryのマネージドIDを登録します。

AddonCreateEnterpriseAppSercret
  • Azure Data FacotoryのマネージドIDを選択し、フェレデレーション資格情報を作成します。

AddonCreateEnterpriseAppsercretManagedID AddonCreateEnterpriseAppsercretManagedIDSelect

Azure Data FacotryとSynapse Workspace内のSQLを接続するには、Azure Data FacotryをDBの包含ユーザとして登録する必要があります。操作を行うユーザもEntra管理者である必要があるため、専用SQLプールに包含ユーザを登録するユーザと、Azure Data Facotryのサービスプリンシパルを含めたセキュリティグループを構成します。

  • グループに遷移し、「新しいグループ」を選択します。

AddonSecurityGroupMenu
  • グループ名を入力します。

AddonCreateSecurityGroup
  • 所有者に、ユースケースの構築を行う利用者を選択します。

AddonSecurityGroupOwner
  • メンバーに、先ほど作成したAzure Data Factoryのサービスプリンシパルと利用者を選択します。

AddonSecurityGroupMember
  • Synapse Workspaceにアクセスし、「Microsoft Entra ID」を開き、「管理者の設定」を選択して、Entra管理者にセキュリティグループを設定します。

AddonSetUpEntraAdmin.png
  • 先ほど作成したグループを選択します。

AddonSetUpEntraAdminSelectGroup
  • 設定を保存します。

AddonSecurityGroupSave
Entra管理者ユーザの作成と権限を付与

Synapse Studioを開き、作成した専用SQLプールをターゲットとして選択し、SQLスクリプトを実行して、Entra管理者ユーザの作成と権限を付与します。

  • Synapse Workspaceの概要からSynapse Studioを起動します。

AddonOpenSynapseStudio
  • 起動したSynapse Studio のDevelopを開き、SQLスクリプトを作成します。

AddonCreateSQLScript
  • 作成した専用SQLプールを選択し、以下のSQLを実行します。

CREATE USER [Azure Data Factory ResourceName] FROM EXTERNAL PROVIDER;
EXEC sp_addrolemember 'db_owner', 'Azure Data Factory ResourceName';
AddonCreatePerm

データ変換フローの構築

Azure Data Facotry上で実際にAzure Data Lake Storage Gen2 にアップロードしたデータについて、Azure Data Facotryのパイプラインを通してAzure Synapse Analyticsへ格納するためのデータ変換フローの構築を行います。

  • AddonのETL機能で作成したAzure Data Factoryに移動し、Data Studioを起動します。

  • 起動後、以下のような画面が表示されるため、新規でパイプラインの作成を選択します。

AddonDataStudioOverView
  • 以下のキャプチャのように「データフロー」をドラッグして選択します。

AddonSetDataConvertFlow
  • 設定タブを選択し、新規を選択してデータフローの設定を行います。

AddonCreateDataFlowPropaties
  • 「ソースの追加」で、Azure Data Lake Storage Gen2を追加します。

AddonCreateSorceFlow
  • ソースで利用するデータセットを用意する必要があるため、新規でデータセットを作成します。

AddonCreateSorceDataSetPropaties
  • Azure Data Lake Storage Gen2 を選択します。

AddonSorceDataSetpropatiesResource
  • データ形式は DelimitedText を選択します。

AddonSorceDataSetpropatiesData
  • 続いて、リンクサービスの設定を行います。

AddonSorceCreateLinkSerive
  • 以下のように認証はシステム割り当てマネージドIDを利用します。

AddonSorceLinkSerive
  • ファイルパスは以下のように指定します。コンテナ名と取り込むサンプルデータを指定してください。

AddonSorceLinkSeriveFilePath
  • 不要なデータの行を取り込まないように以下のようにスキップ設定を行い、データを変換します。データフローを選択し、「ソースの設定」のスキップ行数を「12」に指定します。

AddonDataSkip
  • データセットの設定の中で、先頭行をヘッダーにする設定を除外します。データセットを選択し、「接続」から「先頭行をヘッダーとして」のチェックを外してください。

RemoveHeader
  • ソースのデータセットの「スキーマ」の設定が以下のようになっていることを確認します。

    ※キャプチャのようなスキーマ設定になっていない場合は一度スキーマをクリアして、スキーマのインポートを選択し、「接続またはストアから」で再度スキーマをインポートし直してください。

AddonSorceSchemaSetting
  • 続いて、以下のキャプチャを参考にシンクを追加します。

AddonCreateSinkFlow
  • 追加したシンクに対して、データセットの設定を行います。

AddonSinkSetup.png
  • Azure Synapse Analyticsを選択します。

AddonSinkDatasetPropertiesResource
  • シンクにもリンクサービスの設定を行います。

AddonSinkLinkService
  • 認証はソースと同様にマネージドIDを選択します。

AddonSinkLinkSetup
  • テーブルは新たなものを利用するため、以下のように設定します。

AddonSinkDBTableCreate
  • パイプラインの設定に戻り、ステージングのリンクサービスを構成します。

AddonSetupStaging
  • Azure Synapse Analyticsと同じリソースグループ配下に作成されているAzure Data Lake Storage Gen2 のリソースを選択してください。

    ※ファイルシステム用ではない方のdlsで始まるストレージアカウント名のリソースに連携します。

AddonStagingLinkSetup
  • フォルダパスを設定します。

AddonStagingFolderPath
  • シンクの設定から、データ挿入時にテーブルが再作成されるように変更します。

AddonSinkTableOption
  • 構築したパイプラインを保存するためにすべて発行を選択します。

AddonSavePipeline

ストレージイベントトリガーの構成

ストレージイベントトリガーの設定

ストレージの更新をトリガーとしてパイプラインを実行するために、ストレージイベントトリガーの設定を行います。

  • パイプラインの画面を開き、トリガーの追加を選択します。

AddonCreateEventTriggerMenu
  • 新規/編集を選択します。

AddonChoiceCreateEdit
  • 新規を選択します。

AddonCreateEventTrigger
  • 以下のトリガー設定を行い、続行を選択します。

    • 名前:任意のトリガー名

    • 種類:ストレージイベント

    • アカウントの選択方法:Azure サブスクリプション

    • ストレージアカウント名:Addon APIのデータレイク機能で作成したストレージアカウントを選択

    • イベント:BLOBが作成されましたにチェックを入れる

    • 空のBLOBを無視する:はい

    • トリガーの開始:作成時のトリガーの開始にチェックを入れる

AddonTriggerEventOption1 AddonTriggerEventOption2
  • 続行を選択します。

AddonDataPreview
  • OKを選択します。

AddonTriggerEditAccept
  • トリガーの発行を行います。

AddonEventTriggerPublish
ストレージイベントトリガーの動作確認

ストレージの更新に従ってAzure Data Factoryのトリガーが実行されることを確認します。

  • サンプルCSVファイルの41行目に2025,88.2の値を追加し、ファイルを保存します。

AddonSampleModfy
  • 更新したサンプルCSVファイルをAzure Data Lake Storage Gen2にアップロードします。ファイルが既に存在する場合は上書きするにチェックを入れます。

AddonBlobUpdate
  • Azure Data Factory Studioを起動し、監視 > トリガー実行を選択します。BLOBの更新によってトリガー実行が確認できます。

AddonEventTriggerLog

Azure Synapse Analtytics上のデータベースの確認

Azure Synapse Analtytics内で変換されたデータを確認する場合は、Synapse Studioに移動して、作成した専用SQLプールを選択した後、以下のSQLを実行します。

SELECT * FROM [SchemaName].[TableName];
AddonDataFlowResult

Power BI Desktopで可視化する

前提条件

Power BI Desktopの設定

  • PowerBIDesktopを起動し、他のソースからデータを設定するを選択します。

AddonPowerBIDataLink
  • Azure Synapse Analytics を選択し、接続します。

AddonPowerBIDataLinkSetup
  • Synapse Workspaceの概要から専用SQLプールのエンドポイントを確認します。

AddonSQLPoolEndPoint
  • 専用SQLプールのエンドポイントとデータベース名を入力して「接続」を選択します。

AddonPowerBISynapseConnectionSetup
  • Azure Synapse Analyticsの専用SQLプールに接続するために認証を行います。利用者のアカウントでMicrosoftアカウントへのログインを行います。

AddonPowerBIGovUserLogin
  • 認証が完了したら、接続を行います。

AddonPowerBISynapseConnection
  • 以下キャプチャのようにテーブルの読み込みを行います。

AddonPowerBITableLoad
  • 以下キャプチャのように列を選択することで、読み込んだテーブルのビューを PowerBI Desktop で確認できます。

AddonPowerBIView

ここから、取り込んだテーブルに対してクエリ実行を行うための設定をします。

  • 以下キャプチャのように「クエリ」から「データの変換」を選択します。

AddonQueryMenu
  • 年代の列に対して、フィルターを設定します。

AddonPowerBIColumFilter
  • テキストフィルターの設定を行います。

AddonPowerBITextFilter
  • 設定を「指定の値で始まる」を選択し、「2」の値を入力します。

AddonPowerBIFilterProperties
  • フィルター設定が終わりましたら「閉じて適用」を選択します。

AddonPowerBIApply
  • クエリが適用され、2000年代のデータのみが表示されることを確認します。

AddonPowerBIQueryResult

可視化方法の変更

PowerBIでは可視化方法を変更することができます。今回はグラフへ可視化方法を変更します。

  • 右側のデータタブからColumn_1を選択し、列ツールからデータ形式を整数に変更します。

AddonPowerBIColumn1
  • Column_1と同様に、右側のデータタブからColumn_2を選択し、列ツールからデータ形式をに固定少数点数に変更します。書式は全般に変更します。

AddonPowerBIColumn2
  • ビジュアルのビルドから集合横棒のアイコンを選択します。

AddonPowerBIChoiceGraphOption
  • データからY軸にColumn_1を、X軸にColumn_2をドラッグして指定します。指定すると棒グラフとして視覚化されます。

AddonPowerBIGraphSetting

Power BIレポートを発行する

  • PowerBI Desktop 上で編集したレポートをオンラインのワークスペースへ発行するには、上部にある「発行」を選択します。

AddonPowerBIPublish
  • 発行したいワークスペースを選択します。

AddonPowerBIPublishWorkspace
  • オンライン上のワークスペースでレポートが表示されることを確認します。

AddonPowerBIOnlineReport

Power BIのアクセスコントロール

Power BIで作成したレポートを共有するには、共有アイコンを選択します。

AddonShareReport

以下の3種類の共有方法を利用できます。

  • 組織内のユーザ

  • 既存のアクセス権を持つユーザ

  • 特定のユーザ

組織内のユーザ

組織全体に公開する場合は、「組織内のユーザ」を選択して適用を選択します。

AddonInternalShare

既存のアクセス権を持つユーザ

既にアクセス権を持つユーザに対してレポートを共有するには、「既存のアクセス権を持つユーザ」を選択します。

AddonExistingUser

「リンクのコピー」を選択すると、既存アクセス権を持つユーザがアクセス可能なリンクが発行されます。

AddonExistingUserLink

特定のユーザ

組織や外部の一部のユーザに公開するには、「特定のユーザ」を選択して適用を選択します。

AddonLimitedUser

ユーザのメールアドレスを指定することで共有が可能になります。

AddonLimitedUserMail