Microsoft Fabricは、データの収集や変換、リアルタイム分析、データの可視化などの機能を統合した企業向けのSaaS型プラットフォームです。
今回はデータを可視化する上で重要となるコンポーネントの一つである「セマンティックモデル」の意味や役割、Microsoft Fabricのセマンティックモデルアイテムで基本となる操作方法について紹介します。
セマンティックモデルとは
「セマンティックモデル(Semantic)」とはどのような意味か
「セマンティックモデル」を辞書で調べると、下記のように書かれています。
セマンティックとは、一般的には「意味」や「意味論」に関することを示す語である。IT用語としては、コンピュータに文書や情報の持つ意味を正確に解釈させ、文書の関連付けや情報収集などの処理を自動的に行わせる技術について用いられる語である。
Power BIのセマンティックモデルとは
Power BI(以降「BI」と呼称)におけるセマンティックモデル(旧名:データセット)とは、データの構造を定義し、レポート作成や可視化を行うBIユーザーにとって理解しやすく、分析しやすい形に整えたデータセットのことです。
セマンティックモデルは特定のレポートのニーズを満たすために構築され、レポート開発を簡素化するための機能が含まれています。
セマンティックモデルの役割
セマンティックモデルには大きく分けて2つの役割があります。
データの一貫性と再利用性
1つのセマンティックモデルからは、複数のレポート、ダッシュボードなどの可視化用成果物が作成可能です。セマンティックモデルがあることで、BIユーザーの誰もが同じ結果のレポートを作成でき、データの一貫性や再利用性が向上します。
仮にセマンティックモデルが無かった場合、BIユーザーが分析のたびにデータセットを作成することとなり、肝心な分析ではなくデータセットの作成に多くの時間を費やしてしまいます。
また、それぞれのBIユーザーが各々で集約を行い、データセットを作成してしまうと、定義やロジックがそれぞれで異なってしまうことから、レポート結果にばらつきが生じる可能性が高くなります。
データの簡素化
セマンティックモデルを作成することで、データソースのままだと複雑で理解しにくいデータの理解が深まり、データを利用しやすくする役割もあります。
例えば、分析に際して必要となる指標やメジャーをセマンティックモデル作成時に定義することで、BIユーザーがクエリを作成する手間を削くことも可能です。
セマンティックモデルの主要構成要素
テーブル
データの基本的な構造単位で、行と列で構成されています。
列は特定のデータ型(数値、テキスト、日付など)を持ち、行はデータの個々のレコードを表します。テーブルは、データの整理と分析の基盤となり、他の構成要素と連係してデータモデルを形成します。
リレーションシップ
リレーションシップを作成することで、異なるテーブル間の関連性を視覚的に定義することが可能です。
リレーションシップにより、あるテーブルのフィルターが他のテーブルにも伝播することで、クエリに応答します。
リレーションシップは、1対1、1対多、多対多といった異なる関係があり、例えば1対多の場合、フィルターは「1」の側から「多」の側に伝播していきます。
メジャー
DAX(Data Analysis Expressions)という言語を使い、データの集計や計算を行うための数式です。
合計や平均、最大値、最小値などの計算を行い、レポートやダッシュボードで使用されます。
例えば、総売上高や売上総利益率など、BIユーザーの目的に合わせたメジャーを定義することが可能です。
また、メジャーはフィルターやスライサーの変更に応じてリアルタイムで計算結果を更新するため、ユーザーは異なる視点からデータを分析することができます。
行レベルセキュリティ(RLS:Row Label Security)
行レベルセキュリティを設定することで、データモデル内の各行に対してアクセス制御を行うことができます。
特定のユーザーやグループが特定のデータのみを閲覧させることができ、データのセキュリティやプライバシーを保護を高めることが可能です。
Microsoft Fabricのセマンティックモデル
2種類のセマンティックモデル
Microsoft Fabricのセマンティックモデルは下図のアイコンで使用されます。
Microsoft Fabricには次の2種類のセマンティックモデルがあります。
既定のセマンティックモデル(セマンティックモデル(デフォルト))
レイクハウスとウェアハウスが作成されると「既定のセマンティックモデル」が自動的に作成されます。これにより、レイクハウスあるいはウェアハウス内に格納されているデータの探索やレポート作成が可能となっています。
ただし、既定のセマンティックモデルはレイクハウスとウェアハウスそれぞれにつき1つのモデルとなります。
セマンティックモデル
既定のセマンティックモデルとは異なり、セマンティックモデルは単体のアイテムとして作成することができます。
セマンティックモデルの画面構成と各種要素
今回は、レイクハウスやウェアハウスに付随する既定のセマンティックモデルではなく、単体のアイテムとしてのセマンティックモデルに関する基本的な画面構成と要素について紹介します。
セマンティックモデルの作成
セマンティックモデルは、ウェアハウスまたはレイクハウスのSQL分析エンドポイントより作成することができます。
ウェアハウスまたはSQL分析エンドポイントの画面から、「報告」>「新しいセマンティックモデル」の順に押下し、セマンティックモデルの名前やデータソースを選択した上で「確認」を押下し、セマンティックモデルを作成します。
※ 下図のデータはウェアハウスのサンプルデータを用いています。
セマンティックモデルの基本画面
セマンティックモデルの基本画面は以下のようになります。セマンティックモデルに関連するアイテムやデータソースのテーブル名、カラム名を確認することができます。
レポート作成画面への遷移
レポートアイテムからセマンティックモデルを選択し、レポートを作成する方法のほかに、セマンティックモデルアイテムからもレポート作成画面へと遷移することができます。
「このデータを探索する」>「レポートの自動作成」あるいは「空のレポートを作成する」を押下することでレポート作成画面へ遷移します。
また、下図赤枠からもレポート作成画面へと遷移できます。
セマンティックモデルの共有
1つのセマンティックモデルからは、複数のレポート、ダッシュボードなどの可視化用成果物が作成可能であり、他のユーザーに共有することも可能です。
画面上部の「共有」あるいは「セマンティックモデルを共有する」を押下して共有を行います。また、共有するユーザーに対して必要な権限を選択することができます。
アクセス許可の管理・設定
セマンティックモデルに対するアクセス許可の管理や設定は、「ファイル」>「アクセス許可の管理」あるいは「設定」を押下します。
データモデル編集の画面構成と各種要素
リレーションシップやメジャーなど実際にデータモデルを編集しセマンティックモデルを作成するには、データモデルの編集画面に遷移する必要があります。
データモデルの編集画面への遷移
「データモデルを開く」を押下することで、データモデルの編集画面に遷移します。
閲覧と編集の切り替え
データモデルを開いた時は、画面右上は「表示中」となっており、セマンティックモデルに対して閲覧のみが可能な状態となっており、データモデルを編集することができません。
データモデルの編集を行う場合は、「表示中」を「編集」に切り替える必要があります。
テーブル位置の移動
テーブルの配置場所を変更することで、セマンティックモデル全体のデータモデルを見やすくすることができます。
下図の赤枠部分をドラッグすることで、テーブルの位置を変更することが可能です。
カラム名の変更と説明
特定のカラムを選択すると、カラムのプロパティが表示されます。プロパティでは、カラム名の変更やカラムに対する説明を加えることが可能です。
例えば、カラムに説明を加えることで、データの意味や使用方法についてBIユーザーとの理解が統一され、BIユーザーはデータの中身を理解したうえでデータの可視化を行うことができます。
データ型の変更
カラムのデータ型の変更も行うことができます。
メジャーの作成
DAXを用いて計算値を算出することでメジャーを作成できます。
特定のテーブルを選択した上で、新しいメジャーを作成することで、そのテーブルの配下にメジャーが配置されます。プロパティのホームテーブルからも、そのメジャーがどのテーブルに配置されているのかも確認できます。
また、メジャー自体にも説明を加えることができ、どのような計算を行っているかなどを記載することで、BIユーザーとの認識齟齬を無くすことができます。
リレーションシップの作成
リレーションシップを作成するには、あるテーブルの列を他のテーブルの列にドラッグします。
ドラッグ後にカーディナリティなどを定義し、「保存」を押下することでリレーションシップを作成できます。
作成後は下図のようになります。作成後にカーディナリティ等の変更も可能です。
リレーションシップの管理
「リレーションシップの管理」を押下すると、セマンティックモデル全体のリレーションシップを表示し、編集や削除等を行うことができます。
また、リレーションシップの新規作成も可能です。
テーブルの編集
「テーブルの編集」を押下することで、セマンティックモデルを構成するテーブルの追加あるいは削除を行うことができます。
まとめ
本記事では、セマンティックモデルの意味や役割に加え、Microsoft Fabricでのセマンティックモデルアイテムの基本的な操作方法を紹介しました。
「セマンティックモデルが分からない方」や「Microsoft Fabricでのセマンティックモデルアイテムの操作が分からない方」の参考になれば幸いです。