mcpField
D
developing-in-lightdash

developing-in-lightdash

github.com/lightdashデータ・データベース6.2k470 回インストール今日更新
リポジトリ

developing-in-lightdash について

Developing in Lightdashは、CLIユーザーや書き戻しサンドボックス向けのスキルで、Lightdash分析プロジェクトの構築とデプロイを扱います。セマンティックレイヤー、チャート、ダッシュボード、コンテンツをコードで管理するCLI手順を説明します。

主な機能

  1. 01メトリクス、ディメンション、結合の定義
  2. 02チャートとダッシュボードの作成・編集
  3. 03CLIによるプロジェクトのデプロイとプレビュー
  4. 04コンテンツのダウンロード、アップロード、Lint
  5. 05データアプリとカスタムチャートタイプの管理

活用シーン

  1. 01dbtまたはLightdashのYAMLプロジェクトを保守
  2. 02チャートとダッシュボードをコードで管理
  3. 03ウェアハウスのメタデータを調べセマンティックレイヤーを構築
  4. 04分析プロジェクトをデプロイして変更をプレビュー

MCP 対応

READMEではLightdash MCP serverを通じたチャートやダッシュボードの作成・編集に言及しています。このスキルは、そうしたLightdash開発作業の手順を提供します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/lightdash/lightdash --skill developing-in-lightdash

インストール後、Claude Code で/developing-in-lightdashを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

resources/
big-number-chart-reference.md
cartesian-chart-reference.md
cli-reference.md
content-as-code-reference.md
creating-from-warehouse-catalog.md
custom-viz-reference.md
dashboard-best-practices.md
dashboard-reference.md
data-app-themes-reference.md
dimensions-reference.md
funnel-chart-reference.md
gauge-chart-reference.md
joins-reference.md
map-chart-reference.md
metrics-reference.md
period-over-period-reference.md
pie-chart-reference.md
sankey-chart-reference.md
sql-chart-reference.md
table-chart-reference.md
tables-reference.md
treemap-chart-reference.md
user-attributes-reference.md
workflows-reference.md

詳細

Lightdash での開発

YAML ファイルや dbt ファイルを扱う CLI ユーザーおよびライトバックサンドボックス向けです。

Lightdash の分析プロジェクトをビルドしてデプロイします。このスキルでは、セマンティックレイヤー(メトリクス、ディメンション、結合)とコンテンツ(チャート、ダッシュボード)を扱います。

使用するタイミング

  • Lightdash の YAML ファイル(チャート、ダッシュボード、コードとしてのモデル)を扱う場合
  • lightdash CLI(deploy、upload、download、preview、lint、warehouse-catalog、sql)を使用する場合
  • dbt または純粋な Lightdash プロジェクトでメトリクス、ディメンション、結合、テーブルを定義する場合
  • コードとしてチャートやダッシュボードを作成または編集する場合
  • データアプリをダウンロード、アップロード、またはローカルで開発する場合(エンタープライズ)
  • Chart Studio で構築したカスタムチャートタイプを作成、ダウンロード、編集、またはアップロードする場合(エンタープライズ)
  • 組織の Data App テーマを作成、編集、移行、ダウンロード、またはアップロードする場合

使用しない場合: Lightdash アプリケーション自体の開発(コードベースの CLAUDE.md を使用してください)、Lightdash のメタデータを含まない一般的な dbt 作業、または Lightdash モデルに関連しない生の SQL。

できること

タスクコマンド参考資料
ウェアハウスのメタデータから純粋な Lightdash プロジェクトを作成するLightdash または認証済みのウェアハウス CLI を使用してカタログのメタデータと集計プロファイルを調べますウェアハウスカタログからの作成
ウェアハウスのテーブルとフィールドを検出するlightdash warehouse-catalog --jsonCLI リファレンス
データウェアハウスの値を調べるlightdash sql で生の SQL を実行し、.csv の結果を読み取りますCLI リファレンス
メトリクスとディメンションを定義するdbt YAML または Lightdash YAML を編集しますメトリクス、ディメンション
チャートを作成または編集するUI、Lightdash AI エージェント、MCP、または lightdash download/upload を使った YAMLコンテンツのワークフロー、チャートタイプ
期間比較を追加するチャート YAML に PoP の追加メトリクスを追加します期間ごとの比較
ダッシュボードを作成または編集するUI、Lightdash AI エージェント、MCP、または lightdash download/upload を使った YAMLコンテンツのワークフロー、ダッシュボードのリファレンス
プロジェクトと組織のリソースにまたがるコンテンツをコードとして管理するlightdash download、lightdash uploadコードとしてのコンテンツ
データアプリをコードとして管理する(エンタープライズ)lightdash download --apps <ref>(1 つのアプリ)または --include-apps(すべて)、バンドルを編集し、lightdash upload --apps <ref> を実行します。ローカル開発には lightdash apps create/preview/validate を使用しますデータアプリ、コードとしてのコンテンツ
カスタムチャートタイプを構築または編集する(エンタープライズ)lightdash apps create "<name>" --chart-type または lightdash download --chart-types <ref> を実行し、chart-types/<slug>/src/ を編集して、lightdash upload --chart-types <ref> を実行しますカスタムチャートタイプ
組織の Data App テーマをコードとして管理するlightdash download --organization を実行し、themes/<slug>/ を編集して、lightdash upload --organization を実行しますData App テーマ
データアプリの外部接続を管理する(エンタープライズ)lightdash download --include-external-connections を実行し、YAML を編集して、lightdash upload を実行しますコードとしてのコンテンツ
yaml ファイルを Lint するlightdash lintCLI リファレンス
ウェアハウス接続を設定するprofiles.yml から lightdash set-warehouse を実行しますCLI リファレンス
変更をデプロイするlightdash deploy(セマンティックレイヤー)、lightdash upload(コンテンツ)CLI リファレンス
変更をテストするlightdash previewワークフロー

よくある間違い

間違い結果防止策
フィルター値を推測する大文字と小文字の不一致('Payment' と 'payment' など)により、グラフがデータを返さずに終了します必ず lightdash sql "SELECT DISTINCT column FROM table LIMIT 50" -o values.csv を実行し、完全に一致する値を使用します
グラフ名を変更した後にダッシュボードのタイルを更新しないダッシュボードのタイルには古いタイトルが表示されます。title と chartName は独立した上書き項目であり、自動更新されませんダッシュボードをダウンロードし、一致する chartSlug を持つタイルを見つけて、title と chartName を一致するよう更新します(チェックリストを参照)
metricQuery に未使用のディメンションを含める「結果が不正確な可能性があります」という警告が表示されます。余分なディメンションによって SQL のグループ化が変わり、数値が誤りますmetricQuery.dimensions 内のすべてのディメンションが、グラフ設定にも含まれている必要があります。直積グラフの場合は、layout.xField、layout.yField、または pivotConfig.columns に含めます
YAML のキーを並べ替えないlightdash upload に「unsorted YAML keys」という警告が表示され、差分が見づらくなりますすべてのネストレベルで、常にキーをアルファベット順に並べ替えます。CLI は sortKeys: true を指定して書き込みます
誤ったプロジェクトにデプロイする本番環境のコンテンツが上書きされますデプロイ前に、必ず lightdash config get-project を実行します
コンテンツを dbt プロジェクトにダウンロードしてコミットするダッシュボード、グラフ、またはデータアプリのファイルがリポジトリに追加されますが、誰も保守せず、UI で誰かがコンテンツを編集するとすぐに古くなります一時ディレクトリにダウンロードしてアップロードし、その後削除します。ユーザーから依頼された場合、またはリポジトリがすでに追跡している場合に限り、コンテンツをコミットします(コンテンツのワークフローを参照)
contentType フィールドがないディレクトリ構造に頼らなければ、コンテンツの種類を判別できません必ずトップレベルに contentType: chart、contentType: dashboard、または contentType: sql_chart を含めます
--apps <ref> の選択時に --include-apps を追加する--include-apps は常にプロジェクト内のすべてのアプリを要求し(上限は 50 件)、指定したアプリだけでなく、すべてのアプリと ref をダウンロードします--apps <ref> だけを指定すると、そのアプリのみをダウンロードまたはアップロードします(slug、アプリ URL、または UUID で指定)。すべてのアプリが必要な場合にのみ --include-apps を使用します
同梱スキルを読まずにデータアプリを編集するアプリコードが SDK のみを使用するデータアクセスと依存関係の境界に違反し(直接の fetch、pnpm add、ベンダー提供ライブラリなど)、アップロードが拒否されたり、デプロイ後にアプリが壊れたりしますすべてのアプリバンドルには developing-data-apps-locally と lightdash-data-app のスキルが含まれています。アプリフォルダー内のファイルを編集する前に、必ずこれらを読みます(データアプリを参照)
再利用可能なグラフを Vega-Lite の custom グラフとして作成する可視化が保存済みグラフの中だけに存在し、再利用したり、エクスプローラーのグラフ種類ピッカーから選択したりできません再利用可能な可視化を新しく作成する場合は、カスタムグラフ種類を作成します(カスタムグラフ種類を参照)。Vega-Lite は、既存の chartConfig.type: custom グラフ、またはプロジェクトにカスタムグラフ種類がない場合(エンタープライズ版)にのみ使用します
同梱スキルを読まずにグラフ種類を編集するコンポーネントが自らデータをクエリまたは取得したり、vizSchema が src/ の読み取り内容と食い違ったりして、グラフ種類が壊れるか、グラフ種類ピッカーに表示されなくなりますすべてのグラフ種類フォルダーには AGENTS.md と reusable-visualization、developing-chart-types-locally のスキルが含まれています。chart-types/<slug>/ 内のファイルを編集する前に、必ず3つすべてを読みます
テーマ専用の CLI コマンドをでっち上げる、またはフォルダーがないことを削除とみなすコマンドが存在しないか、削除したはずのリモートテーマが次回のダウンロード時に再び現れます組織のダウンロード/アップロードを使用し、themes/ を変更する前にデータアプリのテーマを読みます

始める前に

lightdash download または lightdash upload を実行する場合は、必ずコンテンツのワークフローに従ってください。ファイルはユーザーのリポジトリではなく、一時ディレクトリに配置し、ユーザーから依頼されない限りコミットしません。

lightdash download または lightdash upload を使うタスクでは、特に一括編集、スペースとアクセス権、スケジュールされたコンテンツ、AI エージェント、データアプリ、カスタムチャートタイプ、組織テーマ、外部接続、ユーザー、グループ、カスタムロールに関する場合は、まずコードとしてのコンテンツを読み、その手順に従ってください。プロジェクトと組織のコンテンツには個別のコマンドが必要であり、デフォルトのダウンロードでは完全なスナップショットになりません。

組織のデータアプリテーマを作成、編集、移行、ダウンロード、アップロード、テストするタスクでは、themes/に触れる前に必ずデータアプリテーマを読み、その手順に従ってください。テーマパッケージは複数ファイルからなる厳密なリソースであり、組織へのアップロードにはテーマ専用モードがなく、lightdash lintでも検証されません。

対象プロジェクトを確認する

**デプロイ先のプロジェクトを必ず確認してください。**誤ったプロジェクトにデプロイすると、本番環境のコンテンツを上書きする可能性があります。

lightdash config get-project        # Show current project
lightdash config list-projects      # List available projects
lightdash config set-project --name "My Project"  # Switch project
プロジェクトの種類を判別する

プロジェクトの種類によって、YAML の構文は大きく異なります。

種類判別方法主な違い
dbt プロジェクトdbt_project.ymlがあるメタデータをmeta:の下にネストする
dbt Fusion / dbt 1.10+dbt_project.ymlがあり、dbt Fusion または dbt >= 1.10 を使用しているメタデータをconfig: meta:の下にネストする
Pure Lightdashlightdash.config.ymlがあり、dbt を使用していないトップレベルのプロパティ
ls dbt_project.yml 2>/dev/null && echo "dbt project" || echo "Not dbt"
ls lightdash.config.yml 2>/dev/null && echo "Pure Lightdash" || echo "Not pure Lightdash"

dbt Fusion / dbt 1.10+: Lightdash のメタデータはmeta:ではなく、config: meta:の下にネストする必要があります。プロパティは同じで、ネストの場所だけが変わります。例:

models:
  - name: orders
    config:
      meta:
        metrics:
          total_revenue:
            type: sum
            sql: "${TABLE}.amount"
構文の比較

dbt YAML(meta:の下にメタデータを記述):

models:
  - name: orders
    meta:
      metrics:
        total_revenue:
          type: sum
          sql: "${TABLE}.amount"
    columns:
      - name: status
        meta:
          dimension:
            type: string

Pure Lightdash YAML(トップレベル):

type: model
name: orders
sql_from: 'DB.SCHEMA.ORDERS'

metrics:
  total_revenue:
    type: sum
    sql: ${TABLE}.amount

dimensions:
  - name: status
    sql: ${TABLE}.STATUS
    type: string

データウェアハウス接続の設定

プロジェクトで別のデータウェアハウス接続が必要な場合(例:Postgres から BigQuery への切り替え)、profiles.yml から接続を更新します。

lightdash set-warehouse --project-dir ./dbt --profiles-dir ./profiles --assume-yes

このコマンドは profiles.yml から認証情報を読み取り、現在選択されているプロジェクトのデータウェアハウス接続を更新して、再コンパイルを実行します。lightdash deployの前に実行してください。

特定のプロジェクトを対象にする場合:

lightdash set-warehouse --project-dir ./dbt --profiles-dir ./profiles --project <uuid> --assume-yes

基本的なワークフロー

使用前にフィルター値を確認する

重要:フィルター値を推測してはいけません。大文字と小文字の不一致(例:'Payment'と'payment')があると、チャートがデータを返さずに処理されることがあります。

フィルターでは、デフォルトで大文字と小文字が区別されます。case_sensitiveキーは、次の優先順位で設定を上書きできます。

  • ディメンションのメタデータ
  • モデル/探索のメタデータ
  • lightdash.config.ymlのdefaults.case_sensitive

文字列フィルターを書く前に、データウェアハウスから実際の値をクエリしてください。

lightdash sql "SELECT DISTINCT category FROM payments LIMIT 50" -o category_values.csv

CSV を読み取り、フィルター YAML には完全に一致する値を使用してください。これは、チャートとダッシュボードで文字列値を使うすべてのequals/notEqualsフィルターに適用されます。

メトリクスとディメンションの編集
  1. モデルの YAML ファイルを探します(dbt:models/*.yml、Pure Lightdash:lightdash/models/*.yml)
  2. プロジェクトの種類に合った構文でメトリクス/ディメンションを編集します
  3. 検証します:lightdash lint(Pure Lightdash)またはdbt compile(dbt プロジェクト)
  4. デプロイします:lightdash deploy

設定オプションについては、メトリクスリファレンスとディメンションリファレンスを参照してください。

ウェアハウスカタログから純粋な Lightdash プロジェクトを作成する

準備済みのプロジェクトに利用可能な dbt プロジェクトがなく、ウェアハウスのメタデータからセマンティックレイヤーをブートストラップする場合は、データを調査したり YAML を記述したりする前に、必ずウェアハウスカタログから作成するを読んで、その手順に従ってください。これは、選択した Lightdash プロジェクト経由でウェアハウスにアクセスする場合も、Snowflake CLI や bq など、すでに認証済みのウェアハウス CLI を利用する場合も同様です。既存の dbt セマンティックレイヤーを拡張できる場合は、このワークフローを使用しないでください。

コンテンツのワークフロー

これは、チャート、ダッシュボード、データアプリ、カスタムチャートタイプなど、あらゆるコンテンツで使う唯一のループです。以下のセクションでは、各リソースに固有の内容のみを補足します。

コンテンツの作成。 チャートとダッシュボードは、Lightdash の UI、Lightdash AI エージェント、Lightdash MCP サーバー、または CLI を使った YAML で作成できます。どの方法も同等に有効なので、ユーザーの希望に従ってください。

Lightdash が信頼できる唯一の情報源です。 ダウンロードしたファイルは一時的な作業用コピーであり、コミットするファイルではありません。ファイルとしてコンテンツを編集する場合、または YAML として作成する場合は、次の手順に従ってください。

  1. 対象を確認する:lightdash config get-project
  2. スクラッチディレクトリにダウンロードする。ユーザーのリポジトリ内や dbt プロジェクト内には保存しないでください:
    LD_DIR="$(mktemp -d)/lightdash"
    lightdash download --dashboards executive-summary --path "$LD_DIR"   # or --charts <slug>, --apps <ref>, ...
    
    コンテンツを作成する場合は、ダウンロードを省略し、$LD_DIR に新しい YAML を記述します。
  3. $LD_DIR 内のファイルを編集する。下記のチェックリストに沿って作業します。
  4. Lint を実行する:lightdash lint --path "$LD_DIR"
  5. 同じセレクターを使ってアップロードする:lightdash upload --dashboards executive-summary --path "$LD_DIR"
  6. $LD_DIR を削除する。ファイルをリポジトリにコピーしたり、git add したり、コミットしたりしないでください。

一括変更やスコープをまたぐ変更(スペースとアクセス、ユーザー、グループ、ロール、スケジュールされたコンテンツ、AI エージェント)については、代わりにコードとしてのコンテンツのエージェントセーフワークフローに従ってください。

コンテンツを git に含める場合。 ユーザーから依頼された場合、またはリポジトリですでにコンテンツが追跡されている場合(たとえば、git ls-files lightdash/ がコンテンツファイルを返す場合)に限ります。これには、バージョン管理されたテンプレート、コンテンツの CI/CD デプロイ、コードレビューを伴う厳格な変更管理が該当します。エージェントを使ったダッシュボードの編集を参照してください。これはコンテンツにのみ適用されます。dbt モデル、メトリクス、ディメンション、その他のセマンティックレイヤーの YAML はリポジトリに保存し、lightdash deploy とともにデプロイします。

チャートとダッシュボードのチェックリスト
  • フィルター値:文字列フィルターを追加または変更した場合は、まず実際の値をクエリしてください(フィルター値を使用する前に確認するを参照)。
  • ダッシュボードタイルのタイトル:saved_chart タイルの title と chartName はそれぞれ独立した上書き設定であり、チャートの名前を変更しても自動更新されません。チャートの名前または用途を変更した場合は、chartSlug が一致するタイルを含むすべてのダッシュボードをダウンロードし、両方のプロパティを更新して、それらのダッシュボードもアップロードしてください:
    tiles:
      - type: saved_chart
        properties:
          chartSlug: total-revenue-kpi
          title: "Gross Profit"        # ← Update this when chart name/purpose changes
          chartName: "Gross Profit"    # ← Update this too
    
  • チャートの設定:チャートタイプとダッシュボードリファレンスを参照してください。
データアプリを操作する(Enterprise)

データアプリは、単一の YAML ファイルではなく、lightdash-app.yml マニフェストを含む apps/<app-folder>/ 配下の複数ファイルで構成された React バンドルです。フラグの完全なセマンティクスとマニフェストの詳細については、Content as Code を参照してください。

アプリはコンテンツワークフローに従います。スクラッチディレクトリで作業し、ユーザーから依頼がない限りバンドルをコミットしないでください。以下のコマンドは、アプリ固有のフラグです。

アプリを 1 つダウンロードする — --apps <ref> だけでコマンドは完結します(ref = slug、アプリの URL、または UUID。スペースに追加されていないアプリも検索します)。

lightdash download --apps revenue-explorer --path "$LD_DIR"

ダウンロード対象を「絞り込む」ために --include-apps を追加しないでください。このフラグは、常にプロジェクト内のすべてのアプリを要求します(よくある間違いを参照)。

すべてのアプリをダウンロードする:lightdash download --include-apps(上限は 50 です。--apps-limit <n> で引き上げられます)。チャート、ダッシュボード、スペースを省略するには、--apps-only を追加します。

アップロードする:

lightdash upload --apps revenue-explorer --path "$LD_DIR"   # one app (slug = folder name, URL, or UUID)
lightdash upload --include-apps --path "$LD_DIR"            # every app folder on disk
  • --app-space <spaceRef> — このアップロードで作成するアプリのスペース(slug または UUID)を指定します。既存のアプリは現在のスペースを維持します。
  • --create-new — lightdash-app.yml で参照されているアプリを更新する代わりに、新しいアプリ(新しい slug)を作成します。
  • --allow-custom-dependencies — カスタム npm 依存関係を宣言しているアプリを非対話形式でアップロードする場合に必須です。

lightdash apps サブコマンドグループを使ってローカルで開発する:

lightdash apps create "Revenue Explorer" --path "$LD_DIR"   # scaffold a new app under $LD_DIR/apps/
lightdash apps preview                     # run the app locally against your real Lightdash instance, authenticated as you
lightdash apps validate                    # check source, manifest, dependencies, and semantic-layer references

作成またはダウンロードしたすべてのアプリバンドルには、アプリフォルダー内に独自のスキルが含まれています:

  • developing-data-apps-locally — 編集 → 検証 → アップロードのサイクル、ローカルプレビュー、SDK のみを使ったデータアクセス、依存関係の境界について説明します
  • lightdash-data-app — アプリのソースコード向けに @lightdash/query-sdk を解説します

アプリフォルダー内のファイルを編集する際は、まず同梱されているスキルを読んでください。これらはアプリとバージョンが一致しており、ローカル開発に関する正式な情報源です。このスキルでは、アプリをディスクと Lightdash の間で移動する方法のみを説明します。

カスタムチャートタイプを操作する(Enterprise)

カスタムチャートタイプは、Chart Studio で作成する再利用可能なビジュアライゼーションです。Lightdash がクエリ結果と設定を渡す React コンポーネント 1 つで構成され、プロジェクト内のすべてのチャートについて、エクスプローラーのチャートタイプピッカーに表示されます。ディスク上では、コンポーネントが読み取るフィールドとオプションを vizSchema で定義した lightdash-app.yml マニフェストを含む、chart-types/<slug>/ 配下の複数ファイルで構成されたバンドルです。データアプリではなく(独自にクエリを実行しません)、従来の Vega-Lite custom チャートでもありません。

チャートタイプはコンテンツワークフローに従います。スクラッチディレクトリで作業し、ユーザーから依頼がない限りバンドルをコミットしないでください。

ローカルで作成する:

lightdash apps create "Radial Gauge" --chart-type --path "$LD_DIR"   # scaffolds $LD_DIR/chart-types/radial-gauge/

ダウンロードする — --chart-types <ref> だけでコマンドは完結します(ref = slug、URL、または UUID):

lightdash download --chart-types radial-gauge --path "$LD_DIR"
lightdash download --include-chart-types   # every chart type in the project (capped at 50; raise with --chart-types-limit <n>)
lightdash download --chart-types-only      # chart types only, skipping charts, dashboards, and spaces

カスタムチャートタイプで表示されるチャートをダウンロードすると、そのチャートタイプもダウンロードされます。チャート YAML では、バインディングは chartConfig.type: data_app_viz であり、config.dataAppVizSlug、fieldMapping、optionValues を使用します。

アップロードする:

lightdash upload --chart-types radial-gauge --path "$LD_DIR"   # one chart type (slug = folder name, URL, or UUID)
lightdash upload --include-chart-types --path "$LD_DIR"        # every chart type folder on disk

dataAppVizSlug でチャートタイプを指定するチャート YAML は、対象プロジェクトにそのチャートタイプが存在しないとアップロードに失敗します。先にチャートタイプをアップロードするか、同じ実行で --chart-types <ref> を渡してください(チャートタイプはチャートより先にアップロードされます)。

フォルダー内で編集する。 chart-types/<slug>/ に移動し、src/ を編集する前にそのフォルダーの AGENTS.md と、reusable-visualization および developing-chart-types-locally の各スキルを読んでください:

  • reusable-visualization — コンポーネントの仕様です。ホストとの唯一の通信手段は useVizContext() であり、コンポーネント自身がクエリやデータ取得を行うことはありません
  • developing-chart-types-locally — vizSchema とコンポーネントの同期、lightdash apps validate --build、フィクスチャプレビュー、アップロードと検証のサイクルについて説明します

これらのファイルはチャートタイプとバージョンが一致しており、その編集に関する正式な情報源です。このスキルでは、チャートタイプをディスクと Lightdash の間で移動する方法のみを説明します。

組織データアプリのテーマを扱う

組織データアプリのテーマは themes/<slug>/ 配下の複数ファイルからなるパッケージであり、lightdash download --organization と lightdash upload --organization に自動的に参加します。これらには独立したコマンドグループやテーマ固有のセレクターはありません。

テーマを作成、編集、移行、同期、またはテストする前に、マニフェストの契約、アセットのルール、同期の動作、および生成の境界について、データアプリのテーマ を読んで従ってください。

プレビューでのテスト

より大きな変更については、分離された環境でテストしてください:

lightdash preview --name "my-feature"
# Make changes and iterate
lightdash stop-preview --name "my-feature"

CLI クイックリファレンス

コマンド目的
lightdash deployセマンティックレイヤー (メトリクス、ディメンション) を同期する
lightdash uploadチャート/ダッシュボードをアップロードする
lightdash downloadチャート/ダッシュボードを YAML としてダウンロードする
lightdash lintYAML をローカルで検証する
lightdash preview一時的なテストプロジェクトを作成する
lightdash warehouse-catalog --jsonウェアハウスの生テーブルを検出する
lightdash sql "..." -o file.csvウェアハウスに対して SQL クエリを実行する
lightdash run-chart -p chart.ymlチャート YAML のクエリをウェアハウスに対して実行する
lightdash apps create <name>新しいデータアプリをローカルでスキャフォールドする (エンタープライズ)
lightdash apps create <name> --chart-type新しいカスタムチャートタイプをローカルでスキャフォールドする (エンタープライズ)
lightdash apps previewデータアプリを Lightdash インスタンスに対してローカルで実行する
lightdash apps validateデータアプリまたはチャートタイプのソース、マニフェスト、およびセマンティック参照を検証する
lightdash download --chart-types <ref> / lightdash upload --chart-types <ref>カスタムチャートタイプをディスクと Lightdash の間で移動する (エンタープライズ)

完全なコマンドのドキュメントについては、CLI リファレンス を参照してください。

セマンティックレイヤー

セマンティックレイヤーはデータモデルを定義します。完全な設定については、個々のリファレンスを参照してください:

チャートタイプ

すべてのチャートは共通の基本構造を共有します:

chartConfig:
  config: {}        # Type-specific — see individual references
  type: <type>
contentType: chart              # Required: chart, dashboard, or sql_chart
dashboardSlug: my-dashboard  # Optional: scopes chart to dashboard (won't appear in space)
metricQuery:
  dimensions:
    - my_explore_category
  exploreName: my_explore     # Required: which explore to query
  filters: {}
  limit: 500
  metrics:
    - my_explore_total_sales
  sorts: []
name: "Chart Name"
slug: unique-chart-slug
spaceSlug: target-space
tableConfig:
  columnOrder: []
tableName: my_explore           # Required: top-level explore/table name
version: 1

キーの順序: すべての YAML キーは、すべてのネストレベルでアルファベット順にソートする必要があります。CLI は sortKeys: true でファイルを書き込み、アップロード時にキーがソートされていない場合は警告します。YAML を手作業で作成または編集する際は、警告やノイズの多い差分を避けるために、キーをアルファベット順に保ってください。

チャートのスコープ: spaceSlug は共有チャートにのみ使用してください。チャートを特定のダッシュボードにスコープするには dashboardSlug を追加します (スペースには表示されません)。

ネストされたスペース: スペースはネストできます。YAML では、spaceSlug は parent/child 構文を使用してサブスペースを指定します — / は階層を表します。例:

spaceSlug: sales              # Top-level space "sales"
spaceSlug: sales/maps         # Sub-space "maps" inside "sales"
spaceSlug: sales/eu/forecasts # Deeper nesting works the same way

各パスセグメントは、そのレベルに存在する (または作成予定の) スペースのスラッグでなければなりません。sales-maps のような単なるスラッグはフラットなトップレベルスペースであり、サブスペースではありません — スラッシュだけが階層を作成します。

適切なチャートタイプの選択
データパターン推奨チャート理由
時間の経過に伴う傾向折れ線またはエリア(cartesian)X 軸に時間を配置し、連続的な変化を表示します
カテゴリの比較棒(cartesian)個別のカテゴリを視覚的に簡単に比較できます
全体に占める割合の関係pie または treemap合計が 100% となる割合を表示します
単一の KPI 指標big_number重要な値 1 つに焦点を当てます
コンバージョンの段階funnel連続するステップ間の離脱を可視化します
目標に対する進捗gauge目標に対する現在値を表示します
地理データmap地図上にデータポイントまたは地域をプロットします
カテゴリ間のフローsankeyソースノードからターゲットノードへ値がどのように移動するかを表示します
詳細なレコードtable並べ替えと書式設定が可能な生データを表示します
上記のいずれでもカバーできない可視化カスタムチャートタイプチャートタイプ選択メニューで提供される、再利用可能な React コンポーネントです。カスタムチャートタイプを参照してください
Vega-Lite チャートcustom(レガシー)すでに chartConfig.type: custom で保存されているチャート、またはカスタムチャートタイプがないプロジェクト(エンタープライズ向け)用です
タイプ用途リファレンス
cartesian棒、折れ線、エリア、散布図直交座標系
pie全体に占める割合円グラフ
tableデータテーブルテーブル
big_numberKPIビッグナンバー
funnelコンバージョンファネルファネル
gauge進捗インジケーターゲージ
treemap階層データツリーマップ
map地理データ地図
sankeyフローダイアグラムサンキー
customレガシーの Vega-Lite カスタムチャートカスタム可視化
data_app_vizカスタムチャートタイプでレンダリングされるチャートカスタムチャートタイプ

SQL チャート(contentType: sql_chart)は、explore ではなく、ウェアハウスの生 SQL から保存されます。SQL チャートリファレンスを参照してください。

ダッシュボード

ダッシュボードでは、チャートとコンテンツをグリッドレイアウトに配置します。YAML 構造、タイルタイプ、タブ、フィルターについては、ダッシュボードリファレンスを参照してください。

ウェアハウスの探索

モデルの構築時にデータを探索するには、lightdash sql を使用します。

# Preview table structure
lightdash sql "SELECT * FROM orders LIMIT 5" -o preview.csv

# Check distinct values for a dimension
lightdash sql "SELECT DISTINCT status FROM orders" -o statuses.csv

# Test metric calculations
lightdash sql "SELECT SUM(amount) FROM orders" -o test.csv

ワークフローパターン

パターン使用する場面
直接(deploy + upload)個人開発、迅速な反復
プレビュー優先チーム、複雑な変更
CI/CDマージ時の自動化

詳しい例と CI/CD の設定については、ワークフローリファレンスを参照してください。

リソース

セマンティックレイヤー
チャート
ダッシュボードとワークフロー
外部

コメント