🙆

Lightdashダッシュボード編

2024/04/30に公開

Lightdash環境構築編からの続きです。
環境構築は出来たので、Lightdash本体のダッシュボード周りにも触れていきたいと思います!

まず、Lightdashでチャートを作成るには、metricsとdimenstionを定義する必要があります。
そのあたりの公式ドキュメントを確認します。
https://docs.lightdash.com/get-started/setup-lightdash/intro-metrics-dimensions

  • ディメンションは、テーブル内のデータをセグメント化するために使用されます
  • メトリックは、テーブルで計算を実行するために使用されます

なるほど、ディメンションとメトリックについては理解。

次に、以下の公式ドキュメントにおそらくjaffle shopのデータを使ったチャートがあったので、これに近しいチャートを作ってみます。

現状、ディメンションとメトリックは定義されているか確認してみます。
LightdashのTables->Ordersテーブルを確認してみると、ディメンションは勝手に定義されていましたが、メトリックが定義されていませんでした。

メトリックを定義していきます。
https://docs.lightdash.com/references/metrics/
メトリックを定義する方法は2つあり、metaタグを使う方法と、dbtのセマンティックレイヤーを使う方法です。(※ただし、パブリックβ版)
今回はmetaタグを使った方法を試してみます。
models配下のschema.ymlの適当な数値カラムをmetaタグでメトリック定義していきます。
定義結果は以下のとおりです。

schema.yml
      - name: credit_card_amount
        description: Amount of the order (AUD) paid for by credit card
        meta:
          metrics:
            sum_credit_card_amount:
              type: sum
        tests:
          - not_null

schema.ymlを保存し、Lightdashへデプロイします。

$ lightdash deploy

※dbt runが実行できるディレクトリで実行すること
以下のようにログが出力されればデプロイOK。

一部抜粋
- SUCCESS> stg_orders
- SUCCESS> stg_customers
- SUCCESS> stg_payments
- SUCCESS> customers
- SUCCESS> orders

Compiled 5 explores, SUCCESS=5 ERRORS=0

メトリックを定義できたので、STATUSカラムのディメンションとcredit_card_amountカラムのメトリックを使って、STATUS毎のクレジットカード使用料金のチャートを作成しました。
チャートの作成は直感的な操作で躓くことなく作成できました。

ある程度のチャートの機能は用意されていました。
詳細な使い方は公式ドキュメントを参照していただきたいです。
もしかしたら今後、別記事で紹介するかもです。
正直私自身そこまでBIツールの知識は無いので、十分な機能があるように感じました。

ゴールデンウイーク中のLightdashでやりたかったことは簡単ですが、以上となります。

Discussion