データ マートの作成と管理
データをオンボーディングしたら、ストレージまたはタスクの変換からのデータを使用してデータ マートを作成できます。ビジネス ニーズに応じて、任意の数のデータ マートを作成できます。理想的には、データ マートには、組織内の特定のセクションまたはユニット (営業部門など) で分析するために収集された要約データのリポジトリが含まれている必要があります。
データ マートの作成手順は、データ マートがストレージ タスクに基づいているか、変換タスクに基づいているかに関係なく同じです。このセクションの手順では、データ マートがストレージ タスクに基づいていることを前提としています。
前提条件
データ マートを作成する前に、以下を実施する必要があります。
- データ マートで使用する (ランディングからの) データをストレージに入力します。詳細については、「データのオンボーディング」を参照してください。
-
データセット リレーショナル モデルを作成して、ソース データセット間の関係を定義します。詳細については、「 データ モデルの作成」を参照してください。
警告メモすべてのデータセットにはキーが必要です。
データ マートの作成
データ マートを作成するには:
-
プロジェクトを開きます。
-
以下のいずれかを実行します。
- 右上の [作成] をクリックし、 [データ マートの作成] を選択します。
-
ストレージ データ タスクで、右下隅の をクリックし、 [データ マートの作成] を選択します。
[データ マートの作成] ダイアログが開きます。
-
データ マートの名前を指定し、オプションで説明も指定します。
-
後でデータ マートを構成する場合は、[開く] チェック ボックスをオフにして、[作成] をクリックします。それ以外の場合は、[作成] のみをクリックします。
[データ マート] タブにデータ マートが開きます。
- ソース データの選択 の説明に従って、ソース データを選択します
- データ マートに軸を含める場合は、データ マートへの軸とファクトの追加 の説明に従って軸を追加します
- データ マートにファクトを含める場合は、ファクトの追加 の説明に従ってファクトを追加します
- データ マートに軸とファクトの両方が含まれている場合は、スター スキーマの構築 の説明に従ってスター スキーマに軸を追加します
- データ マートへの入力 の説明に従って、データ マートにデータセットを作成し、それらにデータを入力します
ソース データの選択
ストレージ データ タスク内のデータセットからソース データを選択します。
これを行うには、次の手順に従います。
-
タブの中央にある [ソース データを選択] ボタンをクリックするか、[ソース データの選択] ツールバー ボタンをクリックします。
[ソース データの選択] ダイアログが開きます。
-
変換を作成した場合は、[データ アセット] ドロップダウン リストから、ストレージ タスクまたは変換タスクを選択します。
-
規定の % のままにしてすべてのデータセットを検索するか、特定のデータセットの名前を入力して検索します。次に [検索] をクリックします。
-
目的のデータセットを選択し、[選択したテーブルの追加] をクリックします。
-
[OK] をクリックしてダイアログを閉じ、[ファクトを追加] および/または [軸を追加] に進みます。
データ マートへの軸とファクトの追加
ソース データを選択したら、データ マートの構築に進むことができます。データ マートには、ファクト データセット、軸データセット、または両方の組み合わせ (軸データセットがファクト データセットに論理的に関連付けられている場合) を含めることができます。
軸の追加
軸を追加するには。
-
[軸を追加] ボタンをクリックします。
[軸を追加] ダイアログが開きます。
-
次の設定を利用できます。
- 最も粒度の細かいデータセット: データセットを選択します。
- 名前: 軸の表示名を指定します。デフォルトは、最も粒度の細かいデータセット名です。
- 説明: オプションで、説明を入力します。
- 履歴タイプ: 次のうち 1 つを選択します:
- タイプ 1: ストレージ内の対応するレコードが更新されるたびに、軸内の既存のレコードが更新されます。
- タイプ 2: ストレージ内の対応するレコードが更新されるたびに、軸に新規レコードが追加されます。
-
非正規化するリレーションされたデータセット: 軸データセットで (ソース データ アセットモデルの関係に従って) 非正規化できるデータセットは、ここで選択できます。
-
[OK] をクリックして設定を保存します。
左側の [軸] リストに軸が追加されます。
関連項目: 多様軸。
軸に関する情報の閲覧
軸を選択すると、中央のペインに [ソース リレーショナル モデル] タブが表示されます。このタブには、軸に統合されたソース データセットが表示されます。軸を追加したときに非正規化することを選択したデータセットは、選択されて表示されます (グレー表示されます)。
ファクトの追加
ファクトを追加するには:
-
[ファクトを追加] ボタンをクリックします。
[ファクトを追加] ダイアログが開きます。
-
次の設定を利用できます。
- ファクト: ファクトとなるデータセットを選択します。データセットは、作成するファクトの粒度を定義する必要があります。
- 名前: ファクトの表示名を指定します。デフォルトはファクト名です。
- 説明: オプションで、説明を入力します。
- 非正規化するリレーションされたデータセット: ファクト データセットで非正規化できるデータセットはすべて、ここで選択できます。
- 詳細設定
- 現在のデータを使用: 選択すると (既定)、ファクトにはトランザクションの日付列が含まれません。
-
トランザクションの日付を選択: 特定のトランザクション日付に従ってデータを検索するには、このオプションを選択してから、日付列を選択します。これは、スター スキーマにタイプ 2 の軸が含まれ、特定のトランザクションに対して正しいデータを見つける必要がある場合に便利です。例えば、顧客に複数の住所がある場合、注文日付に従って正しい住所を見つけることが可能かもしれません。
ユースケースの例:
ある小売業者は、注文と顧客の関係を分析するためのデータ マートを作成する必要があります。データ マートは、「2022 年第 4 四半期に注文総額が最も多かった米国の州はどこですか?」のようなクエリに答えられる必要があります。
小売業者が [現在のデータを使用] オプションを選択した場合、[顧客] テーブルの最新のレコード バージョンのみが計算に含まれます。
トランザクションの日付を無視すると、下図に示すようにデータが不正確になります。
ただし、小売業者が [トランザクションの日付を選択] オプションを選択した場合、顧客の注文は [顧客] テーブルの正しいレコード バージョンに関連付けられます。
これにより、小売業者は 2022 年第 4 四半期の州ごとの注文合計額を正確に計算できるようになります。
ヒント メモビジネス ニーズに応じて、各データ マートでトランザクションの日付を異なる方法で利用できることに注意してください。例えば、あるデータ マートでは注文日の分析に使用でき、別のデータ マートでは出荷日の分析に使用できます。
-
[OK] をクリックして設定を保存します。
ファクトは、左側の [ファクト ] リストに追加されます。
ファクトに関する情報の閲覧
ファクトを選択すると、次のタブが中央のペインに表示されます。
- スター スキーマ モデル (デフォルト): データ マート内のデータセットの関係をグラフィカルに表示します。
-
ファクト モデル: ファクト データセットに関連するデータセットを表示します。ファクトを追加したときに非正規化することを選択したデータセットは、選択されて表示されます (グレー表示されます)。
- トランザクションの日付: ファクトを追加する際に、[トランザクションの日付を選択] オプションを選択した場合、トランザクション列の名前。
不明および遅れて到着するの軸の取り扱い
すべての軸には軸のビジネス キー (オブジェクト ID) である -1 行と 0 行が含まれます。行 -1 は遅れて到着する軸に予約され、0 は不明の軸に予約されます。
不明の軸
「不明」とは、軸が最初に作成されたときに利用できなかったデータのことです。たとえば、SHIPPER 軸のビジネス キーである SHIPPER 列を持つ ORDER ファクトがあるとします。ORDER ファクト行がまだ発送されていない場合 (つまり、SHIPPER 列が NULL の場合)、その行は 0 レコード (軸が不明であることを示す) に関連付けられます。後に ORDER ファクトが SHIPPER 値 (例: USPS) で更新されると、関連する軸 ID(0) が順番に更新されます。
遅れて到着する軸
遅れて到着する軸には、新しいファクト データには存在するが、軸にはまだ存在しないキーがあります。たとえば、ORDER ファクトの SHIPPER に新しい配送業者を表す「NEWSHIP」という値があり、そのビジネス キーが DIM_SHIPPER 軸にまだ存在しない場合、データ マートの処理ではそのファクトを -1 行に関連付けます。これは、軸テーブルに軸メンバーが欠落していることを示します。DIM_SHIPPER 軸の「NEWSHIP」ビジネス キーが到着すると、その軸行が作成され、ファクト レコードは以前に欠落していた軸に合わせて更新されます。
スター スキーマの構築
軸をデータ マートに追加したら、それらをファクト データセットに接続して、スター スキーマを作成できます。
これを行うには、次の手順に従います。
- 左側の [ファクト] リストでファクトを選択します。
-
右側の推奨される軸リストから、追加する軸を選択します。
推奨される軸は、ファクト データセットに点線で接続されて表示されます。
以下の画像では、一部の軸が事前に追加されていたため、灰色の実線で接続されています。
-
[適用] をクリックして軸を追加します。
軸は、ファクト データセットに灰色の実線で接続されて表示されます。
-
[推奨される軸] パネルを閉じるには、 をクリックします。
データ マートへの入力
データ マートの設計が完了したら、データ マートの作成に進むことができます。
これを行うには、次の手順に従います。
-
右上の [準備] ツールバー ボタンをクリックします。
準備プロセスには、データ マートでのデータセットとビューの作成、およびカタログの更新が含まれます。
画面下部の [準備の進捗状況] で進捗状況を確認できます。
準備が完了すると、[準備] ボタンが [実行] に変わります。
-
必要に応じて、以下の データ マートの検証と同期 で説明されているように、データ マートを検証します。
-
[実行] ボタンをクリックします。
ウィンドウがモニター ビューに切り替わり、データ マート内のデータセットの読み込みの進行状況とステータスが表示されます。
すべてのソース レコードは、削除されたレコードも含め、データ マートによって処理されます。これは、履歴情報が確実に保持されるようにするために行われます。
データ マートの検証と同期
データ マートの検証により、データ マートのメタデータが、ストレージ (または定義されている場合は変換) の対応するメタデータと合致することを確認します。データ マートの検証は、作成されたメタデータを現在のスター スキーマのデザインとも比較します。例えば、作成済みのデータ マートに軸を追加した後で検証を実行すると、検証に失敗します。
データ マートを検証するには:
-
[実行] ボタンの右側にある メニューから [データセットを検証] を選択するか、ウィンドウの右下にある [データセットを検証] ボタンをクリックします。
[検証が完了しました] のメッセージが表示されます。
-
メタデータが同期されていない場合や、スター スキーマのデザインが一致しない場合は、ウィンドウの下部にある [検証と調整] ペインが検証レポートと合わせて自動的に開きます。
データ マートとスター スキーマのデザインが一致しない例: 検証エラーがあるデータ マートの例:
-
[ペンディングの設計変更] の問題を解決するには、右上にある ボタンをクリックし、[準備] を選択します。[データ損失を伴わない変更が可能] 列の値が [はい] の場合は、ALTER 演算が実行されます。それ以外の場合は、データ マートのテーブルが再作成されます。
すべての [検証エラー] は手動で解決する必要があることに注意してください。
データ マートの管理
このセクションでは、データセットとデータ マートを管理するために使用できるさまざまなオプションについて説明します。
ファクトまたは軸の改良
[データセット] タブでは、さまざまな操作を実行して、変換ルールの作成 (列の値の置換など) や列レベルの式の追加など、ファクトと軸を調整できます。[データセット] タブは、[データ マート] タブの右側にあります。
ルールの追加
グローバル ルールを追加する方法の説明については、データセットを変換するルールの作成 を参照してください
新しい列の追加
ターゲット データセットに新しい列を追加できます。
-
新しい列をゼロから追加する
[+ 追加] をクリックします。
列の名前を指定し、列データを定義する数式を設定します。
詳細については、「データセットへの列の追加」を参照してください。
-
ソースから列を追加する
[追加] の横にある をクリックし、 [ソースから列を追加] を選択します。
ソース データセットから列を選択します。
列の並び替え
列の順序を変更できます。
-
列を選択します。
-
、 [順序変更] の順でクリックします。
-
矢印を使用して列を上または下に移動します。
-
準備ができたら [序列を変更] を閉じます。
多様軸
多様軸とは、同じスター スキーマ内で複数回使用する同じ軸のことですが、軸の意味は異なります。典型的な例は日付軸と顧客軸です。例えば、スター スキーマには日付のエンティティが 2 つあり、1 つは発注日を表し、もう 1 つは受取日を表す場合があります。
軸の役割名を追加または変更するには:
- 軸ノードにある アイコンをクリックし、[役割を編集] を選択します。
[役割を編集] ダイアログで、[スター スキーマ内の役割名] 項目に名前を入力 (または既存名を編集) し、[OK] クリックします。
役割名が軸名の下に表示されます。
その他の管理オプション
次の表に、その他の管理オプションを示します。
範囲 (To) | 対処方法 |
---|---|
その他のソース データセットを追加 | 「ソース データの選択」を参照してください。 |
その他のファクトを追加 | 「ファクトの追加」を参照してください。 |
その他の軸を追加 | 「データ マートへの軸とファクトの追加」を参照してください。 |
軸を削除 | [軸] ペインで軸を選択し、メニューから [削除] を選択します。 |
ファクトを削除 | [ファクト] ペインでファクトを選択し、 メニューから [削除] を選択します。 |
データ マートを再作成 | 右上の ボタンをクリックし、[テーブルを再作成] を選択します。たとえば、データ マートに自動的に同期できない変更がストレージにある場合、データ マートの再作成が必要になることがあります。 |
実行中のデータ マート タスクを停止 | 右上の [停止] ボタンをクリックします。 |
データ マート タスクを準備する | 右上にある ボタンをクリックし、 [準備] を選択して、転換またはストレージ アセットを使用したデータセットを同期し、設計の不一致を解決します。これにより、タスクの実行準備が整います。準備には次が含まれます。
画面下部の [準備の進捗状況] で進捗状況を確認できます。 |
データ マート タスクのスケジュール
データ マート タスクを定期的に更新するようにスケジュールできます。時間ベースのスケジュールを設定することや、入力データ タスクの実行が完了したときにタスクを実行するように設定できます。
データ タスクの [...] をクリックし、[スケジュール] を選択してスケジュールを作成します。デフォルトのスケジュール設定は、プロジェクトの設定から継承されます。設定の詳細については、「データ マートの既定値」を参照してください。
スケジュールを有効にするには、[スケジュール] を [オン] に設定する必要があります。
時間ベースのスケジュール
異なる入力ソースが更新されるタイミングに関係なく、時間ベースのスケジュールを使用してタスクを実行できます。
[データ タスクを実行] で、[特定の時刻] を選択します。
時間、日、週、または月単位でスケジュールを作成できます。
イベント ベースのスケジュール
イベント ベースのスケジュールを使用して、入力データ タスクの実行が完了したときにタスクを実行できます。
[データ タスクを実行] で、[特定のイベント発生時] を選択します。
いずれかの入力タスクが正常に完了したときにタスクを実行するか、選択した入力タスクのいずれかが正常に完了したときにタスクを実行するかを選択できます。
データのリロード
データの手動リロードを実行できます。これは、1 つ以上のテーブルに問題がある場合に便利です。
データ タスクを開き、 [監視] タブを選択します。
リロードするテーブルを選択します。
リロードする軸が選択されると、整合性を維持するために、その軸を使用するすべてのファクトもリロードされます。
[テーブルのリロード] をクリックします。
[リロードをキャンセル] をクリックすると、リロードがペンディングされているテーブルのリロードをキャンセルできます。すでにリロードされているテーブルに影響することはなく、現在実行中のリロードは完了します。
リロードは次のように実行されます。
選択した軸とファクトを切り捨てます。
選択した軸テーブルをアップストリーム データ タスクからロードします。
ファクト テーブルをアップストリーム データ タスクからロードします。これには次が含まれます。
明示的に選択されたファクト テーブル。
リロードされる軸に関連するファクト テーブル。
データ マート設定
[設定] ツールバー ボタンをクリックして、[設定: <データマート名>] ダイアログを開きます。
一般設定
[一般] タブでは、次の設定を使用できます。
- データベース: データ マートが作成されるデータベース
- データ タスクのスキーマ: データセットが作成されるスキーマ
- 内部スキーマ: 内部データセットが作成されるスキーマ
- すべてのテーブルとビューのプレフィックス
このタスクで作成したすべてのテーブルとビューにプレフィックスを設定できます。
情報メモ複数のデータ タスクでデータベース スキーマを使用する場合は、一意のプレフィックスを使用する必要があります。
実行時間の設定
[ランタイム] タブでは、次の設定を使用できます。
- 並列実行:Qlik Cloud がタスクのために開くことができるデータベース接続の最大数を入力します。既定値は 10 です。
- ウェアハウス: Snowflake にのみ関連します。Snowflake データ ウェアハウスの名前です。
カタログ設定
カタログに公開する
このオプションを選択して、データのこのバージョンをデータセットとしてカタログに公開します。カタログのコンテンツは、このタスクを次回準備する際に更新されます。
カタログの詳細については、カタログツールの使用によるデータの理解 を参照してください。