次の方法で共有


.create-or-alter materialized-view

適用対象: ✅Microsoft FabricAzure データ エクスプローラー

具体化されたビューを作成するか、既存の具体化されたビューを変更します。

アクセス許可

このコマンドを実行するには、少なくとも Materialized View Admin アクセス許可が必要です。

構文

.create-or-alter materialized-view [ with(PropertyName=PropertyValue,...)] MaterializedViewNameon tableSourceTableName{Query}

構文規則について詳しく知る。

パラメーター

件名 タイプ Required 説明
PropertyNamePropertyValue string サポートされるプロパティの一覧から、名前と値のペアの形式のプロパティの一覧
MaterializedViewName string ✔️ マテリアライズドビューの名。 ビュー名は、同じデータベース内のテーブル名または関数名と競合することはできないため、 identifier の名前付け規則に従う必要があります
SourceTableName string ✔️ ビューが定義されているソース テーブルの名前。
クエリ string ✔️ 具体化されたビューのクエリ定義。

サポートされるプロパティ

新しいテーブル

テーブルが新しい場合、 with(PropertyName=PropertyValue) で次のプロパティがサポートされます。 すべてのプロパティは省略可能です。

件名 タイプ 説明
backfill bool 現在 SourceTable (true) にあるすべてのレコードに基づいてビューを作成するか、これから作成するか (false)。 既定値は false です。 詳細については、「 マテリアライズド ビューのバックフィルを参照してください。
effectiveDateTime datetime backfillを使用している場合にのみ関連します。 設定した場合、作成は datetime より後に取り込まれたレコードのみをバックフィルします。 backfilltrueに設定する必要があります。 このプロパティには datetime リテラルが必要です。たとえば、 effectiveDateTime=datetime(2019-05-01)
updateExtentsCreationTime bool backfillを使用している場合にのみ関連します。 trueに設定すると、エクステント作成時間 は、バックフィル プロセス中の datetime グループ化キーに基づいて割り当てられます。 詳細については、「 マテリアライズド ビューのバックフィルを参照してください。
lookback timespan 重複または更新が予想される期間を制限する期間。 詳細については、「ルックバック期間 」を参照してください。
lookback_column string ルックバック期間の参照として機能するビュー内の string 列。 この列が空で、lookback に値がある場合、具体化されたビューでは既定のルックバックが使用されます。 詳細については、「ルックバック期間 」を参照してください。
autoUpdateSchema bool ソース テーブルの変更に関するビューを自動的に更新するかどうかを指定します。 既定値は false です。 このオプションは、 arg_max(Timestamp, *)/arg_min(Timestamp, *)/take_any(*) 型のビューに対してのみ有効です (列の引数が *されている場合のみ)。 このオプションを trueに設定すると、ソース テーブルへの変更がマテリアライズド ビューに自動的に反映されます。
dimensionTables 配列 ビュー内のディメンション テーブルの配列を含む動的引数。 Query パラメーターを参照してください。
フォルダー string 具体化されたビュー*のフォルダー*。
docString string 具体化されたビューを文書化する文字列。
allowMaterializedViewsWithoutRowLevelSecurity bool 行レベルのセキュリティ ポリシーが有効になっているテーブルに対して具体化されたビューを作成できるようにします。

既存のテーブル

テーブルが既に存在する場合は、 with(PropertyName=PropertyValue) で次のプロパティのサブセットのみがサポートされます。 すべてのプロパティは省略可能です。

件名 タイプ 説明
lookback timespan 重複または更新が予想される期間を制限する期間。 詳細については、「ルックバック期間 」を参照してください。
lookback_column string ルックバック期間の参照として機能するビュー内の string 列。 lookback_column が定義されていない場合、ルックバック期間は ingestion_time()に基づいて計算されます。 lookback_column が既に定義されている場合、その値は変更できません。 詳細については、「ルックバック期間 」を参照してください。
autoUpdateSchema bool ソース テーブルの変更に関するビューを自動的に更新するかどうかを指定します。 既定値は false です。 このオプションは、 arg_max(Timestamp, *)/arg_min(Timestamp, *)/take_any(*) 型のビューに対してのみ有効です (列の引数が *されている場合のみ)。 このオプションを trueに設定すると、ソース テーブルへの変更がマテリアライズド ビューに自動的に反映されます。
-- -- --
フォルダー string 具体化されたビュー*のフォルダー*。
docString string 具体化されたビューを文書化する文字列。

返品

[Output Schema]\(出力スキーマ\):

件名 タイプ 説明
件名 string マテリアライズドビューの名。
SourceTable string ビューが定義されているソース テーブルの名前。
クエリ string 具体化されたビューのクエリ定義。
MaterializedTo datetime ソース テーブルのマテリアライズド ingestion_time() タイムスタンプの最大値。 詳細については、マテリアライズドビューのしくみ を参照してください。
LastRun datetime 前回具体化が実行された時刻。
LastRunResult string 最後の実行の結果。 正常に実行された場合は Completed を返します。それ以外の場合は Failed を返します。
IsHealthy bool true ビューが正常と見なされる場合、false それ以外の場合。 ビューは、直近の 1 時間まで正常にマテリアライズされた場合に正常と見なされます (MaterializedToago(1h) より大きい)。
IsEnabled bool true ビューが有効になっている場合 (「具体化されたビューを無効化または有効化」を参照)。
フォルダー string 具体化されたビューが作成されるフォルダー。
DocString string 具体化されたビューに割り当てられた説明。
AutoUpdateSchema bool ビューの自動更新が有効になっているかどうか。
EffectiveDateTime datetime ビューの有効な日時。作成時に決定されます ( .create materialized-view参照)。
ルックバック timespan 重複または更新が予想される期間を制限する期間。 詳細については、「ルックバック期間 」を参照してください。
LookbackColumn string ルックバック期間の参照として機能するビュー内の string 列。 この列が空で、lookback に値がある場合、具体化されたビューでは既定のルックバックが使用されます。 詳細については、「ルックバック期間 」を参照してください。

このセクションの例では、構文を使用して作業を開始する方法を示します。

具体化されたビューを作成または変更する

次の例では、新しい具体化されたビューを作成するか、テーブル Tに基づく ArgMax と呼ばれる既存のビューを変更します。 テーブル Tのユーザーごとに、Timestamp 列に基づく最新のレコードが含まれています。

.create-or-alter materialized-view ArgMax on table T
{
    T | summarize arg_max(Timestamp, *) by User
}

出力

件名 SourceTable クエリ MaterializedTo LastRun LastRunResult IsHealthy IsEnabled フォルダー DocString AutoUpdateSchema EffectiveDateTime ルックバック
ArgMax T T |summarize arg_max(Timestamp, *) by User 2023-02-26T16:40:03.3345704Z 2023-02-26T16:44:15.9033667Z 完了済み true true false 2023-02-23T14:01:42.5172342Z

解説

具体化されたビューが存在しない場合、このコマンドは .create materialized-viewと同じように動作します。

詳細については、「 Query パラメーター および Properties 」セクションを参照してください。

制限事項

  • 次の変更はサポートされていません:

    • 式別の具体化されたビュー グループに対する変更。
    • 列の種類の変更。
    • 列名を変更する。 たとえば、T | summarize count() by Idのビューを変更して列T | summarize Count=count() by Idcount_削除し、最初は null のみを含む新しい列Countを作成します。
  • 既存のデータへの影響:

    • 具体化されたビューを変更しても、既存のデータに影響はありません。
    • クエリにフィルターを追加すると、新しく取り込まれたレコードにのみ適用され、既に具体化されているレコードは変更されません。
      • alter コマンドの後に取り込まれたレコードが null 値を変更するまで、新しい列は既存のすべてのレコードに対して NULL を受け取ります。
      • たとえば、 T | summarize count() by bin(Timestamp, 1d) のビューが T | summarize count(), sum(Value) by bin(Timestamp, 1d)に変更されます。 ビューを変更する前にレコードが既に処理されている特定の Timestamp=T の場合、 sum 列には部分的なデータが含まれます。 このビューには、変更の実行後に処理されたレコードだけが含まれます。