Objectconversiedetails
Laatst bijgewerkt: 14-10-2026QV2QS verwerkt een reeks QlikView-specifieke functies tijdens de conversie.
Uitdrukkingen
QV2QS stuurt QlikView-expressies door naar Qlik Sense met minimale transformatie. De expressietaal wordt grotendeels gedeeld tussen QlikView en Qlik Sense, dus de meeste expressies werken zonder aanpassing.
QV2QS past de volgende transformaties toe:
- Gelijktekenvoorvoegsel — Qlik Sense vereist een voorafgaand
=voor metingsexpressies en bepaalde eigenschapsexpressies. QV2QS voegt het voorvoegsel toe waar nodig als de oorspronkelijke QlikView expressie er geen bevat. - Commentaar verwijderen — Volledige-regel commentaren die beginnen met
//,#, ofREMworden verwijderd uit uitgelijnde expressies. Qlik Sense-eigenschapuitdrukkingen ondersteunen opmerkingensyntaxis niet consequent, dus het verwijderen voorkomt evaluatiefouten. Blokcommentaren (/* */) worden niet verwijderd. Inline//opmerkingen binnen een coderegel worden ook niet verwijderd.
De volgende expressiefuncties worden letterlijk doorgegeven en werken in Qlik Sense zonder aanpassing:
- Set-analyse-uitdrukkingen (bijvoorbeeld,
{<Year={2024}>}) - Dollartekenuitbreiding en variabeleverwijzingen (bijvoorbeeld,
$(vMyVar)) - Geneste
Aggr()expressies If()expressies, inclusief expressies voor voorwaardelijke opmaakPick(),Match()enDual()patronen- Berekende dimensies
Set-analyse quotering
QlikView (vóór november 2017) behandelde waarden tussen enkele aanhalingstekens in set-modifiers als niet-hoofdlettergevoelige zoekopdrachten, identiek aan waarden tussen dubbele aanhalingstekens. Qlik Sense behandelt waarden tussen enkele aanhalingstekens als hoofdlettergevoelige literals. Dit verschil kan expressies verbreken die afhankelijk zijn van jokertekens, vergelijkingsoperatoren of numerieke overeenkomsten binnen enkele aanhalingstekens.
QV2QS scant alle objectexpressies en variabeledefinities op set-analyse-aanhalingspatronen die zich anders gedragen in Qlik Sense. Gedetecteerde patronen omvatten wildcards tussen enkele aanhalingstekens ('*US*'), vergelijkingsoperatoren tussen enkele aanhalingstekens ('>=5'), waarden tussen enkele aanhalingstekens op numerieke velden, en onopgemaakte tekenreekswaarden zonder aanhalingstekens. De resultaten verschijnen in het Expression_Findings werkblad van het Excel-rapport.
QV2QS corrigeert automatisch zoekwaarden tussen enkele aanhalingstekens tijdens de conversie. Een experimentele oplossing voor niet-gequote kale tekenreekswaarden is ook beschikbaar, maar standaard uitgeschakeld.
- Zoekwaarden tussen enkele aanhalingstekens (standaard ingeschakeld) worden omgezet naar dubbele aanhalingstekens:
{<Country={'*US*'}>}wordt{<Country={"*US*"}>}. Gedetecteerde zoekpatronen zijn onder andere jokers (*,?,^), vergelijkingsoperatoren, fuzzy zoeken (~), expressie zoeken (=), zoekmodificatoren (+,-), en samengesteld zoeken. Waarden tussen enkele aanhalingstekens op numerieke velden die geen zoekopdrachtsyntaxis bevatten, worden gemarkeerd voor handmatige controle, maar niet automatisch gecorrigeerd. - Niet-gequote kale tekenreekswaarden (experimenteel, standaard uitgeschakeld) worden tussen enkele aanhalingstekens geplaatst:
{<Country={USA}>}wordt{<Country={'USA'}>}. Geef--fixUnquotedSetValuesop om in te schakelen.
Correcties worden toegepast door middel van positionele vervanging, uitsluitend binnen set-modifier-waardelijsten. Veldnamen, functienamen en andere expressietekst worden nooit gewijzigd. De twee correcties worden onafhankelijk geregeld. Gebruik --noFixSingleQuotedSearch om de fix voor enkele aanhalingstekens uit te schakelen. Niet-ondersteunde functiebevindingen worden niet gewijzigd.
Het Expression_Findings werkblad en het managementoverzicht-dashboard bevatten een Bron-kolom die aangeeft of elke bevinding afkomstig is van een variabeledefinitie of een diagramobjectexpressie. Een Status-kolom geeft aan of de bevinding automatisch is opgelost, handmatige controle vereist, of dat er geen automatische oplossing beschikbaar is.
Voor de volledige lijst met gedetecteerde patronen, zie Analyse. Raadpleeg voor de syntaxisreferentie van setanalyse Setanalyse in de Qlik Cloud-help.
QV2QS scant alle expressievelden (dimensies, metingen, weergavecondities, kleurexpressies, titels, berekeningscondities en andere), evenals variabeledefinities en het load-script op niet-ondersteunde functies. Gedetecteerde instanties staan vermeld in het analyserapport.
De volgende QlikView-specifieke functies zijn niet beschikbaar in Qlik Sense:
GetCurrentField,GetExtendedPropertyInput,InputSum,InputAvgMsgBoxImage_SizeNoOfReports,ReportComment,ReportId,ReportName,ReportNumber
Voor de lijst met gedetecteerde load-script patronen, zie Analyse.
Getalnotatie
QV2QS converteert QlikView getalnotatiedefinities naar Qlik Sense getalnotatietypen. Het opmaaktype wordt toegewezen aan het Qlik Sense-equivalent, en de aangepaste opmaaktekenreeks (Fmt), scheidingsteken voor decimalen, scheidingsteken voor duizendtallen en de decimale precisie worden allemaal letterlijk behouden. Aangepaste opmaakreeksen zoals #,##0.00;(#,##0.00) of '$'#,##0 worden ongewijzigd doorgegeven in het qFmt veld.
De volgende QlikView indelingstypen worden toegewezen:
| QlikView type | Qlik Sense type |
|---|---|
| VAST, REËEL, HEELGETAL | Vast (V) |
| MONEY | Geld (M) |
| DATE | Datum (D) |
| TIME | Tijd (T) |
| TIMESTAMP | Tijdstempel (TS) |
| INTERVAL | Interval (IV) |
Sorteren
QV2QS converteert alle QlikView sorteercriteria naar Qlik Sense equivalenten. De volgende sorteerinstellingen zijn één-op-één toegewezen: sorteren op status, sorteren op frequentie, sorteren op numerieke waarde, sorteren op alfabetische volgorde, sorteren op laadvolgorde, sorteren op expressie (inclusief de expressietekst), en sorteren op grijsheid.
Voor keuzelijstvelden past QV2QS een aanvullende heuristiek toe om statusgebaseerde sortering op datumachtige velden te onderdrukken. Zie voor meer informatie Argumentverwijzing.
Visuele aanwijzingen en voorwaardelijke kleuring
QlikView visuele aanwijzingen (op drempel gebaseerde voorwaardelijke kleuren op metingen) worden geconverteerd naar Qlik Sense kleurexpressies voor tabel- en draaitabelvisualisaties. QV2QS genereert geneste If() expressies met RGB() of ARGB() kleurfuncties die het oorspronkelijke laag/normaal/hoog drempelgedrag repliceren. Zowel tekstkleur- als achtergrondkleursignalen worden geconverteerd. Visuele aanwijzingen op diagramvisualisaties (staafdiagram, lijndiagram, combinatiegrafiek en andere) worden niet geconverteerd.
Op expressie gebaseerde kleuring
QV2QS converteert kleurexpressies per dimensie en per maat (achtergrondkleur en tekstkleur) naar Qlik Sense-attribuutexpressies. Voor tabel- en draaitabelvisualisaties blijven zowel achtergrond- als tekstkleurexpressies behouden (cellBackgroundColor en cellForegroundColor). Voor diagramvisualisaties worden uitdrukkingen voor de achtergrondkleur van metingen geconverteerd naar de colorByExpression-modus. Dimensie-kleuruitdrukkingen en tekstkleuruitdrukkingen voor metingen worden niet geconverteerd voor diagramtypen omdat Qlik Sense-diagrammen geen ondersteuning bieden voor kleurattribuutuitdrukkingen per dimensie of tekstkleurattributen per meting.
Voor tabel- en draaitabelvisualisaties, als er geen expliciete kleuruitdrukking bestaat voor een meting maar visuele aanwijzingen zijn gedefinieerd, genereert QV2QS automatisch een kleuruitdrukking op basis van de drempelwaarden van de visuele aanwijzingen.
Trendlijnen
QlikView trendlijnen op diagrammetingen worden geconverteerd naar Qlik Sense trendlijnen. De volgende trendlijntypen worden ondersteund:
- Gemiddelde, Lineair, Exponentieel, Logaritmisch, Macht
- Polynoom (graad 2, 3 en 4)
Referentielijnen
QlikView referentielijnen op diagramassen worden geconverteerd naar Qlik Sense referentielijnen. Het label, de waarde-uitdrukking, kleur, lijnstijl en weergaveconditie (voorwaardelijke zichtbaarheidsuitdrukking) blijven behouden. Als een referentielijn geen weergavevoorwaarde heeft, is de standaardzichtbaarheid altijd weergegeven. Combinatiegrafieken ondersteunen referentielijnen op zowel de primaire als de secundaire as.
Combinatiediagram-astoewijzing
QV2QS behoudt QlikView combinatiegrafiek as-toewijzingen. Elke meting behoudt de primaire of secundaire asbinding van het oorspronkelijke QlikView-diagram. Meetserietypen (staaf, lijn, markering) blijven ook behouden.
Dimensiegroepen
QV2QS converteert QlikView cyclische groepen en drill-down-groepen naar Qlik Sense masterdimensies. Cyclische groepen worden cyclische masterdimensies. Drill-down groepen worden drill-down masterdimensies. Grafieken die verwijzen naar een groepsdimensie zijn gekoppeld aan de corresponderende hoofddimensie in de geconverteerde app.
Lettertypeverwerking
Qlik Sense ondersteunt een vaste set webveilige lettertypen. QV2QS koppelt QlikView-lettertypen aan het dichtstbijzijnde beschikbare Qlik Sense-lettertype. Lettertypen die niet kunnen worden toegewezen, gebruiken het terugvallettertype (Source Sans Pro).
De volgende QlikView-lettertypen hebben expliciete toewijzingen:
| QlikView lettertype | Qlik Sense lettertype |
|---|---|
| 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 |
Aangepaste lettertypen die niet in de Qlik Sense lettertypebibliotheek staan, worden toegewezen aan Source Sans Pro.
Monospace lettertypen (Courier New, Consolas) worden toegewezen aan het proportionele lettertype Source Sans Pro. Uitlijning van monospace-tekens wordt niet behouden.
Systeemvariabelen
QV2QS sluit systeemvariabelen uit van de geconverteerde variabelenlijst. Deze variabelen worden beheerd door de Qlik-engine en hoeven niet te worden opgenomen in variables.json. Voorbeelden zijn DateFormat, ThousandSep, DecimalSep, TimestampFormat, ErrorMode en NullDisplay.
Systeemvariabelen die expliciet zijn ingesteld in de load-script (bijvoorbeeld, SET DateFormat='YYYY-MM-DD';) blijven behouden in de load-script en worden van kracht tijdens het herladen. De uitsluiting geldt alleen voor de variabeledefinities in de geconverteerde app, niet voor SET of LET instructies in het load-script.
Gebruikersgedefinieerde variabelen worden geconverteerd.
Trellis-modus
QlikView-grafieken met de trellis-modus ingeschakeld (EnablePrimaryDimension) gebruiken de eerste dimensie als een facetveld om een raster van minigrafieken weer te geven. Qlik Sense heeft geen native trellis-modus op standaardgrafieken. QV2QS converteert trellisdiagrammen automatisch met behulp van de Qlik Sense trellis container-uitbreiding (qlik-trellis-container) uit de Visualization Bundle.
Tijdens de conversie voert QV2QS de volgende stappen uit:
- Maakt een mastervisualisatie — Het oorspronkelijke diagram wordt geconverteerd zonder de trellisdimensies. Voor een trellis met alleen primaire elementen, dimensie 0 wordt verwijderd. Wanneer secundaire trellis ook is ingeschakeld, worden dimensies 0 en 1 beide verwijderd. Het resterende diagram wordt opgeslagen als een mastervisualisatie in de app.
- Maakt een rastercontainer — Een
qlik-trellis-containerobject wordt op het werkblad geplaatst op de oorspronkelijke diagrampositie. De container verwijst naar de mastervisualisatie en gebruikt de verwijderde dimensies als facetvelden in de gegevensdefinitie. Wanneer zowel primaire als secundaire trellis zijn ingeschakeld, bevat de containergegevensdefinitie twee facetdimensies. - Configureert het raster — De QlikView kolom- en rijinstellingen worden toegewezen aan het kolomaantal van de trellis-container en het maximale diagramaantal. Het maximum aantal grafieken wordt berekend als kolommen vermenigvuldigd met rijen. Wanneer de cardinaliteit van de facetteringsdimensies de rastergrootte overschrijdt, verhoogt QV2QS de maximale diagramtelling om plaats te bieden aan alle dimensiewaarden. Voor secundaire trellis is de totale cardinaliteit het product van de primaire en secundaire dimensiecardinaliteiten. De waarde wordt naar boven afgerond naar het dichtstbijzijnde veelvoud van het aantal kolommen, zodat het raster gelijkmatig wordt gevuld. Deze uitbreiding wordt vastgelegd als een diagrama aanpassing.
De trellis container gebruikt dezelfde qv_id-toewijzing als het oorspronkelijke diagram, dus het neemt dezelfde positie in op het werkblad.
Trellis met alleen primaire dimensies vereist ten minste twee dimensies (één voor de trellis-facettering en één voor het hoofddiagram). Primaire plus secundaire trellis vereist ten minste drie dimensies (twee voor trellis-facettering en één voor het hoofddiagram). Grafieken met minder dimensies dan vereist worden overgeslagen.
Meet accumulatie
QlikView-maataccumulatie (cumulatieve totalen) wordt geconverteerd naar Qlik Sense-accumulatiemodifiers. De volgende accumulatiemodi worden ondersteund:
- Volledige accumulatie — De metingsexpressie wordt herschreven met behulp van
RangeSum()metAbove()enRowNo()om een doorlopend totaal over alle rijen te produceren. De modifierfullAccumulationvlag is ingesteld optruemet eenstepswaarde van 6. - Stapaccumulatie — Wanneer het aantal accumulatiestappen van QlikView groter is dan 1, gebruikt de metinguitdrukking
RangeSum()metAbove()en het opgegeven aantal stappen. De modifierfullAccumulationvlag is ingesteld opfalse.
De gegenereerde accumulatie-uitdrukking past zich aan aan het dimensieveldtype:
- Numerieke dimensies — Stel analysegrenzen in met
Min()enMax()voor het veld. - Tekstafmetingen — Stel analysegrenzen in, gebruik
MinString()enMaxString()voor het veld. - Twee-dimensie grafieken — Er wordt een
Aggr()wrapper gegenereerd om de accumulatie in te nesten binnen de context van de buitenste dimensie.
Wanneer accumulatie wordt toegepast, schakelt QV2QS de continue-asmodus uit (preferContinuousAxis=false) en stelt nullMode in op connect om een correcte visuele weergave te garanderen. De oorspronkelijke meetexpressie en het label blijven behouden in de modifier base eigenschap.
Tabbladcontainers
QV2QS converteert QlikView-tabbladcontainers met behulp van drie strategieën, afhankelijk van de configuratie en context van de container. In alle gevallen blijven onderliggende objecten op hetzelfde Qlik Sense werkblad als de container.
- Tabbladcontainer — Afzonderlijke containers met meerdere tabbladen die andere objecten niet overlappen, worden geconverteerd naar native Qlik Sense containers met tabbladen (
sn-tabbed-container). Elk tabbladlid wordt een tabblad binnen de container. Tabvolgorde volgt de oorspronkelijke QlikView lidvolgorde. - Pseudo-tabbladen — Wanneer een multi-tab container andere objecten overlapt of genest is in een andere container, vlakt QV2QS de tabbladen af tot een lay-out container. Een knopbalk wordt gegenereerd met één
action-buttonper tabblad. Elke knop stelt een navigatievariabele in met behulp van eenSetVariableactie. Zichtbaarheidsvoorwaarden op de onderliggende objecten (bijvoorbeeld,=If('$(vCT01Tab)'='1',1,0)) bepalen welke tabinhoud zichtbaar is. Slechts één tabblad is tegelijk zichtbaar. De knopbalk bootst het tabbladwisselgedrag van de oorspronkelijke QlikView container na. - Lay-out container — Containers in rastermodus worden omgezet naar lay-out containers (
sn-layout-container).
Containers met één object zijn vereenvoudigd. Geen tabbladstrip of variabele wordt aangemaakt. Het enige onderliggende object wordt direct geplaatst op de containerpositie met de containerweergavevoorwaarde toegepast.
Geneste containers worden ondersteund tot een diepte van 8 niveaus. QV2QS detecteert cycli en stopt recursie als een container een cirkelreferentie creëert.
Weergavevoorwaarden op de container en op individuele onderliggende objecten worden samengesteld met behulp van een logische EN-bewerking. Een onderliggend object is alleen zichtbaar wanneer de containerconditie, de tab-variabeleconditie en de conditie van het onderliggende object allemaal waar zijn.
Toon voorwaarden
QlikView weergavecondities op individuele objecten blijven behouden. Qlik Sense ondersteunt geen weergavecondities rechtstreeks op visualisatieobjecten. QV2QS omhult objecten die weergavecondities hebben in een lay-outcontainer met één onderliggend element en past de conditie toe als een condition vermelding op de container. Objecten die zich al in een lay-outcontainer bevinden (vanwege overlapping) ontvangen de voorwaarde direct bij de containerinvoer.
Wanneer een weergavevoorwaarde als onwaar wordt geëvalueerd, blijft de lay-outcontainer op de rasterpositie maar toont geen inhoud. De verborgen container klapt niet in of zorgt ervoor dat aangrenzende objecten opnieuw worden gerangschikt. In zowel dynamische raster- als vaste canvasmodi laat het verborgen object een lege ruimte achter op de oorspronkelijke positie. Het gedrag van de lege ruimte komt overeen met QlikView, waarbij verborgen objecten ook lege ruimte achterlaten.
Alternatieve statussen
QV2QS behoudt alternatieve statusopdrachten. Objecten die zijn gekoppeld aan een alternatieve status in QlikView behouden dezelfde statuskoppeling in Qlik Sense. Staatsnamen worden exact behouden. QV2QS maakt de vereiste alternatieve states in de Qlik Cloud app tijdens de implementatie. Verwijzingen naar alternatieve statussen binnen set-analyse-uitdrukkingen (bijvoorbeeld, {[State2]<Year={2024}>}) worden letterlijk doorgegeven en werken in Qlik Sense zonder aanpassing.
In Alleen lokale modus (--unbuildOnly), worden alternatieve statusnamen geschreven naar cloud/alternate_states.json in de projectsubmap (bijvoorbeeld, <outputDir>/Sales/cloud/alternate_states.json). De statussen moeten handmatig of met de qlik app build tool worden aangemaakt bij het implementeren van de uitvoer naar een Qlik Cloud tenant.
Objectacties
QV2QS converteert acties op knoppen (BU, BT) en tekstobjecten (TX). Tekstobjecten die acties bevatten, worden gepromoveerd tot actieknoppen (action-button). Ondersteunde actietypen zijn onder andere navigatie, SetVariable, SelectField, en andere gedocumenteerd in Conversieresultaten.
Acties op andere objecttypen (grafieken, lijstvakken, schuifregelaars en containers) worden niet geconverteerd. QlikView ondersteunt OnActivate acties op elk objecttype, maar QV2QS parseert acties alleen uit XML van knop- en tekstobjecten. Niet-macro-acties (SetVariable, SelectField, navigatie) die zijn gekoppeld aan grafieken, lijstvakken of andere objecten die geen knoppen zijn, worden tijdens de conversie verwijderd en verschijnen niet in het conversierapport. Om verwijderde acties te vinden, zoek in de PRJ XML-bestanden naar <Actions> elementen in niet-knop objectdefinities.
De gap-scanner detecteert macro-aanroepen in alle objecttypen voor rapportagedoeleinden. Macro-kruisverwijzingen in het Analyse-werkblad weerspiegelen alle objecten, niet alleen knoppen. Niet-macro actietypen op niet-knopobjecten worden niet gerapporteerd.
Berekeningsvoorwaarden
Berekeningsvoorwaarden worden behouden voor de volgende visualisatietypen: staafdiagram, boxplot, combinatiegrafiek, meter, lijndiagram, Mekko-diagram, cirkeldiagram, spreidingsdiagram, rasterdiagram, draaitabel, tabel, treemap en watervalgrafiek.
De voorwaarde-uitdrukking en het aangepaste foutbericht (de tekst die aan gebruikers wordt getoond wanneer niet aan de voorwaarde is voldaan) worden beide toegepast op de hyperkubusdefinitie. Als het oorspronkelijke QlikView object geen aangepast bericht heeft, Qlik Sense geeft het standaardbericht voor de berekeningsvoorwaarde weer.
Visualisatietypen die niet in de bovenstaande lijst staan (waaronder trechterdiagram, radardiagram en KPI) ontvangen geen berekeningsvoorwaarde. Als een QlikView-object een berekeningsvoorwaarde heeft en het doel-visualisatietype de functie niet ondersteunt, worden zowel de voorwaarde als het bericht stilzwijgend genegeerd.