今回は、Power BIのセマンティックモデルについて、その名称の意味や概念と、実態の要素がなにで構成されているか整理しました。
実際、Power BIでモデル開発はしているけど、質問で「セマンティックモデルってどういう意味?」と聞かれると、上手く説明する自信がない。そんな方に向けて、理解の足がかりとなれれば嬉しいです。
目次
- 前置き
- セマンティックモデルの意味を探る
- Power BI におけるセマンティックモデルの実態
- まとめ
前置き
最初に前置きを2つ説明します。
- セマンティックモデルとは結論どういうものか
- 理解を進める上でもっておいた方が良い視点
これらをあらかじめ頭に置いておくことで、セマンティックモデルの理解がよりスムーズになると思います。
セマンティックモデルとは
データに「意味づけ」や「構造」を与え、誰もが理解して活用できる状態にするためのデータモデルです。意味づけデータモデルと言い換えるとイメージがしやすいかも知れません。
データモデルなので、これは単なるデータ(テーブル)だけの集まりではありません。テーブル・概念・リレーションシップ・ルール・計算定義などを含む、モデルの構造全体のことを指しています。
モデル開発の先には必ず利用する人
Power BI で可視化をおこなうプロセスを想像してください。
セマンティックモデルを開発し、それを基にレポートを作成して共有をおこなう。あるいは、汎用的なモデルを再利用し、複数のユーザーがそれぞれのレポートを作る、というのが一般的によくあるプロセスです。
ここで伝えたいのは、モデル開発には共通して、共有や再利用が発生すること。開発の先には、必ず利用する人が存在します。
この「モデル開発の先にいるユーザーの存在」を意識することは、セマンティックモデルの概念を理解するうえでも、最適なセマンティックモデルを目指すうえでも、重要な視点となります。ぜひ、頭の片隅に留めておいてもらえればと思います。
セマンティックモデルの意味を探る
前置きが長くなりましたが、ここからが本題です。
まずは、セマンティックモデルの意味や概念の理解を深めるため、いくつかの観点から解説していきます。
セマンティック(semantic)の意味
一般的に「意味」に関することを表す言葉です。データの分野では、形式や構造に意味づけをする、といった形で扱われることが多いです。
意味づけとは、意味や解釈を付与することです。
たとえば、DWHでは効率的にデータを処理するために、文字列の値をコードや数値で格納することがあります。genderに「1、2」の数値が入っていても、開発をしていない多くの人達にとっては、この数値が何を意味するかは不明です。
これを「男性、女性」と変換することで、「1、2」という解釈ができなかった値は、誰が見ても意味を理解できるようになりました。
非常に広義な意味で扱われる言葉ですが、このように、何らかの意味合いを与えるといったことをイメージすると理解しやすいかと思います。
セマンティックレイヤー
セマンティックモデルを理解するために知っておきたい概念としてセマンティックレイヤーというものがあります。
セマンティックレイヤーとは、複雑なデータやシステムと、それを活用したいビジネスユーザーの間をつなぐ中間層のことです。ユーザーが直接扱うには難しい生のデータやシステムに対し、わかりやすい意味づけをし、やり取りをシンプルにするために設計されています。
たとえば、DBやDWHにある複雑なデータを、ビジネスで使える用語に変換したり、指標を定義して、解釈可能(=活用できる)な状態を整える役割を担います。
Power BI もセマンティックレイヤーを備えている
実はほとんどのBIツールには、このセマンティックレイヤーの役割を果たす仕組みが組み込まれています。それは、最終的な利用者としてビジネスユーザーを想定している以上、複雑なデータ構造をそのまま渡すわけにはいかないからです。
Power BI もその例にも漏れず、セマンティックレイヤーを備えています。
具体的には、セマンティックモデルこそがPower BI におけるセマンティックレイヤーの中核です。このモデルの中で、データの意味づけがおこなわれ、最終的には、ユーザーが迷わず操作・判断できるようレポートとして可視化されます。
つまり、セマンティックレイヤーとは、複雑なデータに意味づけを施し、誰もが理解・活用できる形に整えるレイヤーで、DWHのような生データで分かりにくい情報を、「意味ある名前」や「解釈可能な指標」に変換し、ビジネスユーザーが迷わず操作・判断できる状態にする役割を担います。
そしてPower BI では、この「意味づけをするレイヤー」こそがセマンティックモデルであり、まさにユーザーにとっての使いやすさや解釈のしやすさを支える中核的な存在と言えます。
Power BIにおけるセマンティックモデルの実態
次は、Power BI におけるセマンティックモデルの実態である構成要素について紹介します。
実際に開発業務を行っている方にとっては、日々触れている「テーブルの設計」「メジャーの作成」「リレーションの設定」などの作業こそが、セマンティックモデルを構築している行為そのものです。
ここでは、それらの構成要素を知り、「自分が今まさにセマンティックモデルを開発している」という認識を得ることを目的に記載します。
※それぞれの内容を深掘りする意図ではないため、各要素の説明は簡潔に記載しています。
Power BI Desktop モデルビューの7分類
Power BI Desktop のモデルビューでは、セマンティックモデルの主な構成要素が次の7カテゴリに分類されています。
- テーブル:モデル内のデータを構成するテーブル
- リレーションシップ:複数のテーブル間の関係を設定
- メジャー:モデル内のデータを利用した計算
- 計算グループ:共通のDAX計算を定義し、冗長なメジャーを減らすことが可能な機能
- ロール:セキュリティロールの作成および編集が可能な機能
- カルチャ:データモデルを翻訳し、表示言語を変更できる仕組み
- パースペクティブ:特定のユーザーや用途に応じて、テーブル・列・メジャーの表示範囲を制限する機能
テーブルやリレーションシップ、メジャーなど多くの開発者にとって身近なものがセマンティックモデルの要素であることがわかります。
ここで、主要な構成の要素を確認するだけでも、Power BI セマンティックモデルの実態が、ある程度掴めてくるのではないでしょうか。
具体的な構成の要素
さらにイメージを鮮明にするため、もう1段具体的に見ていきます。先ほどの分類にあわせて、私がぱっとおもいつくものを紹介します。網羅的ではないですが、構成要素を知る足がかりになればと思います。
- テーブル
- テーブル、列の加工・作成
- データ型(整数、少数、文字列、日付など)
- 書式(%、桁数、通貨など)
- ソート列の指定
- 非表示(列・テーブル単位)
- 説明の表示(Description)
- ストレージモード(import、DirectQuery、Dual)
- リレーションシップ
- 関連付けするキーの組み合わせ(From・To)
- リレーションタイプ(1対多、多対多)
- クロスフィルター方向(単方向・双方向)
- 自動検出のオン・オフ
- メジャー
- メジャー名
- DAXによる計算式
- コードコメント
- メジャー間の参照
- 書式(%、桁数、通貨など)
- 表示フォルダの階層設定
- 計算グループ
- 計算グループ名
- 計算項目名(例:前年、前月、YTDなど)
- 計算項目ごとのDAX式
- 優先順位の設定
- ロール
- RLS設定(行レベルセキュリティ)
- ロール名
- ルールの定義
- カルチャ
- モデル全体の既定カルチャの設定
- 翻訳言語の追加
- パースペクティブ
- パースペクティブの作成
- 表示可能なテーブル、列、メジャーの選択
いかがでしょうか。Power BI Desktop で日頃から開発をしている方にとっては、普段開発でおこなう作成や設定ばかりだと思います。
こうしてみると、セマンティックモデルの実態とは、テーブルやメジャー、リレーション、ロール設定、パースペクティブといった様々な要素を含んだ構造そのものであることがわかります。さらに、それぞれ1つ1つの要素が意味づけの役割を担っていると捉えることで、セマンティックモデルの実態と概念の関係性が見えてくるのではないでしょうか。
まとめ
本記事では以下3つのポイントを説明しました。
- Power BI のセマンティックモデル開発には共有や再利用が前提にあり、常に利用するユーザーの存在を意識することが重要
- セマンティックモデルの意味を理解するため、セマンティック(意味づけ) という言葉の意味や、セマンティックレイヤーという中間層の概念を通じて、セマンティックモデルとはデータに意味を与え、誰もが理解・活用できる形に整える仕組みであることを確認
- 実態を理解するため、Power BI モデルビューの構成要素をもとに、テーブル、リレーション、メジャー、ロール、パースペクティブなどの具体的な要素を整理し、これら全体が意味づけされた構造(=セマンティックモデル) であることを紹介
セマンティックモデルの意味や実態を理解することで、「利用者にとってより良い意味づけとは?」という問いが生まれます。その問いは、次のような改善の土台となります。
- 表示速度を今より速くするにはどうすればいいか
- 誰が見ても理解できる名前をつけよう
- すぐに目当てのメジャーが探せるような命名規則を考えよう
- 不要なテーブルや列は非表示にして、確認の手間を省こう
こうした工夫の積み重ねが、利用者にとって意味のあるモデルにつながり、そしてそれは、組織や目的に応じた最適なセマンティックモデルを追求に繋がっていくと思います。
以上、セマンティックモデルの意味と実態について説明しました。本記事が少しでもどなたかのお役に立てば幸いです。