そのほか
2024/06/19
與田 龍人

Lookerでのビューの定義方法

looker

Lookerでは、ビューを定義することによってデータベースのテーブルをモデル化し、データの可視化や分析を行うことができます。このブログ記事では、Lookerでのビューの定義方法について解説します。プライマリキーの指定や各カラムの定義、計算フィールド、メジャーの定義など、ビューを効果的に設定するための基本的な手順を紹介します。

1. はじめに

目的と背景


Lookerでは、ビューを定義することによってデータベースのテーブルをモデル化し、データの可視化や分析を行うことができます。このブログ記事では、Lookerでのビューの定義方法について解説します。プライマリキーの指定や各カラムの定義、計算フィールド、メジャーの定義など、ビューを効果的に設定するための基本的な手順を紹介します。


試したことの概要


以下の手順に従って、架空の product_data テーブルをモデル化したビューの定義を行いました。このビューにはプライマリキーを設定し、各ディメンションやメジャーにラベルと説明を追加しました。


2. 環境設定

使用したツールとバージョン



  • Looker (バージョン: 最新版)

  • データベース: Redshift


初期設定と準備



  1. Lookerインスタンスを設定し、データベースと接続します。

  2. Lookerのプロジェクトを作成し、ビューを定義するためのファイルを作成します。


3. 実装手順

コードスニペットと説明


以下は、架空の product_data テーブルをモデル化したビューの定義例です。このビューでは、プライマリキーの指定、ディメンションとメジャーの定義、ラベルと説明の追加を行います。



view: product_data {
sql_table_name: pd.product_data ;;

dimension: product_id {
primary_key: yes
type: string
sql: ${TABLE}."product_id" ;; # ここを実際のプライマリキーのカラム名に変更してください
label: "プロダクトID"
description: "各プロダクトを一意に識別するためのID"
}

dimension: product_name {
type: string
sql: ${TABLE}."product_name" ;;
label: "プロダクト名"
description: "プロダクトの名前"
}

dimension: category {
type: string
sql: ${TABLE}."category" ;;
label: "カテゴリ"
description: "プロダクトが属するカテゴリ"
}

dimension: price {
type: number
sql: ${TABLE}."price" ;;
label: "価格"
description: "プロダクトの価格"
}

measure: total_sales {
type: sum
sql: ${TABLE}."sales" ;;
label: "総売上"
description: "プロダクトの総売上額"
}

measure: count {
type: count
label: "カウント"
description: "プロダクトの数をカウント"
}

filter: price_range {
type: number
sql: ${TABLE}."price" ;;
label: "価格範囲"
description: "特定の価格範囲のプロダクトをフィルタリング"
}
}


 


ステップバイステップのガイド



  1. Lookerプロジェクト内で新しいビュー定義ファイルを作成します(例:product_data.view.lkml)。

  2. ビューの基本構造を定義します。

  3. プライマリキーとなるディメンションを定義し、primary_key: yes を追加します。

  4. 他のディメンションを定義し、それぞれにラベルと説明を追加します。

  5. メジャーを定義し、集計関数とラベル、説明を追加します。

  6. 必要に応じて、フィルターを定義し、特定の条件でデータをフィルタリングできるようにします。



4. 結果

実行結果のスクリーンショット


(ここに実行結果のスクリーンショットを挿入します)


成功例と失敗例



  • 成功例: 正しく定義されたビューを使用して、Lookerでデータを可視化できました。

  • 失敗例: プライマリキーが正しく指定されていない場合、一部のメジャーが使用できないエラーが発生しました。


5. まとめ

得られた知見と反省点



  • プライマリキーの指定はビューの定義において非常に重要です。正しく指定することで、Lookerの機能を最大限に活用できます。

  • ディメンションやメジャーにラベルと説明を追加することで、他のユーザーがビューを理解しやすくなります。


6. 付録

完全なソースコード



view: product_data {
sql_table_name: pd.product_data ;;

dimension: product_id {
primary_key: yes
type: string
sql: ${TABLE}."product_id" ;;
label: "プロダクトID"
description: "各プロダクトを一意に識別するためのID"
}

dimension: product_name {
type: string
sql: ${TABLE}."product_name" ;;
label: "プロダクト名"
description: "プロダクトの名前"
}

dimension: category {
type: string
sql: ${TABLE}."category" ;;
label: "カテゴリ"
description: "プロダクトが属するカテゴリ"
}

dimension: price {
type: number
sql: ${TABLE}."price" ;;
label: "価格"
description: "プロダクトの価格"
}

measure: total_sales {
type: sum
sql: ${TABLE}."sales" ;;
label: "総売上"
description: "プロダクトの総売上額"
}

measure: count {
type: count
label: "カウント"
description: "プロダクトの数をカウント"
}

filter: price_range {
type: number
sql: ${TABLE}."price" ;;
label: "価格範囲"
description: "特定の価格範囲のプロダクトをフィルタリング"
}
}


参考リンク



New call-to-action