継続的インテグレーション(CI)スタイル バリデータは、LookML スタイル リンターを使用して、LookML プロジェクト全体で LookML コーディング標準、命名規則、構造のベスト プラクティスを適用します。スタイル バリデータは、構成可能な一連のスタイルルールに照らして LookML ファイルをチェックすることで、チームがクリーンで一貫性があり、読みやすいコードベースを維持するのに役立ちます。
スタイル バリデータを実行するには、LookML プロジェクト リポジトリのルート ディレクトリに lkmlstyle.yaml(または lkmlstyle.yml)という名前の構成ファイルを追加する必要があります。スタイル リンターの構成について詳しくは、このページの構成ファイルのセクションをご覧ください。
CI スイートでスタイル バリデータの設定と実行を行い、検証出力を表示する方法については、継続的インテグレーション スイートを作成する、継続的インテグレーション スイートを実行する、CI 実行の結果を表示するのドキュメント ページをご覧ください。
始める前に
継続的インテグレーションでスタイル バリデータを使用するには、次のものが必要です。
- Looker 26.18 以降を実行し、CI の要件を満たし、CI が有効になっている Looker インスタンス。
- Git バージョン管理で構成されている LookML プロジェクト。
- CI スイートの設定で有効になっている [スタイル バリデータ] 切り替え(スタイル バリデータはデフォルトで無効になっています)。スタイル バリデータがオンになっている場合、[増分エラーのみ] オプションはデフォルトで有効になっています。
- LookML プロジェクト リポジトリのルート ディレクトリにある
lkmlstyle.yaml(またはlkmlstyle.yml)構成ファイル。このページの構成ファイルのセクションをご覧ください。
構成ファイル
Looker CI でスタイル バリデータを実行するには、構成ファイルが必要です。スタイル バリデータが実行されると、LookML プロジェクト リポジトリのルート ディレクトリで、次の優先順位で構成ファイルが自動的にチェックされます。
lkmlstyle.yamllkmlstyle.yml
両方のファイルがルート ディレクトリに存在する場合、lkmlstyle.yaml が優先され、lkmlstyle.yml は無視されます。
プロジェクトのルート ディレクトリに lkmlstyle.yaml も lkmlstyle.yml も見つからず(API を介してカスタム構成が渡されない場合)、スタイル検証の実行はエラー "No style validator configuration provided" で失敗します。
25 個の標準の組み込みルールをデフォルト設定で実行するには、lkmlstyle.yaml ファイルで次の最小構成情報を使用します。
schema_version: 1
ruleset_version: "all-v1.0"
それ以外の場合は、構成ファイルをカスタマイズできます。構成ファイルには、次の最上位パラメータを含めることができます。
| パラメータ | 種類 | 必須かどうか | デフォルト | 説明 |
|---|---|---|---|---|
schema_version |
Integer | ○ | なし | 構成スキーマのバージョン。サポートされているバージョンは 1 のみであり、明示的に指定する必要があります。 |
ruleset_version |
文字列 | ○ | なし | 継承するベースライン ルールセット エディション。サポートされる値: "all-v1.0"、"none"。 |
ignore_files |
文字列のリスト | いいえ | [] |
スタイル検証から完全に除外するファイルの glob パターン。 |
rules |
地図 | いいえ | {} |
個々のルールに対するグローバル カスタマイズ(severity と version)。ベースライン ルールセットに含まれていない組み込みルールを有効にしたり、カスタムルールの重大度を変更したりすることもできます。例については、ルールのカスタマイズ セクションをご覧ください。 |
overrides |
地図のリスト | いいえ | [] |
特定のファイルパスに一致する重大度を調整または有効にするスコープ付きルールオーバーライド。 |
custom_rules |
地図のリスト | いいえ | [] |
宣言型のユーザー定義カスタムルール。 |
ruleset_version
ruleset_version パラメータは、スタイル検証戦略の基盤を定義します。
"all-v1.0"(推奨): 25 個の標準の組み込み LookML スタイルルールをすべてerrorの重大度レベルで有効にします。このオプションは、包括的な品質の適用をすぐに利用したいチームに最適です。"none": 組み込みルールが 1 つも有効になっていない状態で開始します。このオプションは、スタイル検証を段階的に導入したいチーム、特定のルールを 1 つずつ有効にしたいチーム、カスタム組織ルールのみを実行したいチームに最適です。ruleset_versionが"none"の場合に組み込みルールを有効にするには、rulesブロックまたはoverridesブロックで、ルールにwarnまたはerrorの重大度を割り当てます。
ignore_files
ignore_files パラメータは、スタイル検証を完全にバイパスするファイルの glob パターンのリストを受け取ります。これらのパターンに一致するファイルは、組み込みルールまたはカスタムルールの検査対象になりません。
サポートされているワイルドカード構文は次のとおりです。
*: 単一のディレクトリ レベル内の区切り文字以外の任意のシーケンスに一致します。**: 複数のネストされたディレクトリ レベルにまたがる任意の文字列に一致します。?: 任意の 1 文字と一致します。{a,b}と[abc]: 代替と文字クラス(Java glob 構文)を照合します。
次のパス照合ルールは、最上位の ignore_files、overrides の files と ignore_files を含む、構成ファイル内のすべての glob パターンに適用されます。
- パスはプロジェクトのルート ディレクトリからの相対パスです。先頭の
./または/は無視されます。 - スラッシュ(
/)のないパターンは、任意のディレクトリの深さで一致します。たとえば、*.ignore.lkmlはx.ignore.lkmlとviews/x.ignore.lkmlの両方に一致します。 /で終わるパターンは、そのディレクトリ内のすべてのものに一致します。.lkmlまたは.lookmlで終わるパターンは、複合拡張子にも一致します。たとえば、*.ignore.lkmlはx.ignore.view.lkmlと一致します。
次の例では、ベンダー ファイル、以前の LookML ファイル、LookML ダッシュボードが除外されています。
ignore_files:
- "vendor/**"
- "legacy/**/*.lkml"
- "*.ignore.lkml"
- "dashboards/*.dashboard.lookml"
rules
rules ブロックを使用すると、プロジェクト全体で個々のルールの診断の重大度を調整できます。
rules:
boolean-dimension-name-prefix:
severity: warn
view-dimension-order:
severity: disabled
numeric-measure-value-format-presence:
severity: error
rules(または overrides ブロック)にリストされている重大度が warn または error の組み込みルールは、ruleset_version が "none" に設定されている場合でも有効です。たとえば、次のスターター構成は ruleset_version: "none" で始まり、2 つの組み込みルールのみを有効にします。
schema_version: 1
ruleset_version: "none"
rules:
join-relationship-presence:
severity: error
explore-label-presence:
severity: warn
rules ブロックを使用して、カスタムルールの名前を参照して重大度を変更することもできます。
severity
各ルールは、次のいずれかの大文字と小文字を区別しない重大度レベルで構成できます。
error: 致命的な違反として扱われます。エラーが発生すると、CI 実行が失敗します。warn: ブロックしない警告として出力されます。警告は CI 実行レポートに表示されますが、CI 実行が失敗することはありません。disabled: ルールを完全に無効にし、検証時にスキップします。
overrides
overrides パラメータを使用すると、LookML プロジェクトの他の部分の重大度を変更することなく、特定のファイルまたはディレクトリのルールの重大度を変更できます。たとえば、overrides を使用して、ステージング ビューや以前のモデルのルールを緩和したり、クリティカル パスのルールを厳格にしたり、ruleset_version が "none" の場合に特定のディレクトリに対してのみ特定のルールを有効にしたりできます。
overrides リストの各エントリは、次のフィールドをサポートしています。
| フィールド | 種類 | 必須かどうか | 説明 |
|---|---|---|---|
files |
文字列のリスト | ○ | このオーバーライド ブロックが適用されるファイルに一致する glob パターン。空白にはできません。 |
ignore_files |
文字列のリスト | いいえ | この特定のオーバーライド ブロックから除外する glob パターン。 |
rules |
地図 | ○ | ルール名と重大度構成のマッピング。空欄にすることはできません。オーバーライド ブロックでは severity のみが許可されています(必須)。ルール名は、有効な組み込みルール名またはカスタムルール名である必要があります。 |
次の例では、ディメンションの順序チェックを無効にし、以前のビューとダッシュボードで説明がないエラーを警告にダウングレードしています。
overrides:
- files:
- "views/legacy/**"
- "dashboards/*.dashboard.lookml"
ignore_files:
- "views/legacy/core_*.view.lkml"
rules:
view-dimension-order:
severity: disabled
visible-dimension-description-presence:
severity: warn
custom_rules
構成ファイルの custom_rules セクションで宣言型のカスタムルールを定義して、組織固有の命名規則、必要なアーキテクチャ パターン、構造ガバナンスを適用できます。
すべてのカスタムルール定義は、次の共通パラメータをサポートしています。
| フィールド | 種類 | 必須かどうか | 説明 |
|---|---|---|---|
name |
文字列 | ○ | 固有識別子。慣例により、finance-measure-prefix などのダッシュケース形式。組み込みのルール名や他のカスタムルールと競合してはなりません。 |
title |
文字列 | ○ | 違反が発生したときに報告される、人が読める形式のメッセージ。(<rule-name>) <title> 形式で指定します。 |
rule_type |
文字列 | ○ | ルールのアーキタイプ: pattern_match、property、order、first_child、unique。大文字と小文字は区別されません。pattern は pattern_match のエイリアスとして受け入れられます。 |
severity |
文字列 | いいえ | 診断レベル: error(デフォルト)、warn、disabled。rules と overrides でオーバーライドできます。 |
rationale |
文字列 | いいえ | ルールの存在理由を文書化します。 |
select |
文字列またはリスト | いいえ | ターゲットの抽象構文ツリー(AST)ノードパス("view.dimension"、"explore"、["dimension", "dimension_group"] など)。省略すると、ルールは filters に一致するすべてのノードをターゲットにします。 |
filters |
地図 | いいえ | ターゲット ノードで一致する必要があるプロパティ フィルタ(primary_key: true など)。 |
parent_filters |
地図 | いいえ | ターゲット ノードの直近の親と一致する必要があるプロパティ フィルタ。 |
各ルールタイプは、独自のタイプ固有のキーのみを受け入れます。不明なキーや、別のルールタイプに属するキー(pattern_match ルールの order_by など)は、構成エラーになります。
select
select パラメータは、カスタムルールで評価する LookML 要素を決定します。
- 直接要素:
select: "dimension"、select: "measure"、select: "view"、select: "explore"、select: "join"、select: "model"、select: "include"などの特定の LookML 要素タイプをターゲットにします。 - ネストされた親子パス: 特定の直近の親内で定義されたターゲット要素(
select: "view.dimension"(ビュー内で定義されたディメンション)やselect: "explore.join"(Explore 内で定義された結合)など)。親は直近の親である必要があり、パスの最後の 2 つのセグメントのみが使用されます(そのため、a.b.cはb.cのように動作します)。 - 複数のターゲット: カンマ区切りの文字列またはリスト(
select: "dimension, dimension_group"やselect: ["dimension", "dimension_group"]など)を使用して、複数の要素タイプをターゲットに設定します。
セレクタ、フィルタ、子名は、大文字と小文字を区別する LookML キーワードです。名前のスペルミスは構成エラーとして報告されず、ルールが一致することはありません。
filters と parent_filters
filters と parent_filters を使用して、LookML ファイルで明示的に宣言されている LookML プロパティに基づいて、ターゲット ノードを絞り込むことができます。
- ブール値の等価性:
primary_key: trueやhidden: trueなど、明示的に宣言されたブール値プロパティを照合します。 - 文字列の等価性:
type: "yesno"やtype: "count"などの文字列値を正確に照合します。 - One-of リスト:
type: ["string", "number", "date"]などのリスト内の任意の値と一致します。 - 存在チェック:
derived_table: ""などの空の文字列を渡して、ブロックまたはプロパティが存在するかどうかを確認します。 - 否定: キーまたは値の前に
!を付けると、フィルタが否定されます。否定キーは引用符で囲む必要があります。引用符で囲まれていない先頭の!は YAML タグ構文であり、構成ファイルの解析が失敗します。"!hidden": trueまたはhidden: "!true"は、hiddenを宣言しないフィールドを含む、表示されている(非表示でない)項目に一致します。type: ["!yesno", "!date"]は、yesnoでもdateでもない型に一致します。
rule_type
各カスタムルールでは、rule_type パラメータに次の 5 つのルール アーキタイプのいずれかを指定する必要があります。
pattern_match
LookML エンティティ名またはプロパティ値に正規表現パターンを適用します。match または should_not_match のいずれか 1 つのみを指定する必要があります(両方が設定されている場合は、match のみが適用され、should_not_match は無視されます)。
match(文字列、正規表現): ターゲットが一致する必要があるパターン。should_not_match(文字列、正規表現): ターゲットが一致してはならないパターン。
パターンは、構成ファイルの読み込み時に検証される Java の正規表現です。マッチングはアンカーなし(部分文字列の一致)です。たとえば、match: "fin_" は my_fin_total と一致します。^ と $ を使用して、値全体を照合します。
select がエンティティではなくプロパティ(select: "measure.sql" や select: "dimension.label" など)をターゲットにしている場合、正規表現はエンティティ名ではなくプロパティの値に対して評価されます。組み込みの measure-sql-table-reference ルールと dimension-label-redundant-yes-no ルールは、このように動作します。
通貨の測定値が _usd または _eur で終わることを強制する例:
- name: currency-measure-suffix
title: "Currency measures must end with a currency code like _usd or _eur"
rule_type: pattern_match
severity: error
select: "view.measure"
filters:
value_format_name: ["usd", "usd_0", "eur", "eur_0"]
match: "^.*_(usd|eur)$"
一時ディメンションまたは下書きディメンションを禁止する例:
- name: forbid-temporary-dimensions
title: "Dimensions must not start with 'tmp_' or 'test_'"
rule_type: pattern_match
severity: error
select: "dimension"
should_not_match: "^(tmp|test)_.*"
property
LookML オブジェクト内の特定の子プロパティの必須の存在または禁止を適用します。requires_child または forbidden_child のいずれか 1 つのみを指定する必要があります(両方が設定されている場合は、requires_child のみが適用され、forbidden_child は無視されます)。
requires_child(文字列またはリスト): 存在する必要がある子プロパティの名前。リストを指定した場合、リストに記載されている子のいずれかが存在すれば、ルールは満たされます。forbidden_child(文字列またはリスト): 存在してはならない子プロパティの名前。リストを指定すると、リストに記載されている子ノードがいずれか存在する場合に、ノードにフラグが設定されます。child_filters(マップ、省略可): 必須の子が満たす必要がある追加のプロパティ フィルタ。
表示されるすべてのディメンションの説明が必要な例:
- name: require-visible-dimension-description
title: "Visible dimensions must specify a description"
rule_type: property
severity: warn
select: "view.dimension"
filters:
"!hidden": true
requires_child: "description"
派生テーブルで sql_table_name を禁止する例:
- name: forbid-sql-table-name-on-derived-views
title: "Derived table views cannot specify sql_table_name"
rule_type: property
severity: error
select: "view"
filters:
derived_table: ""
forbidden_child: "sql_table_name"
order
コンテナ内の兄弟要素のアルファベット順を強制します。
order_by(文字列、必須): 順序付けする兄弟子要素の LookML タイプ。通常は"dimension"または"measure"です。選択したノードの直接の子のみが比較され、dimension_groupの子は"dimension"に含まれません。
名前は文字コードで大文字と小文字を区別して比較されます。大文字は小文字の前に並べ替えられ、_ はその間に並べ替えられます。
ビュー内でディメンションをアルファベット順に並べる必要がある例:
- name: custom-alphabetical-dimensions
title: "Dimensions must be kept in alphabetical order within views"
rule_type: order
severity: error
select: "view"
order_by: "dimension"
first_child
特定のフィルタに一致する要素が、そのカテゴリの最初の子として表示されるようにします。
position(文字列、省略可): 位置の制約。"first"にする必要があります(デフォルトは"first")。
first_child ルールの場合、select は parent.child_type 形式("view.dimension" など)を使用する必要があります。filters パラメータは、最初に表示する必要がある子を識別します。どの親ノードをチェックするかを絞り込むことはありません。parent_filters パラメータはスキーマで受け入れられますが、このルールタイプでは無視されます。
ビューで主キー ディメンションを最初に宣言する必要がある例:
- name: custom-primary-key-first-dimension
title: "Primary key dimension must be the first dimension in the view"
rule_type: first_child
severity: error
select: "view.dimension"
filters:
primary_key: true
position: first
unique
CI 実行中に検証されたファイル内のすべての一致するノードで、プロパティ値の一意性を強制します。
unique_property(文字列、必須): 一致するノード間で一意の値を持つ必要があるプロパティの名前("sql_table_name"や"label"など)。
値は完全一致の文字列として比較され、最初に出現した値と重複するすべての値がレポートされます。検証実行でプロジェクトのファイルの一部のみがチェックされる場合、そのサブセット外のファイル内の重複は検出されません。
すべてのビューでテーブル名が一意になるようにする例:
- name: custom-sql-table-name-uniqueness
title: "Each view must reference a unique sql_table_name"
rule_type: unique
severity: error
select: "view"
unique_property: "sql_table_name"
カスタムルールの制約
カスタムルールを作成する際は、次の制約に従ってください。
- 組み込みルール名との競合がない: カスタムルールでは、
boolean-dimension-name-prefixやsql-table-name-uniquenessなどの組み込みルール カタログの名前を再利用できません。 - 一意のカスタム名: 各カスタムルールには、
custom_rulesリスト内で一意の名前が必要です。 - ダッシュケース形式: ルール名にはダッシュケース形式(
lowercase-words-with-hyphens)を使用する必要があります。
構成の評価順序
スタイル バリデータが LookML ファイルを評価する際、構成ルールは次の順序で適用されます。
- ファイルの除外: ファイルが
ignore_filesのいずれかのパターンに一致する場合、ファイルは完全にスキップされます。 - 有効なルール: ファイルの有効なルールは、
ruleset_version(all-v1.0またはnone)のルールと、rulesまたは一致するoverridesブロックでwarnまたはerrorの重大度が割り当てられた組み込みルールと、custom_rulesで定義されたすべてのルールで構成されます。 - 重大度の解決: 各アクティブ ルールについて、重大度を指定する次の設定のうち、最初に一致したものが優先されます。最後に一致した
overridesブロック、グローバルrulesブロック、カスタムルールのseverity、デフォルトの重大度(error)。 - 無効なルール: 解決済みの重大度が
disabledのルールは、そのファイルに対してスキップされます。
構成ファイルの例
次の例は、ベースライン ルールセットの選択、ファイルの除外、グローバル ルールのカスタマイズ、スコープ設定されたオーバーライド、カスタムルールを示す完全な lkmlstyle.yaml ファイルを示しています。
# Schema version
schema_version: 1
# Baseline ruleset edition (all-v1.0 or none)
ruleset_version: "all-v1.0"
# Files completely ignored by the style validator
ignore_files:
- "vendor/**"
- "*.ignore.lkml"
- "legacy_dashboards/*.dashboard.lookml"
# Built-in rule customizations
rules:
view-dimension-order:
severity: warn
numeric-measure-value-format-presence:
severity: warn
sql-table-name-uniqueness:
severity: error
# Replaced by the custom first_child rule below
primary-key-first-dimension:
severity: disabled
# Directory/file scoped overrides
overrides:
- files:
- "views/staging/**"
rules:
visible-dimension-description-presence:
severity: disabled
primary-key-visibility:
severity: warn
# Custom rules catalog
custom_rules:
# 1. Pattern Match: Finance dimensions must start with fin_
- name: finance-dimension-prefix
title: "Finance dimensions must be prefixed with fin_"
rule_type: pattern_match
severity: error
rationale: "Ensures clarity in the field picker for finance metrics."
select: "view.dimension"
filters:
view_label: "Finance"
match: "^fin_[a-z0-9_]+$"
# 2. Pattern Match: Forbid draft or test views
- name: forbid-draft-views
title: "Views cannot be named with draft_ or test_ prefixes"
rule_type: pattern_match
severity: error
select: "view"
should_not_match: "^(draft|test)_.*"
# 3. Property: Require explicit relationship on joins
- name: require-join-relationship
title: "All joins must declare an explicit relationship"
rule_type: property
severity: error
select: "explore.join"
requires_child: "relationship"
# 4. Property: Explores must not use sql_always_where
- name: forbid-sql-always-where
title: "Explores should use always_filter instead of sql_always_where"
rule_type: property
severity: warn
select: "explore"
forbidden_child: "sql_always_where"
# 5. Order: Dimension groups inside views must be alphabetical
- name: view-dimension-groups-alphabetical
title: "Dimension groups must appear in alphabetical order within views"
rule_type: order
severity: warn
select: "view"
order_by: "dimension_group"
# 6. First Child: Primary key must be the first dimension
- name: custom-primary-key-first-dimension
title: "The primary key must be defined as the first dimension in the view"
rule_type: first_child
severity: error
select: "view.dimension"
filters:
primary_key: true
position: first
# 7. Unique: Views must not share the same label
- name: unique-view-labels
title: "Views must have unique labels"
rule_type: unique
severity: warn
select: "view"
unique_property: "label"
検証の範囲と結果
以降のセクションでは、スタイル バリデータがチェックするファイルと、検証結果のレポート方法について説明します。
検証済みのファイル
- ルート プロジェクトの
.lkmlファイルと.lookmlファイルのみが検証されます。インポートされた(ローカルまたはリモート)依存関係プロジェクトは検証されません。 - 各ファイルは、そのコンテンツに基づいて検証されます。
include:ステートメントは追跡されず、include:ステートメントで取り込まれたオブジェクトは、インクルード ファイルの一部として検証されません。 - dbt Cloud CI ジョブによってトリガーされる CI 実行では、開発ブランチではなく本番環境の LookML ブランチが検証されます。
合格または不合格の動作と出力
- スタイル バリデータは、1 つ以上の診断で重大度が
errorの場合にのみ失敗します。警告だけでは実行は失敗しません。 - CI 実行結果ページでは、各診断結果にルール名、パス、行番号、コンテキスト スニペット、ルール ドキュメントへのリンクが含まれます。スイートの実行と結果の表示について詳しくは、継続的インテグレーション スイートの実行と CI 実行の結果を表示するをご覧ください。
- 無効な構成ファイルでは、構成ファイルの 1 行目に 1 つの
invalid-configエラーが生成され、検証実行が失敗します。
増分検証
スタイル バリデータで増分検証を有効にするには、継続的インテグレーション スイートを作成または編集するときに、[スタイル バリデータ] セクションで [増分エラーのみ] チェックボックス(デフォルトで有効)をオンにします。
増分検証が有効になっている場合、スタイル バリデータは開発ブランチの新しい違反のみをレポートします。
- 開発ブランチを検証します。
- ターゲット ブランチは、開発ブランチの構成ファイルを使用して検証されます。
- ターゲット ブランチにまだ存在しない違反のみが報告されます。
増分検証が有効になっている場合、次の動作に注意してください。
- ターゲット ブランチに既存の違反があっても、実行は失敗しません。
- 開発ブランチの構成ファイルは両方のブランチの検証に使用されるため、開発ブランチの構成を変更しても、既存の違反を隠したり、既存の LookML を新しい違反として表示したりすることはできません。
- 開発ブランチには
lkmlstyle.yaml(またはlkmlstyle.yml)構成ファイルが含まれている必要があります。含まれていない場合、実行は失敗し、構成が見つからないというエラーが発生します。
[増分エラーのみ] が無効になっている場合、検証済みのブランチで見つかったすべての違反が報告されます。
組み込みルールのカタログ
次の表に、all-v1.0 ルールセットで使用可能な 25 個の標準組み込みルールを示します。
トラブルシューティング
以降のセクションでは、スタイル バリデータでトラブルシューティングを行う際に発生する一般的な構成の問題と、サポートされている構文のバリエーションについて説明します。
構成エラー
構成ファイルの読み込み時に次の問題が拒否され、invalid-config エラーとして報告されます。
- 不明なトップレベル キー、またはルール構成内の不明なキー。
schema_versionまたはruleset_versionが欠落しているか、いずれかのパラメータの値がサポートされていません。rule-name: warnなどのスカラー重大度の短縮形。filesまたはrulesが欠落しているか空のオーバーライド ブロック、またはseverityのないオーバーライド ブロック内のルール構成。- オーバーライド ブロック内の不明なルール名。
- 名前が別のカスタムルールまたは組み込みルールと重複しているカスタムルール。
- 間違った
rule_typeで使用された型固有のキー(たとえば、pattern_matchルールでのorder_by)。 - 無効な正規表現。
order_byパラメータ(orderルールの場合)またはunique_propertyパラメータ(uniqueルールの場合)がありません。first以外のposition値(first_childルールの場合)。- フィルタキーの先頭に引用符で囲まれていない
!(!hidden: trueなど)。これは無効な YAML タグ構文であり、構成ファイルの解析が失敗します。
サイレント構成に関する問題
- グローバル
rulesブロック内のルール名が誤って入力されている場合は、通知なく無視されます。 select、filters、parent_filters、requires_child、forbidden_child、order_byで LookML 型名が誤って入力されていても、エラーは発生しません。代わりに、ルールは一致しません(または、requires_childの場合は常に失敗します)。matchとshould_not_matchの両方、またはrequires_childとforbidden_childの両方を指定した場合: 各ペアの最初のパラメータのみが適用され、2 番目のパラメータは無視されます。first_childルールでparent_filtersを指定しても効果はなく、無視されます。- フィルタは、LookML ファイルで明示的に宣言されたプロパティのみに一致し、LookML のデフォルト値には一致しません(フィルタリング構文を参照)。
pattern_matchルールの正規表現パターンは、^と$でアンカーしない限り、アンカーなしの部分文字列一致になります(pattern_matchを参照)。
使用できる構文のバリエーション
severityとrule_typeの値では大文字と小文字が区別されません。rule_type: patternはpattern_matchのエイリアスとして使用できます。ruleset_versionの先頭と末尾の空白は無視されます。