Panoramica
Con i perfezionamenti di LookML, puoi adattare una vista o un'esplorazione esistente senza modificare il file LookML che la contiene. È ideale per:
- Progetti con Looker Blocks, che utilizzano componenti LookML predefiniti
- Progetti che importano file da altri progetti
- Progetti in cui devi spesso generare i file dalle tabelle del database
- Situazioni in cui vuoi condividere il codice LookML tra modelli o progetti e apportare personalizzazioni in ogni posizione (configurazioni hub-and-spoke)
Ad esempio, se nel 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 della 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 visualizzazione flights
esistente:
view: +flights {
dimension: air_carrier {
type: string
sql: ${TABLE}.air_carrier ;;
}
}
Questo perfezionamento può essere inserito in qualsiasi file LookML del progetto, ad esempio un file modello, un file di vista o un 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 fosse il LookML originale per la 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 ;;
}
}
Nell'interfaccia utente di Looker, gli utenti vedranno la dimensione Compagnia aerea, proprio come se avessi aggiunto la dimensione al file della vista originale.
Per informazioni più dettagliate sull'implementazione, consulta la sezione Esempio.
Miglioramenti rispetto agli ampliamenti
Looker supporta anche l'estensione degli oggetti LookML. L'estensione è utile quando vuoi creare una nuova copia di una visualizzazione o di un'esplorazione esistente per poter 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 visualizzazioni possono essere modificate per nascondere determinati campi nella visualizzazione di base o per modificare le definizioni o le etichette dei campi della visualizzazione di base.
I perfezionamenti sono utili quando vuoi modificare una visualizzazione o un'esplorazione esistente con alcune modifiche o aggiustamenti a determinati oggetti, ma non vuoi creare copie della visualizzazione o dell'esplorazione. I perfezionamenti sono ideali per le situazioni in cui non puoi o non vuoi modificare la visualizzazione di base o l'esplorazione e per le situazioni in cui la creazione di una nuova visualizzazione o esplorazione richiederebbe modifiche sostanziali ad altri riferimenti LookML. Per un esempio di questo caso d'uso, consulta la sezione Esempio in questa pagina.
Per la maggior parte dei casi d'uso, i perfezionamenti sono un'alternativa più semplice e chiara a extends
.
Gli sviluppatori LookML avanzati potrebbero voler 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 sostituiscono la maggior parte dei parametri
È importante notare che, nella maggior parte dei casi, un perfezionamento sostituirà 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 è presente un perfezionamento di questa dimensione con hidden: no
:
include: "/views/faa_flights.view.lkml"
view: +faa_flights {
dimension: carrier {
hidden: no
}
}
L'ultimo perfezionamento ha la precedenza, quindi viene applicato hidden: no
e la dimensione viene visualizzata nella visualizzazione finale.
In alcuni casi, i perfezionamenti sono additivi anziché sostituire i valori precedenti. 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 da perfezionare, sostituirà i valori del 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:
Per dimensioni e misure:
Per i parametri:
Per le tabelle derivate:
Per le visualizzazioni:
extends
(per ulteriori informazioni, consulta la sezione I perfezionamentiextends
sono additivi in questa pagina).
Per Esplora:
access_filter
aggregate_table
extends
(per ulteriori informazioni, consulta la sezione I perfezionamentiextends
sono additivi in questa pagina).join
query
Ad esempio, ecco una visualizzazione 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"
}
}
}
Ecco un perfezionamento della visualizzazione 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 visualizzazione carriers
perfezionata, i due parametri link
sono additivi, pertanto la dimensione name
mostrerà entrambi i link.
I perfezionamenti vengono applicati in ordine
Un oggetto può essere perfezionato più volte e in più posizioni, il che consente agli sviluppatori di Looker di utilizzare i perfezionamenti in molti modi creativi. Ciò significa anche che gli sviluppatori devono prestare molta attenzione all'ordine in cui vengono applicati i perfezionamenti:
- All'interno di un progetto, i perfezionamenti vengono applicati nell'ordine in cui i relativi file sono inclusi. I perfezionamenti dei file inclusi per ultimi sostituiranno quelli dei file inclusi in precedenza.
- All'interno di un singolo file, i perfezionamenti vengono applicati riga per riga dal basso verso l'alto. 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 visualizzazione sono presenti due perfezionamenti della visualizzazione faa_flights
. Il primo perfezionamento nasconde una dimensione (hidden: yes
), mentre il secondo la mostra (hidden: no
). In caso di conflitti come questo, ha la precedenza il perfezionamento più in basso nel file:
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 negli elementi inclusi avranno la precedenza. Ad esempio, se un file del modello include questi file:
include: "/refinements/distance_analysis.lkml"
include: "/refinements/finishing_touches.lkml"
Gli eventuali perfezionamenti nel file distance_analysis.lkml
verranno applicati per primi, seguiti da quelli nel file finishing_touches.lkml
. In caso di conflitti, avranno la precedenza i perfezionamenti nell'ultimo file, finishing_touches.lkml
.
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'affinamento che vuoi considerare l'affinamento finale per la visualizzazione o l'esplorazione, puoi aggiungere il flag final: yes
all'affinamento. L'IDE di Looker restituirà un errore di LookML se esistono perfezionamenti esistenti che verranno applicati dopo questo perfezionamento finale o se uno sviluppatore tenta di aggiungere un nuovo perfezionamento che verrà applicato dopo questo perfezionamento finale. Ad esempio, il secondo perfezionamento in questo file di visualizzazione creerebbe un errore di 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 che intendi.
I perfezionamenti possono contenere estensioni
Gli sviluppatori LookML avanzati potrebbero voler utilizzare un parametro extends
all'interno di un perfezionamento di LookML, che aggiunge l'oggetto esteso all'oggetto sottoposto a perfezionamento.
Per riepilogare il comportamento di extends
e dei perfezionamenti:
- L'estensione di un oggetto ne crea una nuova copia e poi la basa su di essa. 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 visualizzazioni incorporerà una copia della visualizzazione di base, da cui uno sviluppatore può aggiungere diversi campi, filtri o altre proprietà per modificare i contenuti della visualizzazione di base. L'idea è che tu inizi con un oggetto di base e poi lo utilizzi in diversi modi in più oggetti. Per una discussione completa sull'utilizzo di extends, consulta la pagina della documentazione Riutilizzo del codice con extends.
- La raffinazione di un oggetto aggiunge un livello di modifiche all'oggetto, ma, a differenza dell'estensione, non crea più copie dell'oggetto. L'idea è creare un oggetto base senza modificare il relativo LookML originale.
Come esempio di utilizzo standard dei perfezionamenti, ecco un'esplorazione denominata 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
. Facendo riferimento all'esempio, ecco la stessa esplorazione orders
. Inoltre, esiste un'esplorazione di base chiamata users_base
e ora il perfezionamento +orders
ha un parametro extends
che inserisce 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 particolarità è che il perfezionamento +orders
contiene un extends
. Di conseguenza, la visualizzazione +orders
ora estenderà la scheda Esplora users_base
.
Come Looker implementa extends
all'interno dei perfezionamenti
L'estensione di un oggetto all'interno di un perfezionamento è un concetto di LookML avanzato. Prima di utilizzare extends
in un perfezionamento, devi avere una conoscenza approfondita di quanto segue:
- Come Looker implementa
extends
: se un elemento LookML è definito sia nell'oggetto esteso sia nell'oggetto di estensione, viene utilizzata la versione nell'oggetto di estensione, a meno che il parametro non sia additivo. Per maggiori dettagli, consulta la pagina della documentazione Riutilizzo del codice con extends. - Come Looker implementa i perfezionamenti: se un elemento LookML è definito in più perfezionamenti, l'ultimo perfezionamento sostituisce i perfezionamenti precedenti. Per maggiori dettagli, consulta la sezione I perfezionamenti vengono applicati in ordine in questa pagina.
Infine, devi capire in che modo Looker combina questi principi per implementare extends
utilizzato nei perfezionamenti. Ecco l'ordine implementato da Looker, con ogni passaggio che sostituisce il precedente in caso di conflitti:
- Valori dell'elemento
extends
specificato nell'oggetto - Valori di
extends
specificati nei perfezionamenti dell'oggetto - Valori dell'oggetto
- Valori delle perfezionamenti dell'oggetto
Per esemplificare, di seguito è riportato un esempio che segue il valore del parametro label
in ogni fase 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:
- Valori del
extends
specificato nell'oggetto. Poiché l'esplorazioneorders
ha un parametroextends
, Looker inizia con gli elementi LookML dell'oggetto che viene esteso, in questo caso l'esplorazioneorders_base
. A questo punto, il valorelabel
è "Orders Base". - Valori di
extends
specificati nei perfezionamenti dell'oggetto. Poichéorders
ha un'affinamento e l'affinamento ha un parametroextends
, Looker applica gli elementi LookML dall'estensione dell'affinamento, che in questo caso è l'esplorazioneusers_base
. A questo punto, il valorelabel
è "Base utenti". - Valori dell'oggetto. Ora che tutte le estensioni sono state affrontate, Looker applica gli elementi dell'oggetto esteso, che in questo caso è l'esplorazione
orders
. In caso di conflitti, l'oggetto che estende ha la precedenza. Ora il valorelabel
è "Ordini". - Valori provenienti dai perfezionamenti dell'oggetto. Infine, Looker applica gli elementi di eventuali perfezionamenti dell'esplorazione
orders
. In caso di conflitti, l'oggetto di perfezionamento ha la precedenza. Ora il valorelabel
è "Ordini perfezionati".
I perfezionamenti extends
sono cumulativi
Come descritto nella sezione Parametri di override dei perfezionamenti di questa pagina, in genere i perfezionamenti sostituiscono le impostazioni originali di un oggetto. Non è così per il parametro extends
. Quando extends
viene utilizzato in un perfezionamento, il valore nel parametro extends
viene aggiunto all'elenco di elementi estesi nell'oggetto originale o, se presenti, nei perfezionamenti precedenti. In caso di conflitti, la priorità viene assegnata all'ultimo elemento della catena di estensioni.
Ad esempio, di seguito è riportata un'esplorazione di base chiamata orders_base
e un'esplorazione orders
che espande la base. Inoltre, è presente un'esplorazione users_base
e il perfezionamento +orders
che estendono 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
}
La ricerca orders
estende orders_base
, mentre i perfezionamenti +orders
aggiungono users_base
all'elenco extends
. Il risultato è che l'esplorazione +orders
ora estenderà sia orders_base
che users_base
, come se si trattasse del codice LookML originale per l'esplorazione:
explore: orders {
extends: [orders_base, users_base]
}
In caso di conflitti, la priorità viene assegnata all'ultimo elemento della catena di estensioni. In questo esempio, gli elementi in users_base
sostituiscono gli elementi in conflitto in orders_base
.
Il concetto di estensione di più oggetti alla volta è descritto nella pagina della documentazione Riutilizzo del codice con extends.
Un'ultima cosa da notare: in questo esempio, l'ordine dei parametri explore
non è importante. Tuttavia, nei casi in cui sono presenti 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.
Utilizzare i perfezionamenti nel progetto LookML
Ecco i passaggi generali per perfezionare le visualizzazioni e le esplorazioni nel tuo progetto:
- Identifica la visualizzazione o l'esplorazione che vuoi perfezionare.
- Decidi dove vuoi conservare i perfezionamenti. Puoi aggiungere perfezionamenti in qualsiasi file LookML esistente oppure creare file LookML separati per i perfezionamenti. Per un esempio di creazione di file LookML generici, consulta la procedura per la creazione di un file di test dei dati nella pagina della documentazione Informazioni su altri file di progetto.
- Utilizza il parametro
include
per incorporare le perfezionamenti nel modello:- Nel file in cui scrivi le perfezionamenti, devi includere i file del LookML che stai perfezionando. L'IDE di Looker ti invierà avvisi se provi a perfezionare un oggetto non incluso.
- Nel file del modello, includi i file in cui sono definiti i perfezionamenti. Puoi combinare i file e utilizzare le inclusioni in modi molto creativi. Per maggiori dettagli, consulta la sezione Utilizzare i perfezionamenti per aggiungere livelli al modello in questa pagina.
Esempio
Per affinare gli oggetti LookML è un modo semplice per adattare le viste e le esplorazioni senza dover modificare il codice LookML originale. Questa opzione è particolarmente utile quando le viste e le esplorazioni sono di sola lettura nel progetto, ad esempio con i file importati da altri progetti. Ecco un esempio di perfezionamento di un'esplorazione.
Ecco il codice 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, ognuna con molte dimensioni.
Ora un altro progetto LookML denominato 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 modificarla direttamente. In alternativa, puoi aggiungere un perfezionamento. Ecco un esempio di 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 fileaircraft.explore.lkml
originale dal progetto importato (consulta la pagina della documentazione Importazione di file da altri progetti per informazioni dettagliate su come fare riferimento ai file del progetto importati). - Perfezionamenti a Esplora
aircraft
:
Il risultato finale è come se si trattasse della visualizzazione aircraft
Esplora e aircraft
originale:
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 vista per più casi d'uso, consulta la ricetta del ricettario Massimizzare la riutilizzabilità del codice con DRY LookML: personalizzazione di 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 gli oggetti LookML di sola lettura, come i blocchi di Looker o i file importati.
Tuttavia, una volta acquisita dimestichezza con l'aggiunta di perfezionamenti e la loro inclusione nei modelli, puoi fare cose molto interessanti con i tuoi progetti, come descritto nei seguenti esempi.
Utilizzare i perfezionamenti per aggiungere analisi
Puoi utilizzare i perfezionamenti per aggiungere analisi al modello senza modificare i file LookML originali. Ad esempio, se esiste un progetto in cui le visualizzazioni 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 denominata distance_stats
con un'analisi della distanza. Questo esempio mostra un perfezionamento dell'esplorazione flights
esistente del file faa_basic.lkml
che unisce la tabella derivata distance_stats
all'esplorazione flights
. Inoltre, nella parte inferiore dell'esempio, la visualizzazione flights
esistente viene 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 livelli al modello
Un altro caso d'uso interessante per i perfezionamenti è l'aggiunta di livelli al progetto. Puoi creare più file di perfezionamento e poi includerli in modo strategico per aggiungere livelli.
Ad esempio, nel progetto FAA è presente un file faa_raw.lkml
contenente tutte le visualizzazioni ed esplorazioni generate dalle tabelle del database. Questo file contiene una vista per ogni tabella del database, ciascuna con una dimensione per ogni colonna del database.
Oltre al file non elaborato, puoi creare un file faa_basic.lkml
per aggiungere un nuovo livello con perfezionamenti di base, ad esempio l'aggiunta di join alle esplorazioni o di misure alle visualizzazioni, come mostrato di seguito:
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} ;;
}
}
Puoi quindi aggiungere un file faa_analysis.layer.lkml
per aggiungere un nuovo livello con le analisi (consulta la sottosezione Utilizzare i perfezionamenti per aggiungere analisi per un esempio di file di analisi).
A questo punto, devi solo includere tutti i file di perfezionamento nel file del modello. Puoi anche utilizzare il file del modello per aggiungere perfezionamenti per indirizzare le viste 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 indirizzarlo a tabelle di database diverse oppure includere diversi file di perfezionamento che hai creato per definire altri livelli nel modello.
Utilizzare i perfezionamenti per i PDT
Come descritto nella sezione Miglioramenti rispetto a estende di questa pagina, un'estensione crea una nuova copia dell'oggetto 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 database.
Tuttavia, puoi aggiungere perfezionamenti alla visualizzazione del PDT, poiché i perfezionamenti non creano una nuova copia dell'oggetto da perfezionare.
Utilizzare i metadati per visualizzare i perfezionamenti di 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 dell'oggetto. Per informazioni, consulta la pagina della documentazione Metadati per gli oggetti LookML.
Aspetti da considerare
Progetti con localizzazione
Quando perfezioni 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 le definizioni di localizzazione nei file di stringhe internazionali del progetto. Per ulteriori informazioni, consulta la pagina della documentazione Localizzazione del modello LookML.