sql_table_name (適用於聯結)

本頁面是指 加入程序中的 sql_table_name 參數。

sql_table_name 也可做為檢視區塊的一部分,詳情請參閱sql_table_name (適用於檢視區塊) 參數說明文件頁面。

sql_table_name 也可做為「探索」的一部分,詳情請參閱「sql_table_name (適用於探索)」參數說明文件頁面。

用量

explore: view_name {
  join: view_name {
    sql_table_name: table_name ;;
  }
}
階層
sql_table_name
預設值

接受
資料庫中的資料表名稱

特別規則
  • sql_table_name 參照的資料表必須可在模型資料庫連線中存取
  • 如果資料表位於與資料庫連線中定義的預設路徑不同的資料庫、結構定義、專案或資料集中,您必須限定資料表名稱的範圍。

定義

通常,join 所依據的檢視畫面會定義要查詢的資料表。

您可以使用 sql_table_name,將資料庫中的資料表設為可供 join 查詢。這種情況並不常見,但如果多個資料表具有相同結構定義,就能派上用場,因為這樣就能使用同一個檢視區塊來描述所有資料表。sql_table_name 可讓您指定要加入檢視區塊的資料表。在這種情況下,請考慮使用 extends精選

設定資料表名稱的範圍

如果只使用資料表名稱參照資料表,Looker 會使用 Looker 管理員在資料庫連線設定中設定的預設搜尋路徑 (資料庫和結構定義)。詳情請參閱本頁的「注意事項」一節。

如需參照不在資料庫使用者預設搜尋路徑中的其他資料庫和結構定義中的資料表,可以使用 <database_name>.<schema_name>.<table_name> 格式設定資料表名稱的範圍,指向其他資料庫或結構定義:

  • 如要參照其他結構定義中的資料表,請使用 <schema_name>.<table_name>,如本頁的範例所示。
  • 如要參照其他資料庫中的資料表,請使用完整 <database_name>.<schema_name>.<table_name>

如果是 Google BigQuery 連線,您可以透過 <project_name>.<dataset_name>.<table_name> 格式設定資料表名稱的範圍,參照不同專案和資料集中的資料表。詳情請參閱「Google BigQuery 連線」說明文件頁面。

範例

這個範例會讓 customers 聯結依附於預設結構定義中的 customer_1 資料表:

explore: orders {
  join: customers {
    sql_table_name: customer_1 ;;
    sql_on: ${order.customer_id} = ${customer.id} ;;
  }
}

這個範例會將資料表名稱範圍限定為包含結構定義名稱 (使用 <schema_name>.<table_name> 格式),藉此讓 customers 聯結依附於 analytics 結構定義中的 customer_1 資料表:

explore: orders {
  join: customers {
    sql_table_name: analytics.customer_1 ;;
    sql_on: ${order.customer_id} = ${customer.id} ;;
  }
}

注意事項

sql_table_name 參照的資料表必須可透過目前的連線存取

join 物件中使用 sql_table_name 參數時,該 join 物件會定義在 explore 物件中,而 explore 物件又包含在 model 物件中。(本頁的「階層」會顯示這個關係鏈。)模型物件中定義了資料庫 connection。在 sql_table_name 參數中參照資料庫資料表時,該資料表必須可在模型檔案中指定的相關聯連線內存取。

預設的資料庫結構定義 (如果是 Google BigQuery,則是帳單專案資料集) 是由 Looker 管理員在建立資料庫的 Looker 連線時定義。

如要為 join 指定與基礎資料表不同的名稱,請在檢視層級套用 sql_table_name

如本頁所述,在 join 層級使用 sql_table_name 較為少見。只有在同一個檢視區塊可說明多個資料表時,才應使用這個參數。

更常見的做法是在檢視層級使用 sql_table_name,為檢視命名,與基礎資料表名稱有所區別。

您應該不會執行下列程式碼:

模型檔案

explore: orders {
  join: customers {
    sql_table_name: customer_1 ;;
    sql_on: ${order.customer_id} = ${customer.id} ;;
  }
}}

請按照下列步驟操作:

模型檔案

explore: orders {
  join: customers {
    sql_on: ${order.customer_id} = ${customer.id} ;;
  }
}

查看檔案

view: customers {
  sql_table_name: customer_1 ;;
}