Migrazione di documenti di QlikView
Questa pagina descrive come migrare i documenti di QlikView e i relativi contenuti. In essa inoltre sono riportate procedure consigliate, limitazioni e considerazioni.
Limitazioni delle app
La seguente tabella indica le dimensioni di base delle app consentite con Qlik Cloud a seconda della propria sottoscrizione.
Tipo di app | Dimensioni app supportata (nella memoria) | Picco di memoria durante i ricaricamenti programmati | Picco di memoria durante i ricaricamenti manuali |
---|---|---|---|
Livello standard | Fino a 5 GB | Fino a 15 GB | Fino a 10 GB |
Capacità app di grandi dimensioni | Fino a 50 GB | Variano a seconda della capacità acquistata | Variano a seconda della capacità acquistata |
Determinazione delle dimensioni dell'app
Le dimensioni delle app possono essere misurate in due modi:
-
Dimensione in memoria l'ultima volta che è stata ricaricata l'app
-
Dimensione su disco
Utilizzare i seguenti strumenti per determinare le dimensioni di un'app:
-
Dashboard Governance QlikView, foglio Complessità (solo in lingua inglese): questo foglio indica le dimensioni sul disco.
-
QlikView to SaaS Migration App, negli strumenti di migrazione Qlik Cloud, dispone di una sezione dedicata nella scheda Strumenti di migrazione in ValutazioneQlik Cloud che calcola l'utilizzo della RAM e identifica le app che si prevede che siano incluse nel livello Standard o meno.
Attenuare i problemi legati alle dimensioni delle app
Se si verificano problemi di allocazione della memoria a causa di app di grandi dimensioni, è possibile adottare due approcci principali per ridurre i problemi.
-
Rivedere e aggiornare lo script di caricamento dei dati, se applicabile:
-
Rimuovere i campi e le righe inutilizzati dal caricamento.
-
Rimuovere le tabelle se non sono più necessarie per l'elaborazione dei dati.
-
Implementare carichi incrementali per ottimizzare il volume dei dati elaborati.
-
Utilizzare carichi QVD ottimizzati.
-
-
Aggiungere maggiore capacità al tenant per consentire carichi di lavoro più pesanti. Vedere Supporto per app di grandi dimensioni.
Altri limiti e considerazioni
Le distribuzioni nel cloud non consentono in genere l'accesso al file system dell'host o del server; pertanto, utilizzare queste modifiche allo script di caricamento quando si migra lo script di caricamento da un'app in loco a Qlik Cloud .
Estensioni
Le estensioni di QlikView non funzionano in Qlik Cloud. Ciò vale sia per le estensioni del Server che del Documento.
Fare riferimento al sito Developer di Qlik Cloud per lo sviluppo personalizzato di contenuti correlati, inclusi riferimenti API e toolkit.
In Qlik Cloud, vi sono alcune limitazioni con le estensioni rispetto a Qlik Sense Enterprise Client-Managed. Per ulteriori informazioni, vedere Gestione delle estensioni.
È necessario aggiungere le richieste di risorse esterne alla allowlist in Console di gestione > Criteri di sicurezza dei contenuti. Vedere Gestione dei criteri di sicurezza dei contenuti.
Temi
Non è possibile migrare gli stili per le applicazioni da QlikView a Qlik Cloud. Vedere Applicazione di stili a un'app per informazioni sugli stili per un'applicazione Qlik Cloud e sui temi personalizzati.
GeoAnalytics
La funzionalità oggetto dell'estensione QlikView GeoAnalytics è stata incorporata nell'oggetto Mappa nativo di Qlik Sense. Le app Qlik Sense non possono essere create utilizzando questi oggetti preesistenti, mentre per la generazione degli oggetti è necessario utilizzare l'oggetto mappa nativo Qlik Sense.
Migrazione da Connettore GeoAnalytics a Qlik GeoOperations
Qlik GeoOperations in Qlik Cloud fornisce funzionalità e operazioni simili come fa Connettore GeoAnalytics in QlikView. Sono supportati anche molti degli stessi formati di data. Hanno le seguenti differenze:
- Qlik GeoOperations è un'Advanced Analytics Integration (AAI), più adatta all'invio e all'elaborazione di dati rispetto a un connettore.
- La sintassi di script è diversa per le Advanced Analytics Integration rispetto ai connettori.
- Nelle espressioni del grafico è possibile utilizzare anche alcuni GeoOperations.
- Qlik GeoOperations restituisce una tabella singola. Rispetto a ciò che restituisce Connettore GeoAnalytics, le tabelle vengono unite in Qlik GeoOperations.
- In Qlik GeoOperations alcuni campi e parametri sono stati rinominati per essere più coerenti.
La sezione seguente descrive come convertire lo script prodotto dalla procedura guidata di Connettore GeoAnalytics in Qlik GeoOperations:
- In Editor caricamento dati, nel codice di script Connettore GeoAnalytics, copiare tutto ciò che compare dopo SQL fino al secondo SELECT o ";", in base a ciò che appare per primo.
- Sostituire tutti i ' nello script Connettore GeoAnalytics con ".
-
Aggiungere i nomi di campo selezionati dall'istruzione secondaria SELECT nello script Connettore GeoAnalytics alla prima istruzione SELECT nello script GeoOperations. Omettere qualsiasi campo già presente. Aggiungere il nome della tabella di origine ai nomi di campo, separandoli con un punto. Ad esempio, table.field. Ciò creerà una singola tabella unita al posto di svariate tabelle.
-
Esaminare la documentazione di riferimento per l'operazione e il set di dati e regolare qualsiasi parametro o nome di campo laddove necessario.
Per un riepilogo delle differenze principali, vedere Differenze tra i campi GeoOperations e GeoAnalytics
-
Aggiungere quanto segue all'inizio dello script GeoOperations:
Load * Extension GeoOperations.ScriptEval('
-
Aggiungere quanto segue alla fine dello script:GeoOperations
');
Se si utilizza una tabella caricata con il Connettore GeoAnalytics, inviarla invece come secondo parametro a GeoOperations.ScriptEval.
Dato che Qlik GeoOperations restituisce una tabella unita, dalle tabelle secondarie vengono restituiti solo i valori di campo che hanno un valore corrispondente nella tabella primaria. Ad esempio, se si desidera trovare gli aeroporti più vicini in Germania per alcuni punti, vengono restituiti solo i dati relativi agli aeroporti più vicini ai punti. Se si desiderano tutti gli aeroporti in Germania, devono essere caricati separatamente con un'operazione LOAD.
In caso di caricamento da un database SQL con il connettore, i dati devono invece essere caricati con uno dei connettori database, come il connettore ODBC. Assicurarsi di caricare le geometrie come WKT (applicare una funzione generalmente definita st_asText() nella query SQL). Convertire quindi il campo WKT inviando la tabella in Qlik GeoOperations. Verrà restituito un campo con le geometrie nel formato Qlik Sense.
Esempio di conversione script
Questo esempio di conversione script utilizzerà il seguente script Connettore GeoAnalytics:
Procedere come indicato di seguito:
-
Considerare lo script tra SQL e la seconda istruzione SELECT.
SELECT [LocationDbId], [Clusters_ClusterID] FROM Cluster(distance='10000', points='Points') DATASOURCE Points LOCATIONSERVICE geometry='POINT', type='XIATA', country='de', serviceName='default' -
Sostituire le virgolette:
SELECT [LocationDbId], [Clusters_ClusterID] FROM Cluster(distance="10000", points="Points") DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default" -
Aggiungere campi dalle tabelle secondarie:
SELECT [LocationDbId], [Clusters_ClusterID], [Clusters.Clusters_ClusterCenter] FROM Cluster(distance="10000", points="Points") DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default" -
Regolare i nomi di parametri e campi:
SELECT [LocationDbId], [ClusterID], [Clusters.ClusterPoint] as [Clusters_ClusterCenter] FROM Cluster(distance="10000", points="Points") DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default" -
Racchiudere in codice boilerplate:
Load * Extension GeoOperations.ScriptEval(' SELECT [LocationDbId], [ClusterID], [Clusters.ClusterPoint] as [Clusters_ClusterCenter] FROM Cluster(distance="10000", points="Points") DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default" ');
Questo codice di script può ora essere utilizzato con Qlik GeoOperations.
Differenze tra i campi GeoOperations e GeoAnalytics
I campi predefiniti tra gli script di GeoOperations e GeoAnalytics hanno delle differenze, di norma nei prefissi utilizzati. Quando si effettua la migrazione degli script di GeoAnalytics a GeoOperations, può essere necessario correggere i nomi di alcuni campi.
AddressToPoint
GeoOperations e GeoAnalytics restituiscono i seguenti campi:
-
GeoOperations: <id>, Address, AddressPoint, CountryIso2, Adm1, City, PostalCode, Street, HouseNumber, Match
-
GeoAnalytics: [<id>], [Dataset_Address], [Dataset_Geometry], [CountryIso2], [Dataset_Adm1], [Dataset_City], [Dataset_PostalCode], [Dataset_Street], [Dataset_HouseNumber], [Dataset_Match]
In GeoAnalytics e GeoOperations sono presenti le seguenti differenze:
-
GeoAnalytics i prefissi dei campi provengono dal set di dati.
-
Dataset_Geometry è denominato AddressPoint in GeoOperations.
Creazione di contenitori
GeoOperations e GeoAnalytics restituiscono i seguenti campi:
-
GeoOperations: <id>, BinId, BinTable.BinPolygon, BinTable.CenterPoint
-
GeoAnalytics: [<id>], [RH2W3], [RH2W3_CenterPoint]
In GeoAnalytics e GeoOperations sono presenti le seguenti differenze:
-
In GeoAnalytics, RH2W3 è il campo Poligono ed il nome è generato in base alle dimensioni/proporzioni della griglia. In GeoOperations il campo è BinTable.BinPolygon.
-
GeoAnalytics non dispone del campo BinId.
Più vicino
GeoOperations e GeoAnalytics restituiscono i seguenti campi:
-
GeoOperations: dataset_dataset2_RelationId, dataset.<ds1 id>, dataset2.<ds2 id>, Distance
-
GeoAnalytics: [Dataset1_Dataset2_RelationId], [Dataset1.<ds1 id>], [Dataset2.<ds2 id>], [Dataset1_Dataset2_Distance]
In GeoAnalytics e GeoOperations sono presenti le seguenti differenze:
-
GeoOperations non dispone di prefissi per il campo Distance.
Cluster
GeoOperations e GeoAnalytics restituiscono i seguenti campi:
-
GeoOperations: <id>, ClusterID, Clusters.ClusterPoint, Clusters.PointCount
-
GeoAnalytics: [<id>], [Clusters_ClusterID], [Clusters_ClusterCenter], [Clusters_PointCount]
In GeoAnalytics e GeoOperations sono presenti le seguenti differenze:
-
I prefissi sono differenti tra GeoOperations e GeoAnalytics.
Scomponi
GeoOperations e GeoAnalytics restituiscono i seguenti campi:
-
GeoOperations: <id>, DissolvedPolygon
-
GeoAnalytics: [<id>], [<id>_Geometry]
In GeoAnalytics e GeoOperations sono presenti le seguenti differenze:
-
Nome della colonna Geometria
Interseca
GeoOperations e GeoAnalytics restituiscono i seguenti campi:
-
GeoOperations: dataset_dataset2_RelationId, dataset.<dataset1 id>, dataset2.<dataset2 id>, dataset.RelativeOverlap, dataset2.RelativeOverlap
-
GeoAnalytics: [Dataset1_Dataset2_RelationKey], [Dataset1.<ds1 id>], [Dataset2.<ds1 id>], [Dataset1_RelativeOverlap], [Dataset2_RelativeOverlap]
In GeoAnalytics e GeoOperations vi sono le seguenti differenze principali:
-
I prefissi utilizzati in GeoOperations e in GeoAnalytics sono diversi.
IpLookup
GeoOperations e GeoAnalytics restituiscono i seguenti campi:
-
GeoOperations: <id>, IpPoint, CountryIso2, Adm1Code, City
-
GeoAnalytics: [<id>], [IpTable_Geometry], [CountryIso2], [IpTable_Adm1Code], [IpTable_City]
In GeoAnalytics e GeoOperations sono presenti le seguenti differenze:
-
IpTable_Geometry in GeoAnalytics corrisponde a IpPoint in GeoOperations.
-
I prefissi utilizzati in GeoOperations e in GeoAnalytics sono differenti.
Load (set di dati posizione)
GeoOperations e GeoAnalytics restituiscono i seguenti campi:
-
GeoOperations (area): LocationDbId, LocationPolygon, Name, CountryIso2, Adm1Code, Adm2Code, LocationDbType
-
GeoOperations (point): LocationDbId, LocationPoint, Name, CountryIso2, Adm1Code, Adm2Code, LocationDbType
-
GeoAnalytics: [LocationDbId], [Dataset_Geometry], [Dataset_Name], [CountryIso2], [Dataset_Adm1Code], [Dataset_Adm2Code], [LocationDbType]
In GeoAnalytics e GeoOperations sono presenti le seguenti differenze:
-
I campi della geometria (LocationPolygon e LocationPoint in GeoAnalytics corrispondono a Dataset_Geometry in GeoOperations.
-
I prefissi utilizzati in GeoOperations e in GeoAnalytics sono differenti.
PointToAddress
GeoOperations e GeoAnalytics restituiscono i seguenti campi:
-
GeoOperations: <id>, Address, AddressPoint, CountryIso2, Adm1, City, PostalCode, Street, HouseNumber, Distance
-
GeoAnalytics: [<id>], [Dataset_Address], [Dataset_Geometry], [CountryIso2], [Dataset_Adm1], [Dataset_City], [Dataset_PostalCode], [Dataset_Street], [Dataset_HouseNumber], [Dataset_Match]
In GeoAnalytics e GeoOperations sono presenti le seguenti differenze:
-
I prefissi utilizzati in GeoOperations e in GeoAnalytics sono differenti.
Percorsi
GeoOperations e GeoAnalytics restituiscono i seguenti campi:
-
GeoOperations: <id>, Distance, Duration, Status, LowResLine
-
GeoAnalytics: [<id>], [Dataset_Distance], [Dataset_Duration], [Dataset_Status], [Dataset_PathLowRes]
In GeoAnalytics e GeoOperations sono presenti le seguenti differenze:
-
Il campo della geometria Dataset_PathLowRes in GeoAnalytics corrisponde a LowResLine in GeoOperations.
-
I prefissi utilizzati in GeoOperations e in GeoAnalytics sono differenti.
Semplifica
GeoOperations e GeoAnalytics restituiscono i seguenti campi:
-
GeoOperations: <id>, Simplified_<geo field name>
-
GeoAnalytics: [<id>], [Dataset_Simplified_Geometry]
.In GeoAnalytics e GeoOperations sono presenti le seguenti differenze:
-
I nomi del campo della geometria in GeoOperations e in GeoAnalytics sono differenti.
TravelAreas
GeoOperations e GeoAnalytics restituiscono i seguenti campi:
-
GeoOperations: <id>, TravelArea, Cost, CostUnit, Status
-
GeoAnalytics: [<id>], [Dataset_TravelArea], [Dataset_Origin], [Dataset_Cost], [Dataset_CostUnit], [Dataset_Status]
In GeoAnalytics e GeoOperations sono presenti le seguenti differenze:
-
GeoOperations non include un campo origine.
-
I prefissi utilizzati in GeoOperations e in GeoAnalytics sono differenti.
All'interno
GeoOperations e GeoAnalytics restituiscono i seguenti campi:
-
GeoOperations: dataset_dataset2_RelationId, dataset.<dataset1 id>, dataset2.<dataset2 id>
-
GeoAnalytics: [Enclosed_Enclosing_RelationId], [Enclosed.<dataset 1/2 id>], [Enclosing.<datasets 1/2 id>]
In GeoAnalytics e GeoOperations sono presenti le seguenti differenze:
-
I prefissi di GeoOperations includono i nomi del set di dati, mentre GeoAnalytics include anche il prefisso Enclosed.
Migrazione di documenti
Seguire questa procedura quando si desidera effettuare la migrazione di documenti di QlikView alle app Qlik Sense che è possibile usare in Qlik Cloud.
Procedere come indicato di seguito:
-
Valutare, identificare e priorizzare i documenti di QlikView per la migrazione. È possibile utilizzare il foglio Complessità (solo in lingua inglese) di Dashboard Governance QlikView o la funzione Esplora oggetti nella scheda Strumenti di migrazione in QlikView to SaaS Migration App.
-
Convertire i documenti di QlikView in un'applicazione Qlik Sense utilizzando Convertitore QlikView. Vedere i seguenti esempi:
-
Caricare il documento di QlikView convertito su Qlik Cloud.
Nota informaticaÈ possibile caricare in blocco i documenti QlikView convertiti su Qlik Cloud utilizzando lo script CLI 7_migrateapps.ps1 disponibile con gli strumenti di migrazione di Qlik Cloud. Quando si fa riferimento all'app da importare, nel fileexports/apps.csv, omettere l'estensione .qvf dal valore 'QSAppName'.
Attività di ricaricamento
Le attività di ricaricamento devono essere ricreate manualmente in Qlik Cloud.
Usare QlikView to SaaS Migration App per identificare le attività di ricaricamento. È possibile trovare le attività di ricaricamento nella tabella Dettagli attivazione attività QVPR disponibile nella schermata Esplora QVPR della scheda Strumenti di migrazione.
Annotare i dettagli di tutte le attività, quindi ricrearle manualmente nel tenant Qlik Cloud.
Per informazioni su come creare le attività di ricaricamento, vedere Pianificazione del caricamento dei dati di un'app.
Se è presente un concatenamento di attività, è necessario utilizzare Qlik Application Automation (QAA); vedere Concatenamento delle attività: tutorial.
Procedure consigliate per la conversione dei documenti di QlikView
Considerare le seguenti informazioni al momento di pianificare la propria conversione.
Convertitore QlikView
Convertitore QlikView è uno strumento che supporta la conversione dei documenti QlikView alle app Qlik Sense. È possibile utilizzare lo strumento per spostare parte del valore sviluppato nei documenti QlikView in un'app Qlik Sense.
Lo strumento di conversione può essere utilizzato con Qlik Sense Desktop. Non è possibile utilizzare Convertitore QlikView per convertire documenti superiori a 500 MB su disco. È possibile ridurre la quantità di dati in un documento, oppure salvare il documento senza dati, al fine di ridurre le dimensioni di un documento senza perdere asset. Per maggiori informazioni, vedere Qlik Sense Desktop.
Convertitore QlikView sposterà gran parte degli oggetti in Qlik Sense, incluso:
- Script
- Gran parte delle variabili. Vedere Variabili QlikView escluse dall'esportazione
- Caselle di elenco
- Grafici e tabelle
Il convertitore non può convertire determinati oggetti. Gli oggetti che non è possibile convertire includono i seguenti:
- Contenitori
- Trigger
- Macro
- Istruzioni condizionali
- Caselle di testo
- Livelli di oggetti
- Colori dei grafici personalizzati
- Espressione nelle caselle di elenco
Molti degli oggetti di cui sopra possono essere ricreati manualmente in Qlik Sense. Per esempio, mentre i trigger non vengono convertiti, il comportamento dei trigger all'apertura può essere ricreato utilizzando i segnalibri predefiniti in Qlik Sense.
Il convertitore visualizza alcuni oggetti, ma non tutti, che non possono essere convertiti. Consigliamo di creare un inventario foglio per foglio di tutti i propri oggetti in QlikView e di confrontare l'inventario con gli oggetti elencati nel convertitore.
Convertitore QlikView (solo in lingua inglese)
Script di caricamento dei dati
QlikView e gli script di caricamento dei dati sono generalmente compatibili, tuttavia esistono alcune differenze che potrebbe essere necessario considerare oltre che adattare lo script nell'editor di caricamento dei dati, prima che i dati possano essere ricaricati.
QlikView utilizza percorsi dei file assoluti o relativi che non sono supportati nella modalità standard di Qlik Sense, pertanto è necessario utilizzare connessioni dati Cartella che puntino invece alle posizioni dei file.
Sintassi di QlikView
Sintassi di Qlik Sense
Schede script nascosto
Quando viene convertito un documento QlikView con uno script nascosto, la parte relativa a questo script verrà ignorata e non verrà inclusa nello script di Qlik Sense. Prima di convertire il documento, aprirlo nell'editor script di QlikView, quindi copiare il codice dalle schede con lo script nascosto e incollarlo nelle schede con il normale script. Notare che non è possibile nascondere il codice script in Qlik Sense.
Modalità standard
Nella modalità standard molte istruzioni e funzioni non possono essere utilizzate oppure sono sottoposte a limitazioni. Per ulteriori informazioni, consultare la documentazione sulla restrizione dell'accesso al file system.
Section Access
Un documento QlikView con Section Access non può essere importato in Qlik Sense, in quanto esistono differenze nel formato e nelle funzionalità supportate.
Al momento di convertire un documento con Section Access, sono richiesti i seguenti passaggi:
- Prima di convertire il documento, rimuovere il codice di accesso sezione nell'editor di script QlikView.
- Convertire il documento.
- Riapplicare Section Access nell'app di Qlik Sense.
Ci sono alcune differenze in Qlik Sense che andrebbero considerate:
- L'autenticazione dell'utente è stata modificata. Il campo USERID viene ora utilizzato per autenticare tutti gli utenti e i campi NTNAME e PASSWORD non sono più sopportati.
- La sezione relativa al controllo degli accessi viene applicata mediante l'esclusione assoluta in Qlik Sense. Ciò significa che è possibile vedere solo i dati per cui è stato specificatamente concesso l'accesso.
Se si dispone dell'accesso allo script, ma non dell'accesso ai dati, è possibile aprire l'app senza dati e modificare lo script, compresa la sezione relativa al controllo degli accessi.
Per ulteriori informazioni, vedere Gestione della sicurezza con Section Access.
Notazione citazioni in Set Analysis
La notazione citazioni in Set Analysis nei documenti precedenti a QlikView o in documenti creati con versioni precedenti di QlikView, è diversa da quella in Qlik Sense. Potrebbe essere necessario modificare determinate espressioni di Set Analysis in Qlik Sense.
Notazione precedente
Le virgolette singole e doppie si comportano così come avveniva nella vecchia notazione. Entrambe le virgolette, singole e doppie, vengono interpretate come una ricerca. È possibile utilizzare caratteri jolly (*, ?).
Nuova notazione
Le virgolette singole e doppie si comportano diversamente nella nuova notazione.
Le virgolette semplici sono interpretate come un confronto tra stringhe letterali. Viene rilevato un unico valore di campo e i caratteri jolly non sono consentiti nella stringa di ricerca. Un asterisco, ad esempio, è interpretato come un asterisco.
Le virgolette doppie sono interpretate come una ricerca. I caratteri jolly e gli operatori relazionali sono consentiti e possono essere rilevati svariati valori di campo.
Ad esempio, Sum({$<Country={'Austr*'}>}Sales) può dover essere modificato in Sum({$<Country={"Austr*"}>}Sales)
In modo simile, potrebbero dover essere modificati anche i confronti tra numeri o variabili. Ad esempio, Duration={'>3'} può dover essere modificato in Duration={">3"}
Variabili QlikView escluse dall'esportazione
Diverse variabili non vengono esportate dai documenti QlikView in quanto sono rilevanti solo per QlikView o sono gestite in modo diverso in Qlik Sense.
Le seguenti variabili non vengono esportate:
- Tutte le variabili che iniziano con CD
- Tutte le variabili che iniziano con FLOPPY
- QvPath, QvRoot, QvWorkPath, QvWorkRoot
- WinPath, WinRoot
- ErrorMode
- StripComments
- ScriptErrorCount, ScriptError
- ThousandSep, DecimalSep, MoneyThousandSep, MoneyDecimalSep, MoneyFormat
- TimeFormat, DateFormat, TimestampFormat
- MonthNames, DayNames
- ScriptErrorDetails, ScriptErrorList
- OpenUrlTimeout
- HidePrefix
- FirstWeekDay
- BrokenWeeks
- ReferenceDay
- FirstMonthOfYear
- CollationLocale
- LongMonthNames, LongDayNames