この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
さがらです。
先日、Looker22.6がリリースされました。
このリリースノートのうち、PDT 依存性のグラフの改善について、本エントリでまとめてみます。
PDT 依存性のグラフとは
まず「PDT 依存性のグラフ」とは、2021年12月にLooker21.20でリリースされた「PDT Dependency Visualizer」になります。
この機能により、複数のPDTを組み合わせて構築しているときに、あるPDTがどのPDTから構築されているのかを確認することが出来るようになりました。
しかし、多岐に分かれたPDTの依存状況を表示しようとすると画面内に収まらず、見にくく感じてしまうことがありました。下図は以前私がPDT Dependency Visualizerを検証したときのブログからの引用です。
22.6のアップデートにより別タブ表示が可能に
しかし、今回の22.6のアップデートにより、PDTの依存関係の図が別タブで全体を表示できるようになりました!
以前のブログで使用したコードと全く同じ条件で、どうなるか試してみたいと思います。
記述したLookML
- modelファイル
connection: "cm_sagara_bq"
include: "/views/test_pdt.view.lkml"
datagroup: default_datagroup {
sql_trigger: SELECT EXTRACT(YEAR FROM CURRENT_DATE());;
max_cache_age: "24 hour"
}
# 依存関係の末端に位置するPDTをexploreとして定義
explore: test_pdt_10 {}
explore: test_pdt_11 {}
- viewファイル(例外的に、1つのviewファイルに複数のviewを定義しています)
view: test_pdt_1 {
derived_table: {
datagroup_trigger: default_datagroup
sql: SELECT
"1" AS id
;;
}
dimension: id {
type: string
sql: ${TABLE}.id ;;
}
}
view: test_pdt_2 {
derived_table: {
datagroup_trigger: default_datagroup
sql: SELECT
id
FROM ${test_pdt_1.SQL_TABLE_NAME}
;;
}
dimension: id {
type: string
sql: ${TABLE}.id ;;
}
}
view: test_pdt_3 {
derived_table: {
datagroup_trigger: default_datagroup
sql: SELECT
id
FROM ${test_pdt_2.SQL_TABLE_NAME}
;;
}
dimension: id {
type: string
sql: ${TABLE}.id ;;
}
}
view: test_pdt_4 {
derived_table: {
datagroup_trigger: default_datagroup
sql: SELECT
id
FROM ${test_pdt_3.SQL_TABLE_NAME}
;;
}
dimension: id {
type: string
sql: ${TABLE}.id ;;
}
}
view: test_pdt_5 {
derived_table: {
datagroup_trigger: default_datagroup
sql: SELECT
"1" AS id
;;
}
dimension: id {
type: string
sql: ${TABLE}.id ;;
}
}
view: test_pdt_6 {
derived_table: {
datagroup_trigger: default_datagroup
sql: SELECT
id
FROM ${test_pdt_5.SQL_TABLE_NAME}
;;
}
dimension: id {
type: string
sql: ${TABLE}.id ;;
}
}
view: test_pdt_7 {
derived_table: {
datagroup_trigger: default_datagroup
sql: SELECT
"1" AS id
;;
}
dimension: id {
type: string
sql: ${TABLE}.id ;;
}
}
view: test_pdt_8 {
derived_table: {
datagroup_trigger: default_datagroup
sql: SELECT
"1" AS id
;;
}
dimension: id {
type: string
sql: ${TABLE}.id ;;
}
}
view: test_pdt_9 {
derived_table: {
datagroup_trigger: default_datagroup
sql: SELECT
id
FROM ${test_pdt_8.SQL_TABLE_NAME}
;;
}
dimension: id {
type: string
sql: ${TABLE}.id ;;
}
}
view: test_pdt_10 {
derived_table: {
datagroup_trigger: default_datagroup
sql: SELECT
${test_pdt_4.SQL_TABLE_NAME}.id AS id
FROM ${test_pdt_4.SQL_TABLE_NAME}
INNER JOIN ${test_pdt_6.SQL_TABLE_NAME} using(id)
INNER JOIN ${test_pdt_7.SQL_TABLE_NAME} using(id)
INNER JOIN ${test_pdt_9.SQL_TABLE_NAME} using(id)
;;
}
dimension: id {
type: string
sql: ${TABLE}.id ;;
}
}
view: test_pdt_11 {
derived_table: {
datagroup_trigger: default_datagroup
sql: SELECT
id
FROM ${test_pdt_1.SQL_TABLE_NAME}
;;
}
dimension: id {
type: string
sql: ${TABLE}.id ;;
}
}
- 依存関係(PowerPointで作成)
22.6からの別タブ表示方法
「管理」➟「永続的な派生テーブル」➟対象のPDTの一番右の「・・・」➟「PDTの詳細」の順番に押す流れはこれまでと変わっていません。
ポップアップで表示された画面の中で「依存関係の図を表示」を推します。これで依存関係を可視化できますが、この状態ではこれまでと変わりません。
ここで、22.6から新しく追加された機能の出番です!!Open dependency graph in new tab
を押すと画面が切り替わり、PDTの依存関係全体を表示してくれます。ここで注意点としては、このリンク先を押す際に別タブで開くようにしないと、Lookerを開いているタブの画面がそのまま依存関係の図に切り替わってしまいます。 「new tab」とあるのですが、Windows10かつGoogle Chromeの場合には普通にクリックしただけでは新しいタブで開きませんでした。
これならば、複数のPDTを用いた依存関係が構築されていても全体を見ることが出来て便利ですよね!
最後に
PDT Dependency Visualizerのアップデートを試してみました。
実は、以前この機能を検証した際に、製品についてのアイデアがありますか?
を使ってすでに存在したリクエストに対してThumbs upボタンを押していたんです。
それが3ヶ月程度で改善されてアップデートされるというのはとても嬉しいですよね!Lookerのエンジニアの皆さんに感謝ですね、ありがとうございます。
今後も、顧客からの強い要望がある機能はすぐにアップデートされることを期待してしまいます。笑