事例研究2 - Litware, Inc.
概要
Litware, Inc.は北米各地にオフィスを構える製造会社です。Litwareのアナリティクスチームは、データエンジニア、アナリティクスエンジニア、データアナリスト、データサイエンティストで構成されています。
既存の環境
ファブリック環境
Litwareは3年間Microsoft Power BIテナントを使用しています。LitwareはFabricの機能や機能を一切有効化していません。
利用可能なデータ
Litwareには、以下の表に示すように分析する必要のあるデータが含まれています。

製品データには、単一のテーブルと以下の列が含まれています。

顧客満足度データには、以下の表が含まれています。
- 調査
- 質問
- 応答
提出されたアンケートごとに、以下のことが起こります。
- Surveyテーブルに1行が追加されます。
アンケートの各質問ごとに、回答テーブルに1行が追加されます。
質問表には、各アンケートの質問文が記載されています。各アンケート回答の3番目の質問は、総合的な満足度スコアです。お客様は購入後、毎回アンケートに回答できます。
ユーザーの問題
分析チームは大量のデータを保有しており、その中には半構造化データも含まれている。チームはFabricを使用して新しいデータストアを構築したいと考えている。
商品データは、多くの場合、高価格、中価格、低価格の3つの価格帯に分類されます。このロジックは複数のデータベースやセマンティックモデルで実装されていますが、実装間で必ずしも一致するとは限りません。
要件
計画されている変更
Litwareは、既存のテナントでFabric機能を有効にする予定です。分析チームは、概念実証(PoC)として新しいデータストアを作成します。残りのLiwareユーザーは、PoCが完了した後にのみFabric機能にアクセスできるようになります。PoCはFabricトライアル容量を使用して完了します。次の3つのワークスペースが作成されます。
- AnalyticsPOC: データストア、セマンティックモデル、レポートパイプライン、データフロー、およびデータストアへのデータ投入に使用されるノートブックが含まれます。
- DataEngPOC: OneLakeにデータを投入するために使用されるすべてのパイプライン、データフロー、ノートブックが含まれます。
- DataSciPOC: データサイエンティストが作成したすべてのノートブックとレポートが含まれます。AnalyticsPOCワークスペースには以下が作成されます。
- データストア(種類は未定)
- カスタムセマンティックモデル
- デフォルトの意味モデル
インタラクティブレポート
データエンジニアは、データソースに応じて、1時間ごとまたは1日ごとにOneLakeにデータをロードするためのデータパイプラインを作成します。アナリティクスエンジニアは、AnalyticsPOCワークスペース内のデータストアにデータを取り込み、変換し、ロードするプロセスを毎日作成します。データエンジニアは、可能な限りローコードツールを使用してデータを取り込みます。使用するデータクレンジングおよび変換ツールの選択は、データエンジニアの裁量に委ねられます。
Analytics POCワークスペース内のすべてのセマンティックモデルとレポートは、データストアを唯一のデータソースとして使用します。
技術要件
データストアは以下の機能をサポートする必要があります。
- T-SQLまたはPythonを使用して読み取りアクセスを行う
半構造化データおよび非構造化データ
- T-SQLクエリを実行するユーザーに対する行レベルセキュリティ(RLS)
データエンジニアがOneLakeにロードするファイルはParquet形式で保存され、Delta Lakeの仕様に準拠します。
データは、AnalyticsPOC データ ストアの 1 つの領域に変換されずにロードされます。その後、データはクレンジング、マージされ、ディメンション モデルに変換されます。データ ロード プロセスでは、ディメンション モデルにデータを格納する前に、生データとクレンジング済みデータが完全に更新されていることを確認する必要があります。ディメンション モデルには日付ディメンションが含まれている必要があります。日付ディメンションの既存のデータ ソースはありません。Litware の会計年度は暦年と一致します。日付ディメンションには、常に 2010 年から現在の年末までの日付が含まれている必要があります。
製品価格グループのロジックは、分析エンジニアが単一の場所で管理する必要があります。価格グループのデータは、T-SOLクエリ用のデータストアとデフォルトのセマンティックモデルで利用可能にする必要があります。以下のロジックを使用する必要があります。
- 定価が50以下の商品は低価格帯に分類されます。
定価が50より大きく1,000以下の商品は、中価格帯に分類されます。
定価が1,000を超えるものは、高価格帯に分類されます。
セキュリティ要件
PoCの一環として作成されたFabricアイテムは、Fabric管理者と分析チームのみが閲覧できるようにする必要があります。
Litwareは、AnalyticsPOCワークスペース内のFabricアイテムに対して、以下のセキュリティ要件を定めています。
- Fabric管理者はワークスペース管理者になります。
データエンジニアは、データストアへの読み書きができる必要があります。データセットやレポートへのアクセス権は一切付与してはなりません。
分析エンジニアは、データストアへのデータの読み取り、書き込み、およびスキーマの作成ができる必要があります。また、データアナリストとセマンティックモデルを作成して共有したり、ワークスペース内のすべてのレポートを表示および変更したりできる必要もあります。
データサイエンティストはデータストアからデータを読み取ることはできるが、書き込むことはできない。彼らはSparkノートブックを使用してデータにアクセスする。
データアナリストは、データストア内のディメンションモデルオブジェクトへの読み取りアクセス権のみを持つ必要があります。また、分析エンジニアが作成したセマンティックモデルを使用してPower BIレポートを作成するためのアクセス権も必要です。
- 日付ディメンションは、データストアのすべてのユーザーが利用できる必要があります。
最小権限の原則に従わなければならない。
デフォルトおよびカスタムのセマンティックモデルには、データストア内のディメンションモデルのテーブルまたはビューのみを含める必要があります。Litwareには既に以下のMicrosoft Entraセキュリティグループが設定されています。
FabricAdmins: Fabric管理者
- アナリティクスチーム:アナリティクスチームの全メンバー
- データアナリスト:分析チームのデータアナリスト
- データサイエンティスト:分析チームのデータサイエンティスト
- データエンジニア:分析チームのデータエンジニア
- アナリティクスエンジニア:アナリティクスチームのアナリティクスエンジニア
レポート要件
データアナリストは、以下の要件を満たす顧客満足度レポートを作成する必要があります。
- ユーザーが製品を選択することで、顧客アンケートの回答をその製品を購入したユーザーのみに絞り込むことができるようになります。
- 選択した日付までの過去12か月間に提出されたすべてのアンケートの平均総合満足度スコアを表示します。
- データストア内のデータが更新されるとすぐにデータを表示します。
レポートとセマンティックモデルには、当年度と前年度のデータのみが含まれるようにします。
- レポートが、ソースデータストアで指定されたテーブルレベルのセキュリティを確実に遵守するようにします。
レポートクエリの実行時間を最小限に抑えます。
データストアに日付ディメンションを実装する必要があります。ソリューションは技術要件を満たさなければなりません。
目標を達成するための2つの方法は何ですか?それぞれの正解は完全な解決策を示しています。
注:正解ごとに1ポイントが加算されます。