データ モデリングの主要概念について説明する
ヒント
詳細については、「 テキストと画像 」タブを参照してください。
分析モデルは、Microsoft Fabric と Power BI では セマンティック モデル とも呼ばれ、分析を支援するためにデータを構造化したものです。 モデルは、関連するデータ テーブルから構築されます。 分析またはレポート対象とする数値(メジャー と呼ばれます)と、それらを集計する際に使用するエンティティ(ディメンション と呼ばれます)を定義します。
たとえば、モデルには、売上の数値メジャー (収益や数量など) や製品、顧客、時間のディメンションが含まれる場合があります。 これにより、1 つ以上のディメンションにわたってメジャーを集計できます。たとえば、顧客別の合計収益や、1 か月あたりの製品別の売上合計アイテムを特定できます。
テーブルとスキーマ
ディメンション テーブルは、製品や顧客など、グループ化またはフィルター処理するエンティティを表します。 各行には一意のキー値があり、残りの列には製品名、カテゴリ、顧客の都市などの属性が格納されます。 ほとんどの分析モデルには時間の分析コードが含まれており、期間をまたいで指標を集計することができます。
ファクトテーブルには、分析対象の数値指標が格納されます。 各行は、記録されたイベント (たとえば、販売数量と収益の値を含む販売トランザクション) を表します。
ファクト テーブルが 1 つ以上のディメンション テーブルに関連する場合、デザインは スター スキーマと呼ばれます。 ディメンション テーブルが追加の詳細テーブル (Product テーブルにリンクされているカテゴリ テーブルなど) に関連する場合、デザインはスノーフレーク スキーマと呼ばれます。
セマンティック モデル (インポート モード) にデータをインポートする場合、Power BI は VertiPaq エンジンを使用して、データを効率的なインメモリの列指向ストアに格納します。 集計はクエリ時に計算され、高速な分析とレポートが提供されます。
属性階層
階層を 使用すると、ディメンションのさまざまなレベルで集計値をドリルアップまたはドリルダウンできます。 例えば次が挙げられます。
- Product テーブルでは、階層によって製品がカテゴリにグループ化される場合があります。
- Customer テーブルでは、階層によって市区町村別に顧客がグループ化される場合があります。
- 時間テーブルでは、階層によって日が月に、月が年にグループ化される場合があります。
年別の合計売上を表示し、ドリルダウンして毎月の内訳を表示すると、モデルはクエリ時に各レベルで集計値を計算します。
Microsoft Power BI での分析モデリング
Power BIでは、1 つ以上のデータ ソースからインポートされたテーブルからセマンティック モデルを定義します。 Power BI Desktop の Model ビューを使用して、ファクト テーブルとディメンション テーブル間のリレーションシップを作成し、階層を定義し、データ型と表示形式を設定し、分析のためにモデルを形成するその他のプロパティを構成します。
データが OneLake (Microsoft Fabricの共有データ レイク) に格納されている場合は、Direct Lake ストレージ モードを使用して、Delta テーブルをレイクからセマンティック モデルのメモリに直接読み込みます。 これにより、モデルにデータをコピーすることなく、メモリ内クエリのパフォーマンスが得られます。