內容驗證

Content Validator 會在 LookML 中搜尋 Looker 內容 (Look 和資訊主頁) 參照的模型、探索和欄位名稱。這個工具可驗證 LookML 參照、修正變更後 LookML 中的錯誤,以及更新專案中 LookML 元素的名稱。

如要使用內容驗證器,必須具備 develop 權限。內容驗證工具會針對您具有 develop 權限的 LookML 專案,驗證所有相關內容。

如要開啟內容驗證器,請在主要導覽面板中,選取「開發」選單中的「內容驗證器」。接著,您可以透過下列兩種方式使用內容驗證器:

使用內容驗證工具前的注意事項

使用內容驗證功能進行變更時,請務必非常小心。內容驗證工具沒有復原功能,而且可能會影響許多 Look 和資訊主頁,以及這些項目的「從這裡探索」連結。如果發生錯誤,請盡快修正,以免後續變更導致難以找出受影響的 Look。

此外,使用內容驗證工具時,也請考量時間。將開發變更推送至正式環境時,您應盡快修正受影響的 Look 和圖塊,盡量縮短中斷時間。如果您根據開發模式中的工作過早修正 Look 和圖塊,在您推送變更前,使用者會看到這些項目損毀。同樣地,如果您在推送變更後很久才修正 Look 和動態磚,使用者會看到 Look 和動態磚顯示錯誤,直到您修正為止。

使用內容驗證工具修正錯誤

內容驗證工具可協助您找出並修正 LookML 變更造成的錯誤。舉例來說,如果將欄位名稱從 customer 變更為 user,任何包含 customer 欄位的 Look 或資訊主頁動態磚都會失效 (除非您使用了 alias 參數)。內容驗證工具會列出所有 customer 欄位的參照,並提供「取代」或「移除」按鈕來修正錯誤。

執行內容驗證器時,系統會驗證 Look 和資訊主頁對 LookML 模型探索檢視區塊欄位的所有參照,並針對內容對不明 LookML 物件的任何參照顯示錯誤。

Content Validator 不會顯示下列錯誤:

  • 已刪除並移至「垃圾桶」的 Look。如要驗證已刪除的 Look,Looker 管理員必須先還原該 Look。
  • 您沒有 develop 權限的 LookML 模型所建立的內容。您只能對有 develop 權限的模型 (您可以在 Looker IDE 中看到這些模型) 內容使用內容驗證器。如要瞭解模型權限,請參閱「角色」說明文件頁面。

執行內容驗證器

執行 Content Validator 時,您可以將驗證範圍限定在特定 LookML 專案和特定內容資料夾 (包括子資料夾,如有)。這有助於提升內容驗證工具的效能。

請注意內容驗證器範圍的下列事項:

  • 如果未指定資料夾或 LookML 專案,驗證作業就不會限定範圍。內容驗證器會驗證所有以您有 develop 權限的模型為基礎的內容。
  • 如果您指定內容資料夾,Content Validator 會對該資料夾和所有子資料夾 (如有) 執行驗證。
  • 如果您指定內容資料夾和一或多個 LookML 專案,系統會同時套用這兩項條件:內容驗證器會將驗證範圍限制為資料夾 (和子資料夾) 中,以您選取的 LookML 專案為基礎的內容。
  • 資訊主頁快訊、資訊主頁排程和 Look 排程不會儲存在內容資料夾中。因此,如果將內容驗證範圍設為資料夾,內容驗證器就不會驗證任何時間表或快訊。
  • 如果您指定 LookML 專案,內容驗證工具會查看指定專案的來源 LookML,以及各專案設定的模型 (您可以在「LookML 專案」頁面查看),判斷專案的相關聯模型。如果模型檔案已從 LookML 專案中刪除,且未顯示為「LookML 專案」頁面上的專案模型,內容驗證器就不會顯示與該刪除模型相關的內容錯誤。

如要執行內容驗證器,請按照下列步驟操作:

  1. 按一下 Looker 主選單圖示,然後選取「開發」,如果「開發」選單尚未顯示。
  2. 選取「開發」選單中的「內容驗證器」
  3. 在內容驗證工具頁面中,按一下「驗證」

    內容驗證器會顯示「選擇要驗證的專案」對話方塊。

  4. 在「選擇要驗證的專案」對話方塊中,執行下列其中一項操作:

    • 如要對所有 LookML 專案執行驗證器,請保留「選取專案」欄位,不要選取任何專案,然後按一下「下一步」
    • 如要對一或多個特定 LookML 專案執行驗證器,請按一下「選取專案」下拉式選單,選取要驗證的專案,然後按一下「下一步」

    內容驗證器會顯示「選擇要驗證的資料夾」對話方塊。

  5. 在「選擇要驗證的資料夾」對話方塊中,執行下列其中一項操作:

    • 如要在所有內容資料夾上執行驗證器,請保留「資料夾」挑選器,不要選取任何資料夾,然後按一下「下一步」
    • 如要在特定內容資料夾 (及其子資料夾,如有) 上執行驗證器,請使用「資料夾」挑選器選取要驗證的資料夾,然後按一下「下一步」

    「Review Selections」對話方塊會顯示您選取要驗證的專案和資料夾。

  6. 在「Review Selections」對話方塊中,按一下「Validate」

Content Validator 會對您指定的內容執行驗證,然後顯示結果。如要瞭解如何查看結果,請參閱「查看內容驗證結果」一節。

查看內容驗證結果

Content Validator 完成驗證後,會顯示錯誤表格。驗證結果會限定在您執行內容驗證器時選取的專案和資料夾。

內容驗證結果會顯示使用不存在或找不到的模型名稱、探索名稱、檢視名稱或欄位名稱的 Looker 內容。如要進一步瞭解 Content Validator 可找出及驗證的 LookML 元素,請參閱「使用 Content Validator 修正錯誤」一節。

驗證結果會根據您執行驗證工具時所處模式的 LookML 而定。如果您處於正式環境模式,驗證結果會反映所有已推送至正式環境的 LookML。如果您處於開發模式,驗證結果會反映您儲存的 LookML,即使 LookML 尚未推送至正式環境也一樣。

錯誤表格會顯示各項錯誤,以及含有錯誤的 Look 和圖塊清單,還有產生錯誤的基礎模型和「探索」。

內容驗證工具視窗顯示驗證結果中的多項錯誤

您可以使用頁面右上方的「依據分組」分頁,變更錯誤表格的版面配置:

  • 錯誤:列出每個錯誤,並將發生錯誤的 Looker 內容歸為一組。如果您想一次修正多個內容中的相同錯誤,這個方法就非常實用。
  • 資料夾:列出每個資料夾,並將有錯誤的 Looker 內容歸類在一起。如果只想修正特定資料夾中的錯誤,這項功能就非常實用。
  • 內容:列出每個有錯誤的內容,並將錯誤歸類。如果您想修正單一 Look、圖塊、篩選器等的所有錯誤,這項功能就非常實用。

內容名稱旁的圖示會指出內容類型:

  • 資訊主頁上的圖塊圖示。 - 資訊主頁圖塊
  • 資訊主頁上的警示圖示。 - 資訊主頁快訊
  • 在資訊主頁或「Look」圖示上安排時間。 - 安排資訊主頁或 Look 圖表的傳送時間
  • 資訊主頁上的篩選器圖示。:資訊主頁的篩選器,或是會監聽資訊主頁篩選器的圖塊欄位 (如要瞭解如何設定圖塊來監聽資訊主頁篩選器,請參閱「新增及編輯使用者定義的資訊主頁篩選器」說明文件頁面)

錯誤可能是因為 LookML 的刻意變更,也可能是因為錯別字或缺少聯結。

視錯誤類型而定,Looker 會在每個資料列中提供「取代」按鈕或「移除」按鈕,或同時提供這兩個按鈕。這些按鈕可修正錯誤,詳情請參閱「使用內容驗證工具修正錯誤」。如要調整錯誤,請使用錯誤表格中每行的「取代」和「移除」按鈕,方法如下:

  • 取代:Looker 會為每個錯誤提供「取代」按鈕 (如要瞭解如何使用內容驗證工具取代名稱,請參閱本頁稍後的「取代欄位、檢視畫面、探索和模型的名稱」一節)。
  • 移除:如果 Look 或圖塊的「資料」部分發生欄位名稱錯誤,Looker 也會顯示「移除」按鈕 (如要瞭解如何使用內容驗證工具移除名稱,請參閱本頁稍後的「移除欄位名稱」一節)。

視「依據分組」設定而定,「取代」和「移除」按鈕會套用至單一項目 (外觀或動態磚),或多個項目:

  • 如果依「錯誤」分組,按鈕會套用至 Looker 執行個體中所有 Look 和動態磚的所有錯誤發生次數,讓您一次修正所有錯誤。
  • 如果依「資料夾」或「內容」分組,按鈕會套用至單一 Look 或圖塊中的一個錯誤,方便您分別處理每個錯誤。

舉例來說,錯誤表格會依「錯誤」分組,並顯示三個含有不明「探索」的內容執行個體,名稱為 customers。這三項內容的建議動作都是「取代」。按一下「取代」,所有含有錯誤 3 x Unknown explore 'customers' 的內容例項都會受到影響。

在某些情況下,內容可能有多項錯誤。舉例來說,錯誤表格會依「內容」分組,並顯示名為「訂單詳細資料」的內容。「錯誤」欄中顯示四個 Unknown field 錯誤,每個錯誤在「動作」欄中都有各自的「取代」和「移除」動作按鈕。

此外,如果依「內容」分組,還可選擇刪除 Look

取代欄位、資料檢視、探索和模型的名稱

內容驗證結果會顯示下列類型元素的「取代」按鈕,方便您重新命名:

如要修正上述任一錯誤,可以使用內容驗證工具,將內容的屬性替換為與發生錯誤的屬性相同或更一般的屬性:

  • 如果某個欄位導致錯誤,您可以替換或移除該欄位,也可以替換檢視區塊、Explore 或模型名稱。
  • 如果探索名稱導致錯誤,您可以替換探索名稱或模型名稱。
  • 如果模型名稱導致錯誤,可以替換模型名稱。

以下說明如何使用內容驗證器,取代模型中的元素名稱:

  1. 按一下「驗證」,執行內容驗證器。
  2. 選取「依據分組」設定,選擇錯誤的分組方式。舉例來說,您可以依「錯誤」分組,以便同時調整多個項目。
  3. 在錯誤表格中,按一下要修正的錯誤旁邊的「取代」按鈕,開啟「在內容中更新」對話方塊。

  4. 在「Update in Content」(在內容中更新) 對話方塊的「Type」(類型) 部分,選取要變更的 LookML 元素類型:欄位、檢視區塊、探索或模型。Looker 會針對每項錯誤顯示適當的選項。

  5. 在「Name」(名稱) 區段中,確認要取代的項目名稱。Content Validator 會自動填入這項資訊。

  6. 在「取代名稱」部分,輸入項目的新名稱。

  7. 如果已依錯誤分組,且有多個項目會受到影響,請按一下「顯示內容」,查看內容驗證工具將更新的項目清單。

  8. 視需要取消勾選清單中的項目,保留原有名稱。

  9. 如要進行這項變更,請按一下「取代」

移除欄位名稱

如果 Look 或圖塊的「資料」部分發生錯誤,錯誤表格會在錯誤右側提供「移除」按鈕。您可以使用內容驗證工具移除下列欄位:

  • 在 Look 或資訊主頁動態磚的「資料」部分
  • 在視覺化設定中參照,例如直條圖「數列」分頁的「自訂」區域
  • 資訊主頁動態磚參照此變數,即可監聽資訊主頁篩選器 (這項設定位於篩選器設定視窗的「要更新的動態磚」分頁,詳情請參閱「新增及編輯使用者定義的資訊主頁篩選器」說明文件頁面)

您無法使用內容驗證器從自訂篩選器自訂欄位表格計算中移除欄位,因為通常需要進行額外變更,才能讓運算式繼續運作。請改用內容驗證錯誤訊息,找出需要修正自訂篩選器、自訂欄位和表格計算運算式的位置,然後視需要修改運算式。

  1. 按一下「驗證」,執行內容驗證器。
  2. 選取「依據分組」設定,選擇錯誤的分組方式。舉例來說,您可以依「錯誤」分組,以便同時調整多個項目 (外觀、圖塊或兩者)。
  3. 在錯誤表格中,按一下要修正的欄位錯誤旁邊的「移除」,開啟「從內容中移除欄位」對話方塊。

  4. 在「Remove Field from Content」(從內容中移除欄位) 對話方塊的「Field」(欄位)部分,確認要移除的項目名稱。Content Validator 會自動填入這項資訊。

  5. 如果已依錯誤分組,且有多個項目 (外觀、圖塊或兩者都有),可以按一下「顯示內容」,查看內容驗證工具將更新的項目清單。

  6. 視需要清除任何 Look 或圖塊旁邊的核取方塊,即可保留其名稱。

  7. 按一下「移除欄位」即可完成變更。

刪除 Look 圖表

如果依內容將錯誤表格分組,您可以選擇刪除表格中的 Look。

如要使用內容驗證工具刪除 Look,請按照下列步驟操作:

  1. 按一下「驗證」,執行內容驗證器。
  2. 依「內容」分組表格。
  3. 在錯誤表格中,按一下要刪除的 Look 或 Looks 旁邊的「選取」方塊。
  4. 按一下錯誤表格頂端的「刪除所有選取的 Look」按鈕。
  5. 在確認方塊中按一下「確定」,即可刪除所選的 Look 或 Look。

使用內容驗證工具尋找及取代

您也可以使用 Content Validator 搜尋及取代模型、探索和欄位的名稱。舉例來說,您可能偏好某個欄位,並想在專案中替換該欄位,即使沒有錯誤也一樣。如需 Content Validator 可搜尋及取代的完整元素清單,請參閱「取代欄位、檢視區塊、探索和模型的名稱」一節。

如要將內容驗證工具做為尋找及取代工具使用,請按照下列步驟操作:

  1. 在內容驗證器畫面中,按一下「在所有內容中尋找及取代」,開啟「在內容中更新」對話方塊。
  2. 選取要變更的 LookML 元素類型 (欄位、檢視區塊、探索或模型)。
  3. 輸入要取代項目的名稱
  4. 輸入欄位、資料檢視、資料探索或模型的替代名稱
  5. 按一下「取代」即可完成變更。

注意事項

請規劃重新執行內容驗證,查看所做修正的結果。

請注意下列內容驗證器相關事項:

  • 您可以變更檢視區塊、探索或模型的名稱,但無法完全移除名稱。如要查看可透過內容驗證器移除的項目清單,請參閱「移除欄位名稱」一節。
  • 表格計算只能參照 Look 或圖塊查詢中包含的欄位。也就是說,如果您從 Look 或圖塊的查詢中移除欄位,但表格計算仍使用該欄位,系統就會顯示新的內容驗證錯誤。
  • 系統不會驗證已刪除並移至「垃圾桶」資料夾的 Look。如要驗證已刪除的 Look,Looker 管理員必須先還原該 Look。
  • 如果您處於開發模式,驗證結果會反映您儲存的 LookML,即使該 LookML 尚未推送至正式環境也一樣。不過,使用內容驗證器所做的任何變更,都會影響以「正式版」模式觀看內容的使用者。建議您先切換至「正式」模式,再執行內容驗證器。