Dettagli conversione oggetto
Ultimo aggiornamento: 14/10/2026QV2QS gestisce una serie di funzionalità specifiche di QlikView durante la conversione.
Espressioni
QV2QS passa le espressioni di QlikView a Qlik Sense con una trasformazione minima. Il linguaggio delle espressioni è ampiamente condiviso tra QlikView e Qlik Sense, quindi la maggior parte delle espressioni funziona senza modifiche.
QV2QS applica le seguenti trasformazioni:
- Prefisso uguale a — Qlik Sense richiede un
=iniziale nelle espressioni di misura e in determinate espressioni di proprietà. QV2QS aggiunge il prefisso ove richiesto se l'espressione QlikView originale non ne include uno. - Rimozione dei commenti — I commenti a riga intera che iniziano con
//,#oREMvengono rimossi dalle espressioni inline. Le espressioni di proprietà di Qlik Sense non supportano in modo coerente la sintassi dei commenti, quindi la rimozione previene errori di valutazione. Commenti a blocco (/* */) non vengono rimossi. I commenti in linea//all'interno di una riga di codice non vengono anch'essi rimossi.
Le seguenti funzionalità di espressione vengono passate verbatim e funzionano in Qlik Sense senza modifiche:
- Espressioni di analisi set (ad esempio,
{<Year={2024}>}) - Espansione del segno del dollaro e riferimenti a variabili (ad esempio,
$(vMyVar)) - Annidate
Aggr()espressioni If()espressioni, incluse le espressioni di formattazione condizionalePick(),Match()eDual()modelli- Dimensioni calcolate
Virgolettatura dell'analisi Set
QlikView (prima di novembre 2017) trattava i valori racchiusi tra virgolette singole nei modificatori di set come ricerche senza distinzione tra maiuscole e minuscole, identiche ai valori racchiusi tra virgolette doppie. Qlik Sense tratta i valori racchiusi tra virgolette singole come letterali con distinzione tra maiuscole e minuscole. Questa differenza può interrompere le espressioni che si basano su caratteri jolly, operatori di confronto o corrispondenze numeriche all'interno di virgolette singole.
QV2QS analizza tutte le espressioni oggetto e le definizioni di variabile per i modelli di quotatura dell'analisi set che si comportano in modo diverso in Qlik Sense. I modelli rilevati includono caratteri jolly tra virgolette singole ('*US*'), operatori di confronto tra virgolette singole ('>=5'), valori tra virgolette singole su campi numerici e valori stringa nudi senza virgolette. I risultati appaiono nel foglio di lavoro Expression_Findings del report Excel.
QV2QS corregge automaticamente i valori di ricerca tra virgolette singole durante la conversione. Una correzione sperimentale per valori stringa nudi non quotati è anche disponibile ma disabilitata per impostazione predefinita.
- Valori di ricerca tra virgolette singole (abilitati per impostazione predefinita) vengono convertiti in virgolette doppie:
{<Country={'*US*'}>}diventa{<Country={"*US*"}>}. I modelli di ricerca rilevati includono caratteri jolly (*,?,^), operatori di confronto, ricerca fuzzy (~), ricerca di espressioni (=), modificatori di ricerca (+,-) e ricerca composta. Valori tra virgolette singole su campi numerici che non contengono sintassi di ricerca vengono contrassegnati per la revisione manuale ma non corretti automaticamente. - Valori stringa nudi senza virgolette (sperimentale, disabilitato per impostazione predefinita) sono racchiusi tra virgolette singole:
{<Country={USA}>}diventa{<Country={'USA'}>}. Passa--fixUnquotedSetValuesper abilitare.
Le correzioni vengono applicate utilizzando la sostituzione posizionale solo all'interno di elenchi di valori di modificatori impostati. I nomi dei campi, i nomi delle funzioni e altro testo di espressione non vengono mai modificati. I due fix sono controllati indipendentemente. Passa --noFixSingleQuotedSearch per disabilitare la correzione delle virgolette singole. I rilevamenti di funzioni non supportate non vengono modificati.
Il foglio di lavoro Espressione_Rilievi e la dashboard del riepilogo esecutivo includono una colonna Origine che indica se ogni rilievo proviene da una definizione di variabile o da un'espressione di oggetto grafico. Una colonna Stato indica se il rilevamento è stato corretto automaticamente, richiede una revisione manuale o non ha una correzione automatica disponibile.
Per l'elenco completo dei modelli rilevati, vedere Analisi. Per il riferimento alla sintassi dell'analisi set, vedere Analisi set nella guida di Qlik Cloud.
QV2QS scansiona tutti i campi di espressione (dimensioni, misure, condizioni di visualizzazione, espressioni di colore, titoli, condizioni di calcolo e altro), nonché le definizioni di variabile e lo script di caricamento per funzioni non supportate. Le istanze rilevate sono elencate nel rapporto di analisi.
Le seguenti funzioni specifiche di QlikView non sono disponibili in Qlik Sense:
GetCurrentField,GetExtendedPropertyInput,InputSum,InputAvgMsgBoxImage_SizeNoOfReports,ReportComment,ReportId,ReportName,ReportNumber
Per l'elenco dei modelli di script di caricamento rilevati, consultare Analisi.
Formattazione numeri
QV2QS converte le definizioni del formato numero di QlikView in tipi di formato numero di Qlik Sense. Il tipo di formato viene mappato all'equivalente di Qlik Sense, e la stringa di formato personalizzato (Fmt), il separatore decimale, il separatore delle migliaia e la precisione decimale vengono tutti conservati integralmente. Stringhe di formato personalizzate come #,##0.00;(#,##0.00) o '$'#,##0 vengono passate così come sono nel campo qFmt.
I seguenti tipi di formato QlikView sono mappati:
| QlikView tipo | Qlik Sense tipo |
|---|---|
| FISSO, REALE, INTERO | Fisso (F) |
| MONEY | Denaro (M) |
| DATE | Data (D) |
| TIME | Tempo (T) |
| TIMESTAMP | Timestamp (TS) |
| INTERVAL | Intervallo (IV) |
Ordinamento
QV2QS converte tutti i criteri di ordinamento di QlikView in equivalenti di Qlik Sense. Le seguenti impostazioni di ordinamento sono mappate uno a uno: ordina per stato, ordina per frequenza, ordina per valore numerico, ordina per ordine alfabetico, ordina per ordine di caricamento, ordina per espressione (incluso il testo dell'espressione) e ordina per grigio.
Per i campi listbox, QV2QS applica un'euristica aggiuntiva per sopprimere l'ordinamento basato sullo stato sui campi simili a date. Per i dettagli, vedere Riferimento argomenti.
Indicatori visivi e colorazione condizionale
Gli indicatori visivi di QlikView (colori condizionali basati su soglia sulle misure) vengono convertiti in espressioni di colore di Qlik Sense per visualizzazioni di tabelle e tabelle pivot. QV2QS genera espressioni If() annidate con RGB() o ARGB() funzioni colore che replicano l'originale comportamento della soglia bassa/normale/alta. Vengono convertiti sia i segnali cromatici del testo che quelli dello sfondo. Indicatori visivi nelle visualizzazioni del grafico (grafico a barre, grafico lineare, grafico combinato e altri) non vengono convertiti.
Colorazione basata su espressioni
QV2QS converte le espressioni di colore per dimensione e per misura (colore di sfondo e colore del testo) in espressioni attributo di Qlik Sense. Per le visualizzazioni di tabella e tabella pivot, vengono mantenute sia le espressioni per il colore di sfondo che quelle per il testo (cellBackgroundColor e cellForegroundColor). Per le visualizzazioni del grafico, le espressioni del colore di sfondo delle misure vengono convertite in modalità colorByExpression. Espressioni colore dimensione e espressioni colore testo misura non vengono convertite per i tipi di grafico perché i grafici di Qlik Sense non supportano espressioni attributo colore per dimensione o attributi colore testo per misura.
Per le visualizzazioni tabella e tabella pivot, se non esiste alcuna espressione di colore esplicita su una misura ma sono definite delle indicazioni visive, QV2QS genera automaticamente un'espressione di colore dalle soglie delle indicazioni visive.
Linee di tendenza
Le linee di tendenza di QlikView sulle misure del grafico vengono convertite in linee di tendenza di Qlik Sense. Sono supportati i seguenti tipi di linea di tendenza:
- Media, Lineare, Esponenziale, Logaritmica, Potenza
- Polinomio (grado 2, 3 e 4)
Linee di riferimento
Le linee di riferimento di QlikView sugli assi del grafico vengono convertite in linee di riferimento di Qlik Sense. L'etichetta, l'espressione del valore, il colore, lo stile della linea e la condizione di visualizzazione (espressione di visibilità condizionale) sono conservati. Se una linea di riferimento non ha una condizione di visualizzazione, la visibilità predefinita è sempre mostrata. I grafici combinati supportano linee di riferimento sia sull'asse primario che su quello secondario.
Assegnazione assi grafico combinato
QV2QS conserva le assegnazioni degli assi del grafico combinato di QlikView. Ogni misura mantiene l'associazione all'asse primario o secondario dal grafico QlikView originale. I tipi di serie delle misure (barra, linea, indicatore) sono anch'essi preservati.
Gruppi di dimensioni
QV2QS converte i gruppi ciclici e i gruppi di drill-down di QlikView in dimensioni master di Qlik Sense. I gruppi ciclici diventano dimensioni master cicliche. I gruppi di drill-down diventano dimensioni master di drill-down. I grafici che fanno riferimento a una dimensione di gruppo sono collegati alla dimensione master corrispondente nell'app convertita.
Gestione dei font
Qlik Sense supporta un set fisso di font web-safe. QV2QS mappa i font di QlikView al font di Qlik Sense più vicino disponibile. I font che non possono essere mappati utilizzano il font di fallback (Source Sans Pro).
I seguenti caratteri QlikView hanno mappature esplicite:
| Carattere QlikView | Carattere di Qlik Sense |
|---|---|
| Arial, Helvetica, Tahoma, Calibri | Source Sans Pro |
| Segoe UI | Inter |
| Verdana | Open Sans |
| Times New Roman, Times, Georgia | PT Serif |
| Courier New, Consolas | Source Sans Pro |
Caratteri personalizzati non presenti nella libreria di caratteri di Qlik Sense vengono mappati a Source Sans Pro.
I font monospazio (Courier New, Consolas) sono mappati al font proporzionale Source Sans Pro. L'allineamento del carattere monospace non viene mantenuto.
Variabili di sistema
QV2QS esclude le variabili di sistema dall'elenco delle variabili convertite. Queste variabili sono gestite dal motore Qlik e non devono essere incluse in variables.json. Esempi includono DateFormat, ThousandSep, DecimalSep, TimestampFormat, ErrorMode, e NullDisplay.
Le variabili di sistema che sono state impostate esplicitamente nello script di caricamento (ad esempio, SET DateFormat='YYYY-MM-DD';) vengono conservate nello script di caricamento e hanno effetto durante il ricaricamento. L'esclusione si applica solo alle definizioni di variabili nell'app convertita, non a SET o LET istruzioni nello script di caricamento.
Le variabili definite dall'utente vengono convertite.
Modalità a traliccio
I grafici QlikView con la modalità trellis abilitata (EnablePrimaryDimension) utilizzano la prima dimensione come campo di faceting per visualizzare una griglia di mini-grafici. Qlik Sense non dispone di una modalità trellis nativa sui grafici standard. QV2QS converte automaticamente i grafici a traliccio utilizzando l'estensione contenitore a traliccio di Qlik Sense (qlik-trellis-container) dal Visualization Bundle.
Durante la conversione, QV2QS esegue i seguenti passaggi:
- Crea una visualizzazione principale — Il grafico originale viene convertito senza le dimensioni del trellis. Per traliccio solo primario, dimensione 0 viene rimossa. Quando è abilitato anche il trellis secondario, le dimensioni 0 e 1 vengono entrambe rimosse. Il restante grafico viene salvato come una visualizzazione principale nell'app.
- Crea un contenitore a traliccio — Un oggetto
qlik-trellis-containerviene posizionato sul foglio nella posizione originale del grafico. Il contenitore fa riferimento alla visualizzazione principale e utilizza le dimensioni rimosse come campi di facet nella sua definizione dei dati. Quando sia il trellis primario che quello secondario sono abilitati, la definizione dei dati del contenitore contiene due dimensioni di facet. - Configura la griglia — Le impostazioni di colonna e riga di QlikView vengono mappate al conteggio delle colonne del contenitore trellis e al conteggio massimo dei grafici. Il numero massimo di grafici è calcolato come colonne moltiplicate per righe. Quando la cardinalità delle dimensioni di faceting supera la dimensione della griglia, QV2QS aumenta il conteggio massimo dei grafici per accogliere tutti i valori delle dimensioni. Per il trellis secondario, la cardinalità totale è il prodotto delle cardinalità delle dimensioni primaria e secondaria. Il valore viene arrotondato per eccesso al multiplo più vicino del numero di colonne in modo che la griglia si riempia uniformemente. Questa espansione è registrata come una rettifica del grafico.
Il contenitore a traliccio utilizza la stessa mappatura qv_id del grafico originale, quindi occupa la stessa posizione sul foglio.
Il trellis con solo primario richiede almeno due dimensioni (una per la sfaccettatura del trellis e una per il grafico principale). Il trellis primario più secondario richiede almeno tre dimensioni (due per la sfaccettatura del trellis e una per il grafico principale). Grafici con meno dimensioni del necessario vengono saltati.
Misura dell'accumulo
L'accumulazione delle misure di QlikView (totali progressivi) viene convertita in modificatori di accumulazione di Qlik Sense. Sono supportate le seguenti modalità di accumulo:
- Accumulazione completa — L'espressione della misura viene riscritta utilizzando
RangeSum()conAbove()eRowNo()per produrre un totale progressivo su tutte le righe. Il modificatorefullAccumulationflag è impostato sutruecon un valorestepsdi 6. - Accumulo di passaggi — Quando il conteggio dei passaggi di accumulo di QlikView è maggiore di 1, l'espressione della misura utilizza
RangeSum()conAbove()e il conteggio dei passaggi specificato. Il modificatorefullAccumulationflag è impostato sufalse.
L'espressione di accumulo generata si adatta al tipo di campo dimensione:
- Dimensioni numeriche — Imposta i limiti di analisi usando
Min()eMax()per il campo. - Dimensioni testo — Imposta i limiti di analisi usando
MinString()eMaxString()per il campo. - Grafici bidimensionali — Un
Aggr()wrapper viene generato per annidare l'accumulo all'interno del contesto della dimensione esterna.
Quando viene applicata l'accumulazione, QV2QS disabilita la modalità asse continuo (preferContinuousAxis=false) e imposta nullMode su connect per garantire una corretta rappresentazione visiva. L'espressione e l'etichetta della misura originali sono conservate nella proprietà base del modificatore.
Contenitori a schede
QV2QS converte i contenitori a schede QlikView utilizzando tre strategie a seconda della configurazione e del contesto del contenitore. In tutti i casi, gli oggetti figlio rimangono sullo stesso foglio Qlik Sense del contenitore.
- Contenitore a schede — I contenitori autonomi a più schede che non si sovrappongono ad altri oggetti vengono convertiti in contenitori a schede nativi di Qlik Sense (
sn-tabbed-container). Ogni elemento della scheda diventa una scheda all'interno del contenitore. L'ordine di tabulazione segue l'ordine originale dei membri di QlikView. - Pseudo-schede — Quando un contenitore a più schede si sovrappone ad altri oggetti o è annidato all'interno di un altro contenitore, QV2QS appiattisce le schede in un contenitore di layout. Viene generata una striscia di pulsanti con un
action-buttonper scheda. Ogni pulsante imposta una variabile di navigazione utilizzando un'SetVariableazione. Le condizioni di visualizzazione sugli oggetti figlio (ad esempio,=If('$(vCT01Tab)'='1',1,0)) controllano quale contenuto della scheda è visibile. Solo una scheda è visibile alla volta. La striscia di pulsanti riproduce il comportamento di cambio scheda del contenitore QlikView originale. - Contenitore layout — I contenitori in modalità griglia vengono convertiti in contenitori layout (
sn-layout-container).
I contenitori a oggetto singolo sono semplificati. Nessuna barra delle schede o variabile viene creata. L'oggetto figlio singolo è posizionato direttamente nella posizione del contenitore con la condizione di visualizzazione del contenitore applicata.
I contenitori annidati sono supportati fino a una profondità di 8 livelli. QV2QS rileva i cicli e interrompe la ricorsione se un contenitore crea un riferimento circolare.
Le condizioni di visualizzazione sul contenitore e sui singoli oggetti figlio sono composte usando l'AND logico. Un oggetto figlio è visibile solo quando la condizione del contenitore, la condizione della variabile della scheda e la condizione dell'oggetto figlio risultano tutte vere.
Mostra condizioni
Le condizioni di visualizzazione di QlikView sui singoli oggetti vengono mantenute. Qlik Sense non supporta condizioni di visualizzazione direttamente sugli oggetti di visualizzazione. QV2QS racchiude gli oggetti che hanno condizioni di visualizzazione in un contenitore di layout a figlio singolo e applica la condizione come una condition voce sul contenitore. Gli oggetti già all'interno di un layout contenitore (a causa della sovrapposizione) ricevono la condizione sull'ingresso del contenitore direttamente.
Quando una condizione di visualizzazione risulta falsa, il layout contenitore rimane nella posizione della griglia ma non visualizza alcun contenuto. Il contenitore nascosto non collassa né provoca il ridisporre degli oggetti adiacenti. Sia in modalità griglia dinamica che in modalità tela fissa, l'oggetto nascosto lascia uno spazio vuoto nella posizione originale. Il comportamento dello spazio vuoto corrisponde a QlikView, dove gli oggetti nascosti lasciano anche spazio vuoto.
Stati alternativi
QV2QS preserva assegnazioni di stato alternative. Gli oggetti associati a uno stato alternativo in QlikView mantengono la stessa associazione di stato in Qlik Sense. I nomi degli stati vengono conservati esattamente. QV2QS crea gli stati alternati richiesti nell'app Qlik Cloud durante la distribuzione. Riferimenti a stati alternati all'interno di espressioni di analisi set (ad esempio, {[State2]<Year={2024}>}) vengono passati così come sono e funzionano in Qlik Sense senza modifiche.
In modalità solo locale (--unbuildOnly), i nomi degli stati alternativi vengono scritti in cloud/alternate_states.json nella sottocartella del progetto (ad esempio, <outputDir>/Sales/cloud/alternate_states.json). Gli stati devono essere creati manualmente o tramite lo qlik app build strumento quando si distribuisce l'output a un tenant di Qlik Cloud.
Azioni oggetto
QV2QS converte le azioni su pulsanti (BU, BT) e oggetti di testo (TX). Gli oggetti di testo che contengono azioni vengono promossi a pulsanti di azione (action-button). I tipi di azione supportati includono la navigazione, SetVariable, SelectField, e altri documentati in Risultati della conversione.
Azioni su altri tipi di oggetto (grafici, caselle di riepilogo, dispositivi di scorrimento e contenitori) non vengono convertite. QlikView supporta OnActivate azioni su qualsiasi tipo di oggetto, ma QV2QS analizza le azioni solo dall'XML degli oggetti pulsante e testo. Azioni non-macro (SetVariable, SelectField, navigazione) allegate a grafici, caselle di riepilogo o altri oggetti non-pulsante vengono eliminate durante la conversione e non compaiono nel rapporto di conversione. Per trovare le azioni eliminate, cercare nei file XML PRJ gli elementi <Actions> nelle definizioni di oggetti non-pulsante.
Lo scanner di gap rileva le invocazioni di macro su tutti i tipi di oggetto a scopo di reporting. I riferimenti incrociati delle macro nel foglio di lavoro Analisi riflettono tutti gli oggetti, non solo i pulsanti. I tipi di azione non-macro su oggetti non-pulsante non vengono segnalati.
Condizioni di calcolo
Le condizioni di calcolo sono conservate per i seguenti tipi di visualizzazione: grafico a barre, boxplot, grafico combinato, gauge, grafico lineare, grafico Mekko, grafico a torta, grafico a dispersione, grafico a griglia, tabella pivot, tabella, treemap e grafico a cascata.
L'espressione della condizione e il messaggio di errore personalizzato (il testo visualizzato agli utenti quando la condizione non è soddisfatta) sono entrambi applicati alla definizione dell'ipercubo. Se l'oggetto QlikView originale non ha un messaggio personalizzato, Qlik Sense visualizza il messaggio predefinito della condizione di calcolo.
I tipi di visualizzazione non presenti nell'elenco sopra (inclusi grafico a imbuto, grafico a radar e KPI) non ricevono una condizione di calcolo. Se un oggetto QlikView ha una condizione di calcolo e il tipo di visualizzazione di destinazione non supporta la funzionalità, sia la condizione che il messaggio vengono eliminati silenziosamente.