第2回では以下の内容をご説明します。
1.はじめに
Microsoft Fabricは、データの統合、処理、分析、可視化を一元的に行うための強力なプラットフォームです。今回は、Microsoft Fabricを活用したデータ加工の方法について解説します。
特に、Azure Portalの設定方法、Fabricリソースの作成手順、料金体系、そしてサンプルデータを使用したデータ加工の実施手順を取り上げます。
2.Azure Portalの設定
Azure Portalでは利用するサービス(今回ご説明するMicrosoft Fabricなど)の管理をする上でテナントの作成が必要です。また、テナント内のプロジェクトにアクセスできるユーザーを管理するためにアカウント作成が必要です。
※テナントとはAzure Portal上で、特定のサービス(今回はMicrosoft Fabric)に関わる作業やユーザーをひとまとめにした、グループのようなものを指します。
本項ではAzure Portalにてテナント作成とアカウント作成を実施します。
2-1.Azure Portalでのテナント作成
まずはテナントの作成を行います。以下の手順を参考に進めてください。
2-1-1.Azure portal にサインインします。
2-1-2.Azure portal メニューから 「Microsoft Entra ID」を選択します。
※Microsoft Entra IDとは、マイクロソフト社が提供する製品の一つで、データに接続するクラウド ID およびアクセス管理を行うサービスです。これにより、デバイス等に依存せずに安全なサービスへのアクセスを実現できるようになります。
2-1-3.「ID」>「概要」>「テナントの管理」へ移動します。
「作成」を選択します
2-1-4.作成するテナントの種類として「Microsoft Entra ID」か「Microsoft Entra ID (B2C)」を選択します。
「次へ: 構成」 を選択して [構成] タブに移動します。
2-1-5.[構成] タブで、次の情報を入力します。
- 目的の組織名 (Contoso 組織など) を [組織名] ボックスに入力します。
- 目的の初期ドメイン名 (Contosoorg など) を [初期ドメイン名] ボックスに入力します。
- 目的の国/地域を選択するか、[国/地域] ボックスを [米国] オプションのままにします。
確認と作成 を選択します。
2-1-6.入力した情報を確認し、誤りがなければ左下隅の「作成」を選択します。
2-2.Azure Portalでのアカウント作成
続いてアカウントの作成を行います。以下の手順を参考に進めてください。
※新しい Microsoft Entra テナントを作成したユーザーが、そのテナントの最初のユーザーになります。 最初のユーザーには、グローバル管理者ロールが自動的に割り当てられます。
2-2-1.Microsoft Entra 管理センターにユーザー管理者以上でサインインしてください。
新しいユーザーを作成します。
[基本情報] タブには、新しいユーザーを作成するために必要なコア フィールドが含まれています。 開始する前に、ユーザー名プロパティに関するガイダンスを確認してください。
[ユーザー プリンシパル名]: 一意のユーザー名を入力し、@ 記号の後のメニューからドメインを選択します。 新しいドメインを作成する必要がある場合は、「ドメインが一覧表示されない」を選択します。
2-2-2.[メール ニックネーム]: 入力したユーザー プリンシパル名とは異なるメール ニックネームを入力する必要がある場合は、[(ユーザー プリンシパル名から派生する] オプションをオフにし、メール ニックネームを入力します。
2-2-3.[表示名]: Chris Green や Chris A. Green などのユーザーの名前を入力します。
2-2-4.[パスワード]: ユーザーが最初のサインイン時に使用するパスワードを指定します。 別のパスワードを入力するには、[パスワードの自動生成] オプションをオフにします。
2-2-5.[次へ: プロパティ] を選んで次のセクションを完了します。
必要に応じてプロパティやロールを追加し、作成ボタンにてユーザーを作成します。
3.AzureでのFabricリソースの作成
Microsoft Fabricでは、データ処理や分析に必要なリソースを作成できます。以下の手順を参考に進めてください。
3-1.リソースの作成
3-1-1.Azure Portalホーム画面の「Azureサービス」 > 「リソース作成」を選択し、リソース作成ページに移動します。
3-1-2.検索ボックスから「Microsoft Fabric」を検索し、「Microsoft Fabric」を選択します。
3-1-3.「作成」を押下後、リソースの設定を行い、リソースを作成します。
<リソースの設定 デフォルト画面>
[基本タブ]
<プロジェクトの詳細>
- サブスクリプション
契約しているサブスクリプションを選択してください
- リソースグループ
任意のリソースを選択してください。初めて作成する場合は「新規作成」ボタンより作成できます。
<容量の詳細>
- 容量の名前
任意の名前を設定してください。
- リージョン
対象のリージョンを選択してください。日本の環境であれば、「Japan East」または「Japan West」を選択します。
- サイズ
利用するサイズを選択してください。デフォルトでは「F64」が選択されていますが、「サイズの変更」ボタンより変更が可能です。
サイズに関する詳細は、以下<容量の詳細 – サイズ>をご確認ください。
- Fabric 容量管理者
管理者のアカウントを選択してください。デフォルトでは自身のアカウントが選択されていますが、「選択」ボタンより変更が可能です。
<容量の詳細 – サイズ>
- サイズに記載されているSKUはF2~F2048のうち、11種の選択ができます
- 数値が高いほどデータ処理のスピードが速くなります
- リソース作成後にサイズを変更することが可能です
- Copilotを利用する場合は、F64以上を選択する必要があります
- 「サイズの変更」ボタン押下後、以下画面より各コストの確認ができます ※月コストは1ヶ月間リソースを稼働し続けた場合の概算です(稼働後に一時停止をすることも可能です)
※2024年12月時点の利用料金です
- 詳細なコストを確認したい場合は、以下URLより確認が可能です ※リージョン、通貨、価格単位(月 or 時)での金額を確認できます
Microsoft Fabric - 価格 | Microsoft Azure
[タグ]タブ
任意にタグを付与することが出来ますが、今回はテストのためタグの付与はスキップします。
[レビュー + 作成]
今回の設定におけるコストなどの確認を行います。
以上の設定完了後、「作成」ボタンを押下します。
作成が完了しました。 ※デプロイに少し時間が掛かる場合がありますが、数分で完了します。
3-2.作成したリソースの確認
3-2-1.Azure Portalのホーム画面から「Microsoft Fabric」を検索して、サービスの「Microsoft Fabric」を選択します。
リソースが作成されていることが確認できます。
4.Microsoft Fabricの利用料金の算出方法
基本的な料金算出の考え方は前述にも記載の以下ページの通りです。
Microsoft Fabric - 価格 | Microsoft Azure
以下例にて、「Microsoft Fabric 容量」の算出方法をご紹介します。
※データ保存場所になる「OneLake Storage」の料金は上記URLをご参照ください。
例. 以下のようなユースケースでの使用例(リージョン:東日本、通貨:日本円(1 USD = 153.48 JPY))
- 夜~朝(20:00~9:00)は処理を動かさない ⇒ サービスを停止する
- 朝~日中(9:00~13:00)はレポート用の自動処理を行う ⇒ F32を利用する
- 日中(13:00~16:00)はレポート用の自動処理を行うに加えて、データサイエンティストの部署が分析処理を行う ⇒ F128を利用する
- 夜間(16:00~20:00)はレポート用の自動処理を行う ⇒ F32を利用する
料金計算 ※利用料金は2024年12月時点
SKU |
1時間当たりの利用料金(円) |
1日当たりの利用時間(時間) |
1日当たりの利用金額(円) |
---|---|---|---|
停止 |
0 |
13 |
0(= 0 × 13) |
F32 |
1,031.386 |
8 |
8,251.088(= 1,031.386 × 8) |
F128 |
4,125.543 |
3 |
12,376.629(= 4,125.543 × 3) |
1日当たりの合計利用金額 |
20,627.717(= 8,251.088 + 12,376.629) |
1ヶ月当たりの利用金額
= 618,831.51 (= 20,627.717 × 30日)
⇒約62万円
5.Microsoft Fabricへのアクセスと使用例
ここまで設定するとMicrosoft Fabricを使う準備が整いましたので、実際にMicrosoft Fabricにアクセスして操作してみましょう。
ここでは、Microsoft Fabricへのアクセス方法からリソースの変更方法、サンプルデータを用いた加工例について紹介します。
5-1.Microsoft Fabricへのアクセス
Microsoft Fabricには、Microsoft Fabricの公式HPからアクセスし、アカウントへサインインすることが可能です。
- Microsoft Fabric公式HP
https://www.microsoft.com/ja-jp/microsoft-fabric
サインインすると、アカウント情報が要求されますので、「2. Azure Portalの設定」で作成したアカウント情報を入力し、ログインを行います。
※各アーキテクチャの詳細は「【第1回】Microsoft Fabricとは」の「2-2. Microsoft Fabricへのエクスペリエンス」 をご確認ください。
5-2.Microsoft Fabricのリソース管理
Microsoft Fabricでは、ワークスペース毎にリソースの切り替えを行うことが可能です。ワークスペース毎にリソースを変更することで、同じワークスペースで作業を行っているユーザー全てが同じリソースで作業を行うことができます。
そのため、Power BI・Copilotの必要有無や必要な処理速度等で各ワークスペースでの要件が異なる場合、ワークスペース毎で必要に応じたリソースを設定することで、費用を抑えつつ作業することが可能になります。
例えば、時間に応じてワークスペース毎にリソースの切り替えや一時停止・再開を行うことで、夜間等の利用者がいない時間の費用負担を軽減することも可能です。
ここでは、「3. AzureでのFabricリソースの作成」で作成したリソースへの変更を行います。
5-2-1.ワークスペースから、「ワークスペースの設定」を選択します。
※ワークスペースの作成方法は「【第3回】Microsoft Fabricを用いて製薬会社向けレポートを作成する ①データの取込・加工」の「3-1. ワークスペースの作成」をご確認ください。
5-2-2.「ライセンス情報」を選択し、ライセンスの構成の「編集」から、「ファブリック容量」を選択します。その後、「3. AzureでのFabricリソースの作成」で作成したリソースをプルダウンから選択し、「ライセンスの選択」をするとリソースが反映されます。
※「ファブリック容量」が選択できない、または、作成したリソースがプルダウンに表示されない場合、リソースが一時停止になっている可能性があります。
「3. AzureでのFabricリソースの作成」と同様の方法で、Azure PortalからMicrosoft Fabricにアクセスし、リソースの状況を確認しましょう。以下のような状態であれば、リソースが「一時停止」していますので、リソース管理者に連絡し、「再開」することで、選択できるようになります。
アカウント毎に作成される「マイワークスペース」のリソース変更も可能で、本番実装前のデータの探索や検証等を行う際に有用です。アカウント毎の切り替えになるため、管理者権限を持つアカウントであれば自由にリソースの切り替えを行うことが可能です。
5-3.サンプルデータを用いた加工例
Microsoft Fabricのアーキテクチャの1つである、Data Factoryにおける「データフロー(Gen2)」で可能な主な操作とサンプルデータを用いた実際の操作をご紹介します。
5-3-1.Data Factoryとデータフロー(Gen2)
Data Factoryは、豊富なデータソースからデータを取り込み、準備し、変換するためのデータ統合エクスペリエンスです。Power Query のシンプルさが組み込まれており、200 種類を超える標準コネクタを使用して、オンプレミスとクラウドのデータソースに接続できます。
その中でもデータフロー(Gen2)は、数百のデータソースからデータを取り込み、300 以上のデータ変換を使用してデータを変換するためのローコードツールです。また、Power Queryで構築されており、結合、集計、データ クレンジング、カスタム変換などは、すべて使いやすく、視覚的に優れたローコード UI から実行できます。
データフロー(Gen2)は、手動またはスケジュールされた更新を使用して繰り返し実行することも、データパイプライン オーケストレーションの一部として実行することもできます。
5-3-2.使用するサンプルデータ
今回使用するサンプルデータは、製薬業界における講演会(製品プロモーション活動)における参加者リスト・アンケート回答と各参加者におけるMRの活動に関するデータです。
※MRとは、Medical Representative(メディカル・リプレゼンタティブ)の略で、日本語では「医薬情報担当者」を指します。製薬会社などに所属し、医師や薬剤師などの医療関係者に自社の医療用医薬品に関する情報を提供する営業担当者の職種です。
- 参加者リスト・アンケート回答(Event_participants_dmy_v4_utf8_sig.csv)
各講演会の参加者と、アンケートへの回答が記載されたデータです。
列名 |
概要 |
---|---|
YM |
講演会の開催年月 |
Event_Date |
講演会の開催年月日 |
start_time |
講演会の開始時間 |
end_time |
講演会の終了時間 |
Event_ID |
講演会ID(1講演会で一意のコード) |
Event_Name |
講演名 |
Product_Name |
講演会でプロモーションする製品名 |
Dr_code |
医師コード(1医師で一意のコード) |
Dr_name |
医師名 |
Connected_Datetime |
講演会の視聴開始時間 |
Disconnected_Datetime |
講演会の視聴終了時間 |
Viewing_Time |
講演会の視聴時間 |
診療科 |
医師の所属診療科 |
KOL |
Key Opinion Leader(製薬企業の販売促進に影響力を持つ医師などの専門家)フラグ |
Question |
講演会でのアンケート内容 |
Answer |
講演会でのアンケート回答 |
- MR活動データ(Event_MRact_dmy_v3_utf8_sig.csv)
日々のMRの活動記録が一覧化されたデータです。
列名 |
概要 |
---|---|
Dr_code |
医師コード |
活動日_visit |
担当MRが医師へ訪問した日 |
活動日_mail |
担当MRが医師にメールした日 |
※「活動日_visit」と「活動日_mail」はいずれか一方のみ収録
5-3-3.データフロー(Gen2)で可能な操作とその具体例
データフロー(Gen2)はローコードツールのため、基本的にはアイコンでフローを作成することが可能です。標準で装備されている機能としては、「ホーム」「変換」「列を追加します」「表示」「ヘルプ」の5つのタブに分類されており、それぞれの主な操作をご紹介します。
5-3-3-1.「ホーム」タブ
「ホーム」タブには、データ取得や結合、「変換」「列を追加します」タブの代表的な操作があります。
①新しいクエリ
-
データを取得
新しいソースからデータを取り込みます。取込可能なデータソースは多岐にわたり、Excelファイルやテキスト/CSVのファイルアップロードだけでなく、SharepointやS3、AWS等のデータベース・クラウドからも取り込むことが可能です。また、OneLakeへのショートカットも用意されており容易、に接続可能です。
※接続可能なソース例(こちらも参照ください。)
- データの入力
手動でデータを入力し、新たなデータセットを作成します。
②データソース
- 接続の管理
データフロー内で既に使用されている接続を管理することが可能です。
③クエリ
既に取り込んだデータセットや関数を最新化し、データセットを更新することが可能です。その他、最終的なデータ同期先の追加・管理も行うことができます。
④列の管理
列の削除を行います。不要な列の削除と、必要な列だけ選択して他の列を削除する方法があります。
⑤行の削減
行の保持・削除、フィルター処理を行います。行の保持・削除では、上位・下位の行や重複、空白、エラーのそれぞれで保持・削除を行うことが可能です。また、フィルター処理では、列に対してフィルター処理を行うことが可能です。
例)フィルター処理
参加者リスト・アンケート回答(Event_participants_dmy_v4_utf8_sig.csv)の診療科が「内科」のレコードだけを抽出します。
⑥並べ替え
特定のカラムに対して、昇順・降順でデータの並び替えを行います。
⑦変換
「変換」タブのうち、よく使う操作がまとめられています。詳細は、「5-3-3-2. 変換タブ」を参照ください。
⑧結合
クエリのマージ(横結合)やアペンド(縦結合)、ファイルの結合を行います。マージ・アペンドの際には、既存のクエリに行うか、または新規のクエリを作成して行うかを選択することが可能です。マージの際の結合方法として、左・右外部結合、完全外部結合、内部結合、左・右反結合を選択することが可能で、あいまい一致(Fuzzy Join)もオプションで選択することが可能です。
例)マージの例
参加者リスト・アンケート回答(Event_participants_dmy_v4_utf8_sig.csv)とMR活動データ(Event_MRact_dmy_v3_utf8_sig.csv)で内部結合を行います。
⑨インサイト(Copilot)
Microsoftが公開している生成AIであるCopilotを呼び出します。リソースがF64以上の場合のみ利用可能です。
特徴・使用感の詳細は「【第5回】Microsoft FabricのCopilot機能を活用する 」をご確認ください。
⑩共有(テンプレートへのエクスポート)
作成したデータフローをテンプレートとして出力します。出力したテンプレートを他メンバーに共有することにより、データフローの共有が可能です。
例)データフロー(Gen2)の共有方法
I. 共有したいデータフローのクエリを全て選択し「テンプレートのエクスポート」を選択します。
II. エクスポートしたファイルを、共有したい相手に共有します。
III. 共有された人は、新たにデータフロー(Gen2)を作成して、「Power Queryテンプレートからインポートする」を選択し、共有されたファイルを読み込みます。
5-3-3-2.「変換」タブ
「変換」タブには、値の置換や型変換等の既存列に対する操作が実装されています。
①テーブル
- グループ化
選択した列の値をキーとしてグループ化を行い、行数のカウントや合計等の集計を行うことができます。
- 項目をヘッダーとして使用
1行目をヘッダーとして使用する、または、ヘッダーを1行目として使用する操作を行うことができます。
- 入れ替え
選択した列の値をヘッダーとして転置することができます。
例)グループ化、入れ替え
参加者リストから、グループ化を使って講演会毎の参加人数を求めます。
②任意の列
- 値の置換
選択した列に対して値の置換、またはエラー値の置換を行うことができます。置換方法は一位の値のみです。
- データ型、名前の変更、移動
列のデータ型、名前を確認・変更、移動を行うことができます。使用できるデータ型は以下の通りです。
- 列のピボット・解除
選択した列の値を列名としてピボットを作成・解除します。解除する際には、全てのピボットを解除、または選択した列のみを解除を選択することが可能です。
③テキスト列
※「列を追加します」タブと同様の操作です。
- 列の分割、列のマージ
1つの列を分割し、複数の列を作成します。分割方法としては、区切り記号や文字数、位置から選択することが可能です。
逆に複数の列を、1つの列にマージすることが可能です。
-
フォーマット
列の見栄えの調整を行います。デフォルトで行える処理としては、全ての英文字を小文字・大文字に変換、喀痰殿銭湯文字を大文字に変換、文頭・末の空白を削除、印刷不可能な文字の削除が実装されています。
その他、独自にルールを設定することも可能です。
- 展開
列内のテキストの長さや最初・末尾の文字等を返します。
- 解析
選択している列をXML形式やJSON形式で解析します。
例)列の分割、マージ
参加者リストからイベント開催日の年月日をそれぞれ抽出し、新しい列を作成します。
④数値の列
※「列を追加します」タブと同様の操作です。
- 統計、標準
合計や平均、標準偏差等の代表値や個別の値のカウント数を計算します。また、選択した列で四則演算を行い、その結果を返します。
- 科学的表記、三角関数、丸め
桁数が大きい場合に科学的表記(指数表記、×10X)の双方向変換や三角関数値変換、四捨五入・切り捨て・切り上げを行います。
- 情報
列内の値が偶数か奇数、また符号の判定を行います。
⑤日時列
※「列を追加します」タブと同様の操作です。
-
日付、時間、期間
現在までの経過時間や、年月日時分秒のそれぞれの値の抽出、曜日や四半期の分類等を行います。また、都市初めからの通算週・日や月内の日数、名前等を返すことも可能です。
また、複数列間の期間や特定の時間からの経過時間を求めることが可能です。
5-3-3-3.「列を追加します」タブ
「列を追加します」タブには、計算やナンバリング等の新たに列の追加が必要な操作が実装されています。
①全般
-
例からの列
作成したい列の値を数行入力することで、自動的に関数を作成し新たな列を作成します。ただし、サンプルが足りない場合や、同じ値が続く場合には、意図していない関数が入ることもあるため、その場合には次の「カスタム列」でユーザーにて関数を作成する必要があります。
- カスタム列
他の列またはカスタム式に基づいて新たな式を作成します。使用する関数はM言語です。
- 条件列
条件に基づいて新たに列を追加します。ただし、条件を1つしか指定できないため、複数条件で行う場合には「カスタム列」を使います。
- インデックス列、順位列
インデックスが「0」から始まる新たな列を作成します。また、列を指定して、ランク付けすることも可能です。
例)例からの列
参加者リストから、実施日を作成します。
②テキストから
※その他の操作は「変換」タブと同様の操作です。
- クラスター値
類似する値をクラスタリングして、正規の値を含む新たな列を追加します。
5-3-3-4.「表示」タブ
「表示」タブには、フィールドやサンプルビューにおける表示方法や、各クエリにマウスオーバーした際の表示画面の設定を行う操作が実装されています。
5-3-3-5.「ヘルプ」タブ
「ヘルプ」タブには、Power Queryに関するドキュメントやWebサイト、ブログ、コミュニティへのリンクや、カスタマーセンターへの要望を送ることができます。
6.最後に
第2回では、Microsoft Fabricの初期設定として、Azure Portalのテナント作成やFabricリソースの作成を行い、利用料金のシミュレーションを行いました。
また、実際のMicrosoft Fabricの使用例として、アーキテクチャの1つであるData Factoryのデータフロー(Gen2)について、サンプルデータを用いて可能な操作をご紹介しています。
第3・4回では、Microsoft Fabricを用いた製薬会社向けレポートの作成事例をご紹介します。
事例では、今回使用したサンプルデータをOne Lakeに取込、講演会毎の参加者数や満足度を自動で加工・集計を行うデータフロー(Gen2)を構築し、最終的にPower BIを用いて可視化・レポート作成の一連の流れをご紹介しています。