Perfezionamenti LookML

Panoramica

Con i perfezionamenti LookML, puoi adattare una vista o esplorazione esistente senza modificare il file LookML che la contiene. È la soluzione ideale per:

Ad esempio, se nel tuo progetto è presente il seguente file di visualizzazione:

view: flights {
  sql_table_name: flightstats.accidents ;;

  dimension: id {
    label: "id"
    primary_key: yes
    type: number
    sql: ${TABLE}.id ;;
  }
}

Puoi perfezionare la vista flights come mostrato nell'esempio seguente: utilizza il parametro view con lo stesso nome di vista, ma aggiungi un segno più (+) davanti al nome per indicare che si tratta di un perfezionamento di una vista esistente.

Questo perfezionamento aggiunge una dimensione air_carrier alla vista flights esistente:

view: +flights {
  dimension: air_carrier {
    type: string
    sql: ${TABLE}.air_carrier ;;
  }
 }

Questo perfezionamento può essere inserito in qualsiasi file LookML nel progetto, ad esempio un file del modello, un file di visualizzazione o nel proprio file LookML dedicato. Per informazioni su come funziona, consulta la sezione Utilizzare i perfezionamenti nel progetto LookML.

Il perfezionamento combinato con il LookML originale ha il risultato finale come se questo fosse il LookML originale della vista:

view: flights {
  sql_table_name: flightstats.accidents ;;

  dimension: id {
    label: "id"
    primary_key: yes
    type: number
    sql: ${TABLE}.id ;;
  }

  dimension: air_carrier {
    type: string
    sql: ${TABLE}.air_carrier ;;
  }
}

Nella UI di Looker, gli utenti vedono la dimensione Vettore aereo, proprio come se avessi aggiunto la dimensione al file della vista originale.

Consulta la sezione Esempio per informazioni più dettagliate sull'implementazione.

Perfezionamenti rispetto alle estensioni

Looker supporta anche l'estensione degli oggetti LookML. L'estensione è utile quando vuoi creare una nuova copia di una vista o di un'esplorazione esistente in modo da potervi aggiungere nuovi oggetti. Ad esempio, puoi creare una vista di base che definisce tutti i campi e poi creare più nuove viste che estendono la vista di base. Queste nuove viste possono essere modificate per nascondere determinati campi nella vista di base o per modificare definizioni o etichette dei campi dalla vista base.

I perfezionamenti sono utili quando vuoi modificare una vista o un'esplorazione esistente apportando qualche ritocco o aggiustamento a determinati oggetti, ma non vuoi creare copie della vista o dell'esplorazione. I perfezionamenti sono ideali per le situazioni in cui non puoi o non vuoi modificare la vista di base o l'esplorazione e per quelle in cui la creazione di una nuova vista o esplorazione richiederebbe modifiche significative ad altri riferimenti LookML. Consulta la sezione Esempio di questa pagina per un esempio di questo caso d'uso.

Nella maggior parte dei casi d'uso, i perfezionamenti sono un'alternativa più semplice e chiara a extends.

Gli sviluppatori LookML avanzati possono utilizzare il parametro extends all'interno di un perfezionamento LookML. Per ulteriori informazioni, consulta la sezione I perfezionamenti possono contenere estensioni in questa pagina.

I perfezionamenti hanno la precedenza sulla maggior parte dei parametri

È importante notare che nella maggior parte dei casi un perfezionamento sostituisce le impostazioni originali di un oggetto. Nell'esempio seguente, la vista originale ha una dimensione nascosta (hidden: yes):

view: faa_flights {
  dimension: carrier {
    hidden: yes
  }
}

In un altro file c'è un perfezionamento a quella dimensione con hidden: no:


include: "/views/faa_flights.view.lkml"

view: +faa_flights {
  dimension: carrier {
    hidden: no
  }
}

L'ultimo perfezionamento ha la precedenza, pertanto viene applicato hidden: no e la dimensione verrà mostrata nella visualizzazione finale.

In alcuni casi i perfezionamenti sono additivi anziché sostituirli. Per saperne di più, consulta la sezione Alcuni parametri sono additivi di questa pagina.

Alcuni parametri sono additivi

In molti casi, se il perfezionamento contiene lo stesso parametro dell'oggetto perfezionato, il perfezionamento sostituisce i valori parametro dell'oggetto perfezionato.

Tuttavia, i perfezionamenti possono essere additivi per alcuni parametri, il che significa che i valori dell'oggetto di base vengono utilizzati insieme ai valori dell'oggetto perfezionato.

I seguenti parametri sono additivi:

Ad esempio, ecco una vista con una dimensione name con un parametro link:

view: carriers {
  sql_table_name: flightstats.carriers ;;

  dimension: name {
    sql: ${TABLE}.name ;;
    type: string
    link: {
      label: "Google {{ value }}"
      url: "http://www.google.com/search?q={{ value }}"
      icon_url: "http://google.com/favicon.ico"
    }
  }
}

Ed ecco un perfezionamento della vista carriers, con una dimensione name che ha valori diversi per il parametro link:


include: "/views/carriers.view.lkml"

view: +carriers {
  label: "Refined carriers"

  dimension: name {
    sql: ${TABLE}.name ;;
    type: string
    link: {
      label: "Dashboard for {{ value }}"
      url: "https://docsexamples.dev.looker.com/dashboards/307?Carrier={{ value }}"
      icon_url: "https://www.looker.com/favicon.ico"
    }
  }
}

Nella vista carriers perfezionata, i due parametri link sono cumulativi, perciò la dimensione name mostrerà entrambi i link.

I perfezionamenti vengono applicati in ordine

Un oggetto può essere perfezionato più volte e in più luoghi, il che consente agli sviluppatori di Looker di utilizzare i perfezionamenti in molti modi creativi. Ciò significa anche che gli sviluppatori devono essere molto attenti all'ordine in cui vengono applicati i perfezionamenti:

  • All'interno di un progetto, i perfezionamenti vengono applicati nell'ordine in cui sono inclusi i relativi file. I perfezionamenti dai file inclusi per ultimi sostituiranno i perfezionamenti dai file inclusi in precedenza.
  • All'interno di un singolo file, i perfezionamenti vengono applicati riga per riga crescendo verso il basso. I perfezionamenti con il numero di riga più alto vengono applicati per ultimi e sostituiranno eventuali perfezionamenti precedenti, in caso di conflitti.

Ad esempio, nel seguente file di vista sono presenti due perfezionamenti della vista faa_flights. Il primo perfezionamento nasconde una dimensione (hidden: yes), mentre il secondo perfezionamento mostra la dimensione (hidden: no). In presenza di conflitti di questo tipo, il perfezionamento più in basso nel file ha la precedenza:

include: "//e_faa_original/views/faa_flights.view.lkml"

view: +faa_flights {
  dimension: carrier {
    hidden: yes
  }
}

view: +faa_flights {
  dimension: carrier {
    hidden: no
  }
}

La logica è simile per l'inclusione di più file in un progetto: i perfezionamenti nell'ultimo file elencato tra le opzioni hanno la precedenza. Ad esempio, se un file di modello include questi file:

include: "/refinements/distance_analysis.lkml"
include: "/refinements/finishing_touches.lkml"

Verranno applicati prima tutti i perfezionamenti nel file distance_analysis.lkml, poi verranno applicati tutti i perfezionamenti nel file finishing_touches.lkml. In caso di conflitti, i perfezionamenti nell'ultimo file, finishing_touches.lkml, avranno la precedenza.

Utilizzo di final: yes per impedire ulteriori perfezionamenti

Come descritto in precedenza, lo stesso oggetto può essere perfezionato più volte in più posizioni e l'ultimo perfezionamento sostituirà tutti i perfezionamenti precedenti.

Se hai un perfezionamento che vuoi che venga considerato il perfezionamento finale per la vista o l'esplorazione, puoi aggiungere il flag final: yes al perfezionamento. L'IDE di Looker restituirà un errore LookML se esistono già perfezionamenti che verranno applicati dopo questo perfezionamento finale o se uno sviluppatore cerca di aggiungere un nuovo perfezionamento da applicare dopo questo perfezionamento finale. Ad esempio, il secondo perfezionamento in questo file di visualizzazione creerebbe un errore LookML perché il perfezionamento precedente ha il flag final: yes:

include: "//e_faa_original/views/faa_flights.view.lkml"

view: +faa_flights {
  final: yes
  dimension: carrier {
    hidden: yes
  }
}

view: +faa_flights {
  dimension: carrier {
    hidden: no
  }
}

L'aggiunta del flag final: yes a un perfezionamento è un buon modo per verificare che i perfezionamenti vengano applicati nell'ordine previsto.

I perfezionamenti possono contenere estensioni

Gli sviluppatori LookML avanzati possono utilizzare un parametro extends all'interno di un perfezionamento LookML, che aggiunge l'oggetto esteso all'oggetto da perfezionare.

Per riepilogare il comportamento di extends e i perfezionamenti:

  • L'estensione di un oggetto crea una nuova copia dell'oggetto e ne crea una nuova. Ad esempio, puoi creare una vista di base che definisce tutti i campi e poi creare più nuove viste che estendono la vista di base. Ognuna di queste nuove viste incorpora una copia della vista di base e da lì uno sviluppatore potrà aggiungere diversi campi, filtri o altre proprietà per modificare i contenuti della vista di base. L'idea è di iniziare con un oggetto di base e quindi utilizzarlo in modi diversi in molti altri oggetti. Per informazioni dettagliate sull'utilizzo delle estensioni, consulta la pagina della documentazione Riutilizzo del codice con le estensioni.
  • Il perfezionamento di un oggetto aggiunge un livello di modifiche all'oggetto ma, a differenza dell'estensione, il perfezionamento non crea più copie dell'oggetto. L'idea è creare su un oggetto di base senza modificare il suo LookML originale.

Come esempio di utilizzo standard dei perfezionamenti, ecco un'esplorazione chiamata orders e l'esplorazione +orders che la perfeziona:

explore: orders {
  view_name: orders
  # other Explore parameters
}

explore: +orders {
  label: "Orders Information"
  # other Explore parameters to build on the original Explore
}

Inoltre, puoi aggiungere un perfezionamento che includa un extends. Basandoti sull'esempio, ecco la stessa esplorazione orders. Tuttavia, esiste anche un'esplorazione di base chiamata users_base e ora il perfezionamento +orders ha un parametro extends che aggiunge users_base:


explore: users_base {
  view_name: users
  extension: required
  # other Explore parameters
}

explore: orders {
  view_name: orders
  # other Explore parameters
}

explore: +orders {
  label: "Orders Information"
  extends: [users_base]
  # other Explore parameters to build on the original Explore
}

La cosa speciale qui è che il perfezionamento +orders ha un extends al suo interno. Il risultato è che la vista +orders estenderà l'esplorazione users_base.

In che modo Looker implementa extends all'interno dei perfezionamenti

L'estensione di un oggetto all'interno di un perfezionamento è un concetto LookML avanzato. Prima di utilizzare extends in un perfezionamento, dovresti avere una conoscenza approfondita di quanto segue:

  • In che modo Looker implementa extends: se un elemento LookML è definito sia nell'oggetto estesoed che in quello in cui è presente ing, viene utilizzata la versione nell'oggetto in estensione, a meno che il parametro non sia additivo. Per maggiori dettagli, consulta la pagina della documentazione Riutilizzo del codice con estensioni.
  • In che modo Looker implementa i perfezionamenti: se un elemento LookML viene definito in più perfezionamenti, l'ultimo perfezionamento sostituisce i perfezionamenti precedenti. Per informazioni dettagliate, consulta la sezione I perfezionamenti vengono applicati in ordine in questa pagina.

Infine, dovresti capire in che modo Looker combina questi principi per implementare le extends utilizzate nei perfezionamenti. Ecco l'ordine implementato da Looker, con ogni passaggio che sostituisce la precedente in caso di conflitti:

  1. Valori del valore extends specificato nell'oggetto
  2. Valori da extends specificati nei perfezionamenti dell'oggetto
  3. Valori dell'oggetto
  4. Valori ottenuti dal perfezionamento dell'oggetto

Per spiegare, ecco un esempio che segue il valore del parametro label in ogni passaggio dell'implementazione:

explore: orders_base {
  label: "Orders Base"
  view_name: orders
  extension: required
}

explore: users_base {
  label: "Users Base"
  view_name: users
  extension: required
}

explore: orders {
  label: "Orders"
  extends: [orders_base]
}

explore: +orders {
  label: "Orders Refined"
  extends: [users_base]
}

Ecco come Looker implementa il valore label per l'esplorazione orders in questo esempio:

  1. Valori del valore extends specificato nell'oggetto. Poiché l'esplorazione orders ha un parametro extends, Looker inizia con gli elementi LookML dell'oggetto che viene esteso, in questo caso l'esplorazione orders_base. A questo punto, il valore label è " Orders Base".
  2. Valori del valore extends specificati nei perfezionamenti dell'oggetto. Poiché orders ha un perfezionamento e il perfezionamento ha un parametro extends, Looker applica quindi gli elementi LookML dell'estensione del perfezionamento, che in questo caso è l'esplorazione users_base. A questo punto, il valore label è "Base utenti".
  3. Valori dell'oggetto. Ora che tutte le estensioni sono state gestite, Looker applica gli elementi dell'oggetto in estensione, che in questo caso è l'esplorazione orders. In caso di conflitto, vince l'oggetto che si estende. Ora, il valore di label è "Ordini".
  4. Valori dei perfezionamenti dell'oggetto. Infine, Looker applica gli elementi di eventuali perfezionamenti dell'esplorazione orders. In caso di conflitti, vince l'oggetto di perfezionamento. Ora, il valore label è "Ordini perfezionati".

Il perfezionamento extends è cumulativo

Come descritto nella sezione I perfezionamenti sostituiscono i parametri di questa pagina, i perfezionamenti generalmente sostituiscono le impostazioni originali di un oggetto. Questo non avviene per il parametro extends. Quando extends viene utilizzato in un perfezionamento, il valore del parametro extends viene aggiunto all'elenco degli elementi estesi nell'oggetto originale o nei perfezionamenti precedenti, se presenti. Quindi, in caso di conflitti, viene data la priorità all'ultimo elemento della catena di estensioni.

Ad esempio, ecco un'esplorazione di base chiamata orders_base e un'esplorazione orders che estende la base. Inoltre, sono disponibili un'esplorazione users_base e il perfezionamento +orders che estende users_base:

explore: orders_base {
  view_name: orders
  extension: required
  # other Explore parameters
}

explore: users_base {
  view_name: users
  extension: required
  # other Explore parameters
}

explore: orders {
  extends: [orders_base]
  # other Explore parameters to build on the base Explore
}

explore: +orders {
  extends: [users_base]
  # other Explore parameters to build on the base Explores
}

L'esplorazione orders estende orders_base, poi i perfezionamenti +orders aggiungono users_base all'elenco extends. Il risultato è che l'esplorazione +orders ora estenderà sia orders_base sia users_base, come se si trattasse del LookML originale dell'esplorazione:

explore: orders {
  extends: [orders_base, users_base]
}

Quindi, in caso di conflitti, viene data la priorità all'ultimo elemento della catena di estensioni. In questo esempio, gli elementi in users_base sostituiranno gli eventuali elementi in conflitto in orders_base.

Il concetto di estensione di più di un oggetto alla volta è discusso nella pagina della documentazione Riutilizzare il codice con estensioni.

Un'ultima cosa da notare: in questo esempio, l'ordine dei parametri explore non è importante. Tuttavia, nel caso di più perfezionamenti dello stesso oggetto, l'ordine dei perfezionamenti è importante. Come descritto nella sezione I perfezionamenti vengono applicati in ordine di questa pagina, l'ultimo perfezionamento in un file sostituisce i perfezionamenti precedenti.

Utilizzo dei perfezionamenti nel progetto LookML

Di seguito sono riportate le fasi generali per perfezionare le visualizzazioni e le esplorazioni nel tuo progetto:

  1. Identifica la vista o l'esplorazione che vuoi perfezionare.
  2. Decidi dove vuoi ospitare i perfezionamenti. Puoi aggiungere perfezionamenti in qualsiasi file LookML esistente oppure creare file LookML separati per i perfezionamenti. Consulta la procedura per la creazione di un file di test di dati nella pagina della documentazione Informazioni su altri file di progetto per un esempio di creazione di file LookML generici.
  3. Utilizza il parametro include per incorporare i perfezionamenti nel tuo modello:
    • Nel file in cui scrivi i perfezionamenti, devi includere i file del LookML che stai perfezionando. L'IDE di Looker ti invierà avvisi se tenti di perfezionare un oggetto non incluso.
    • Nel file del modello, includi i file in cui sono definiti i perfezionamenti. Puoi combinare file e utilizzare gli elementi inclusi in modi molto creativi; Per maggiori dettagli, consulta la sezione Utilizzare i perfezionamenti per aggiungere livelli al modello in questa pagina.

Esempio

Il perfezionamento degli oggetti LookML è un modo semplice per adattare viste ed esplorazioni senza dover modificare il LookML originale. Ciò è particolarmente utile quando le viste e le esplorazioni sono di sola lettura nel progetto, ad esempio con file importati da altri progetti. Ecco un esempio di perfezionamento di un'esplorazione.

Ecco il LookML per l'esplorazione aircraft:


explore: aircraft {
  join: aircraft_types {
    type: left_outer
    sql_on: ${aircraft.id} = ${aircraft_types.id} ;;
    relationship: many_to_one
  }

  join: aircraft_engine_types {
    type: left_outer
    sql_on: ${aircraft.id} = ${aircraft_engine_types.id} ;;
    relationship: many_to_one
  }
}

Questa esplorazione contiene diverse visualizzazioni, ciascuna delle quali ha molte dimensioni.

Ora, un altro progetto LookML chiamato e_faa_refined importa il file di esplorazione aircraft. Nel progetto e_faa_refined puoi utilizzare un perfezionamento per semplificare notevolmente l'esplorazione aircraft.

Poiché l'esplorazione aircraft è un file importato, non puoi modificarlo direttamente. In alternativa, puoi aggiungere un perfezionamento. Ecco un esempio di un file separato denominato refinements.lkml che contiene questo LookML:

include: "//e_faa_original/Explores/aircraft.explore.lkml"

explore: +aircraft {
  label: "Aircraft Simplified"
  fields: [aircraft.aircraft_serial, aircraft.name, aircraft.count]
}

Il file refinements.lkml contiene quanto segue:

  • Il parametro include per importare il file aircraft.explore.lkml originale dal progetto importato (consulta la pagina della documentazione Importazione di file da altri progetti per maggiori dettagli su come fare riferimento ai file di progetto importati).
  • Perfezionamenti all'esplorazione aircraft:
    • Il simbolo + davanti al nome dell'esplorazione indica un perfezionamento di un'esplorazione esistente.
    • Il parametro label cambia l'etichetta dell'esplorazione in "Aereo semplificato".
    • Il parametro fields specifica che in Esplora verranno visualizzati solo tre campi.

Il risultato finale è come se si trattasse dell'esplorazione aircraft e della visualizzazione aircraft originali:

explore: aircraft {
  label: "Aircraft Simplified"
  }

view: aircraft {
  sql_table_name: flightstats.aircraft ;;

  dimension: aircraft_serial {
    type: string
    sql: ${TABLE}.aircraft_serial ;;
  }

  dimension: name {
    type: string
    sql: ${TABLE}.name ;;
  }

  measure: count {
    type: count
  }
}

Per un esempio di utilizzo dei perfezionamenti per personalizzare una singola visualizzazione per più casi d'uso, vedi la ricetta del libro di ricette Massimizzare la riusabilità del codice con LookML DRY: personalizzare una singola vista di base per più casi d'uso.

Altri casi d'uso per i perfezionamenti

Come accennato in precedenza, i perfezionamenti sono ideali per adattare oggetti LookML di sola lettura, come Looker Blocks o file importati.

Ma una volta compreso come aggiungere perfezionamenti e includerli nei modelli, puoi ottimizzare i tuoi progetti, come descritto negli esempi di seguito.

Utilizzare i perfezionamenti per aggiungere analisi

Puoi utilizzare i perfezionamenti per aggiungere analisi al modello senza toccare i file LookML originali. Ad esempio, se esiste un progetto in cui le viste e le esplorazioni vengono generate dalle tabelle del tuo database e archiviate in un file LookML denominato faa_basic.lkml, puoi creare un file faa_analysis.lkml in cui utilizzare i perfezionamenti per aggiungere analisi. Ecco un esempio di una nuova tabella derivata chiamata distance_stats che ha un'analisi della distanza. Questo esempio mostra un perfezionamento dell'esplorazione flights esistente dal file faa_basic.lkml che unisce la tabella derivata distance_stats nell'esplorazione flights. Inoltre, in fondo all'esempio, la vista flights esistente è stata perfezionata per aggiungere nuovi campi dall'analisi:

include: "faa_basic.lkml"

explore: +flights {
  join: distance_stats {
    relationship: one_to_one
    type: cross
  }
}

view: distance_stats {
  derived_table: {
    explore_source: flights {
      bind_all_filters: yes
      column: distance_avg {field:flights.distance_avg}
      column: distance_stddev {field:flights.distance_stddev}
    }
  }
  dimension: avg {
    type:number
    sql: CAST(${TABLE}.distance_avg as INT64) ;;
  }
  dimension: stddev {
    type:number
    sql: CAST(${TABLE}.distance_stddev as INT64) ;;
  }
}
view: +flights {
  measure: distance_avg {
    type: average
    sql: ${distance} ;;
  }
  measure: distance_stddev {
    type: number
    sql: STDDEV(${distance}) ;;
  }
  dimension: distance_tiered2 {
    type: tier
    sql: ${distance} ;;
    tiers: [500,1300]
  }
}

Utilizzare i perfezionamenti per aggiungere strati al modello

Un altro caso d'uso interessante per il perfezionamento è l'aggiunta di strati al progetto. Puoi creare più file di perfezionamento e includerli in modo strategico per aggiungere livelli.

Ad esempio, nel progetto FAA è presente un file faa_raw.lkml che contiene tutte le viste e le esplorazioni generate dalle tabelle del tuo database. Questo file contiene una visualizzazione per ogni tabella del database, ciascuna con una dimensione per ciascuna colonna del database.

Oltre al file non elaborato, puoi creare un file faa_basic.lkml per aggiungere un nuovo livello con perfezionamenti di base, come l'aggiunta di join alle esplorazioni o l'aggiunta di misure alle viste, in questo modo:

include: "faa_raw.lkml"

explore: +flights {
  join: carriers {
    sql_on: ${flights.carrier} = ${carriers.name} ;;
  }
}

view: +flights {
  measure: total_seats {
    type: sum
    sql: ${aircraft_models.seats} ;;
  }
}

In seguito, puoi aggiungere un file faa_analysis.layer.lkml per aggiungere un nuovo livello con analisi (consulta la sottosezione Utilizzare i perfezionamenti per aggiungere analisi per un esempio di file di analisi).

Da qui, devi solo includere tutti i file di perfezionamento nel file del modello. Puoi anche utilizzare il file del modello per aggiungere perfezionamenti in modo da puntare le visualizzazioni alle tabelle di database a cui vuoi fare riferimento:

connection: "publicdata_standard_sql"

include: "faa_raw.lkml"
include: "faa_basic.lkml"
include: "faa_analysis.lkml"

view: +flights {
  sql_table_name: lookerdata.faa.flights;;
}
view: +airports {
  sql_table_name: lookerdata.faa.airports;;
}
view: +aircraft {
  sql_table_name: lookerdata.faa.aircraft;;
}
view: +aircraft_models{
  sql_table_name: lookerdata.faa.aircraft_models;;
}
view: +carriers {
  sql_table_name: lookerdata.faa.carriers;;
}

Puoi duplicare questo file del modello e puntare a tabelle di database diverse oppure puoi includere diversi file di perfezionamento che hai creato per definire altri livelli da includere nel modello.

Utilizzo dei perfezionamenti per le PDT

Come descritto nella sezione Perfezionamenti rispetto alle estensioni di questa pagina, un'estensione crea una nuova copia dell'oggetto che viene esteso. Nel caso delle tabelle derivate permanenti (PDT), non devi utilizzare le estensioni, poiché ogni estensione di una PDT crea una nuova copia della tabella nel tuo database.

Tuttavia, puoi aggiungere perfezionamenti alla vista della PDT, poiché i perfezionamenti non creano una nuova copia dell'oggetto che viene perfezionato.

Utilizzo dei metadati per visualizzare i perfezionamenti per un oggetto

Puoi fare clic su un parametro explore o view nell'IDE di Looker e utilizzare il riquadro dei metadati per visualizzare eventuali perfezionamenti sull'oggetto. Per informazioni, consulta la pagina della documentazione Metadati per gli oggetti LookML.

Aspetti da considerare

Progetti con localizzazione

Quando perfeziona un oggetto, tieni presente che le regole di localizzazione si applicano anche ai perfezionamenti. Se stai perfezionando un oggetto e poi definisci nuove etichette o descrizioni, devi fornire definizioni di localizzazione nei file di stringhe di impostazioni internazionali del tuo progetto. Per saperne di più, consulta la pagina della documentazione Localizzazione del modello LookML.