Détails de conversion d'objet | Aide Centre de migration
Accéder au contenu principal Passer au contenu complémentaire

Détails de conversion d'objet

Dernière mise à jour : 14/10/2026

QV2QS gère une gamme de fonctionnalités spécifiques à QlikView lors de la conversion.

Expressions

QV2QS transmet les expressions QlikView à Qlik Sense avec une transformation minimale. Le langage d'expression est largement partagé entre QlikView et Qlik Sense, donc la plupart des expressions fonctionnent sans modification.

QV2QS applique les transformations suivantes :

  • Préfixe égal — Qlik Sense nécessite un = pour les expressions de mesure et certaines expressions de propriété. QV2QS ajoute le préfixe, si nécessaire, lorsque l'expression QlikView d'origine n'en inclut pas.
  • Suppression des commentaires — Les commentaires de ligne entière commençant par //, # ou REM sont supprimés des expressions inline. Les expressions de propriétés Qlik Sense ne prennent pas systématiquement en charge la syntaxe des commentaires, donc la suppression empêche les erreurs d'évaluation. Les commentaires de bloc (/* */) ne sont pas supprimés. Les commentaires en ligne // dans une ligne de code ne sont pas non plus supprimés.

Les fonctionnalités d'expression suivantes sont transmises telles quelles et fonctionnent dans Qlik Sense sans modification :

  • Expressions d'analyse de jeu (par exemple, {<Year={2024}>})
  • Expansion du signe dollar et références de variable (par exemple, $(vMyVar))
  • Expressions Aggr() emboîtées
  • If() expressions, y compris les expressions de mise en forme conditionnelle
  • Pick(), Match(), et Dual() modèles
  • Dimensions calculées

Définir la mise entre guillemets de l'analyse

QlikView (avant novembre 2017) traitait les valeurs entre guillemets simples dans les modificateurs d'ensemble comme des recherches insensibles à la casse, identiques aux valeurs entre guillemets doubles. Qlik Sense traite les valeurs entre guillemets simples comme des littéraux sensibles à la casse. Cette différence peut casser des expressions qui reposent sur des caractères génériques, des opérateurs de comparaison ou la correspondance numérique à l'intérieur de guillemets simples.

QV2QS analyse toutes les expressions d'objet et les définitions de variable pour les modèles de guillemets d'analyse d'ensemble qui se comportent différemment dans Qlik Sense. Les modèles détectés incluent les caractères génériques entre guillemets simples ('*US*'), les opérateurs de comparaison entre guillemets simples ('>=5'), les valeurs entre guillemets simples sur les champs numériques, et les valeurs de chaîne brutes non entre guillemets. Les résultats apparaissent dans la feuille de calcul Constatations_d'expression du rapport Excel.

QV2QS corrige automatiquement les valeurs de recherche entre guillemets simples lors de la conversion. Un correctif expérimental pour les valeurs de chaîne brutes non citées est également disponible mais désactivé par défaut.

  • Valeurs de recherche entre guillemets simples (activé par défaut) sont converties en guillemets doubles : {<Country={'*US*'}>} devient {<Country={"*US*"}>}. Les modèles de recherche détectés incluent les caractères génériques (*, ?, ^), les opérateurs de comparaison, la recherche partielle (~), la recherche d'expressions (=), les modificateurs de recherche (+, -), et la recherche composée. Les valeurs entre guillemets simples sur les champs numériques qui ne contiennent pas de syntaxe de recherche sont signalées pour examen manuel mais ne sont pas corrigées automatiquement.
  • Valeurs de chaîne nues non citées (expérimental, désactivé par défaut) sont entourées de guillemets simples : {<Country={USA}>} devient {<Country={'USA'}>}. Transmettez --fixUnquotedSetValues pour activer.

Les correctifs sont appliqués par remplacement positionnel uniquement au sein des listes de valeurs de modificateurs définis. Les noms de champs, les noms de fonctions et autre texte d'expression ne sont jamais modifiés. Les deux correctifs sont contrôlés indépendamment. Passez --noFixSingleQuotedSearch pour désactiver la correction des guillemets simples. Les résultats de fonctions non prises en charge ne sont pas modifiés.

La feuille de calcul Expression_Findings et le tableau de bord du résumé exécutif incluent une colonne Source qui indique si chaque constatation provient d'une définition de variable ou d'une expression d'objet graphique. Une colonne Statut indique si le constat a été corrigé automatiquement, nécessite une révision manuelle ou si aucune correction automatique n'est disponible.

Pour la liste complète des modèles détectés, voir Analyse. Pour la référence de la syntaxe d'analyse d'ensemble, consultez Analyse d'ensemble dans l'aide de Qlik Cloud.

Note Informations

QV2QS analyse tous les champs d'expression (dimensions, mesures, conditions d'affichage, expressions de couleur, titres, conditions de calcul et autres), ainsi que les définitions de variable et le script de chargement, à la recherche de fonctions non prises en charge. Les occurrences détectées sont répertoriées dans le rapport d'analyse.

Les fonctions spécifiques à QlikView suivantes ne sont pas disponibles dans Qlik Sense :

  • GetCurrentField, GetExtendedProperty
  • Input, InputSum, InputAvg
  • MsgBox
  • Image_Size
  • NoOfReports, ReportComment, ReportId, ReportName, ReportNumber

Pour la liste des modèles de scripts de chargement détectés, consultez Analyse.

Formatage des nombres

QV2QS convertit les définitions de format numérique de QlikView en types de format numérique de Qlik Sense. Le type de format est mappé à l'équivalent Qlik Sense, et la chaîne de format personnalisée (Fmt), le séparateur décimal, le séparateur de milliers et la précision décimale sont tous préservés tels quels. Les chaînes de format personnalisées telles que #,##0.00;(#,##0.00) ou '$'#,##0 sont transmises telles quelles dans le champ qFmt.

Les types de format QlikView suivants sont mappés :

Type QlikView Qlik Sense type
FIXE, RÉEL, ENTIER Fixe (F)
MONEY Argent (M)
DATE Date (D)
TIME Temps (T)
TIMESTAMP Horodatage (HDG)
INTERVAL Intervalle (IV)

Tri

QV2QS convertit tous les critères de tri QlikView en équivalents Qlik Sense. Les paramètres de tri suivants sont mappés un-à-un : tri par état, tri par fréquence, tri par valeur numérique, tri par ordre alphabétique, tri par ordre de chargement, tri par expression (y compris le texte de l'expression), et tri par niveau de gris.

Pour les champs de zone de liste, QV2QS applique une heuristique supplémentaire pour supprimer le tri basé sur l'état sur les champs de type date. Pour plus de détails, consultez Référence des arguments.

Indices visuels et coloration conditionnelle

Les repères visuels QlikView (couleurs conditionnelles basées sur des seuils pour les mesures) sont convertis en expressions de couleur Qlik Sense pour les visualisations de tableau et de tableau croisé dynamique. QV2QS génère des expressions imbriquées If() avec des fonctions de couleur RGB() ou ARGB() qui reproduisent le comportement de seuil bas/normal/élevé d'origine. Les indices de couleur du texte et de couleur de fond sont tous deux convertis. Repères visuels sur les visualisations de graphique (histogramme, graphique en courbes, combiné, et autres) ne sont pas convertis.

Coloration basée sur une expression

QV2QS convertit les expressions de couleur par dimension et par mesure (couleur d'arrière-plan et couleur du texte) en expressions d'attribut Qlik Sense. Pour les visualisations de tableau et de tableau croisé dynamique, les expressions de couleur de fond et de texte sont toutes deux conservées (cellBackgroundColor et cellForegroundColor). Pour les visualisations de graphique, les expressions de couleur d'arrière-plan des mesures sont converties en colorByExpression mode. Les expressions de couleur de dimension et les expressions de couleur de texte de mesure ne sont pas converties pour les types de graphique, car les graphiques Qlik Sense ne prennent pas en charge les expressions d'attribut de couleur par dimension ou les attributs de couleur de texte par mesure.

Pour les visualisations de tableau et de tableau croisé dynamique, si aucune expression de couleur explicite n'existe sur une mesure mais que des indices visuels sont définis, QV2QS génère automatiquement une expression de couleur à partir des seuils d'indices visuels.

Lignes de tendance

Les lignes de tendance QlikView sur les mesures du graphique sont converties en lignes de tendance Qlik Sense. Les types de courbe de tendance suivants sont supportés :

  • Moyenne, Linéaire, Exponentielle, Logarithmique, Puissance
  • Polynôme (degré 2, 3 et 4)

Lignes de référence

Les lignes de référence QlikView sur les axes du graphique sont converties en lignes de référence Qlik Sense. L'étiquette, l'expression de valeur, la couleur, le style de ligne et la condition d'affichage (expression de visibilité conditionnelle) sont conservés. Si une ligne de référence n'a pas de condition d'affichage, la visibilité par défaut est toujours affichée. Les graphiques combinés prennent en charge les lignes de référence sur les axes primaire et secondaire.

Affectation des axes du graphique combiné

QV2QS préserve les affectations d'axe du combiné QlikView. Chaque mesure conserve la liaison à l'axe primaire ou secondaire du graphique QlikView d'origine. Les types de séries de mesures (barre, ligne, marqueur) sont également préservés.

Groupes de dimensions

QV2QS convertit les groupes cycliques et les groupes d'exploration QlikView en dimensions maîtresses Qlik Sense. Les groupes cycliques deviennent des dimensions maîtresses cycliques. Les groupes d'exploration deviennent des dimensions maîtresses d'exploration. Les graphiques qui référencent une dimension de groupe sont liés à la dimension maître correspondante dans l'application convertie.

Gestion des polices

Qlik Sense prend en charge un ensemble fixe de polices web sécurisées. QV2QS mappe les polices QlikView à la police Qlik Sense la plus proche disponible. Les polices qui ne peuvent pas être mappées utilisent la police de secours (Source Sans Pro).

Les polices QlikView suivantes ont des mappages explicites :

Police QlikView Police de caractères 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

Les polices personnalisées qui ne se trouvent pas dans la bibliothèque de polices de Qlik Sense sont mappées à Source Sans Pro.

Note Informations

Les polices à chasse fixe (Courier New, Consolas) sont mappées à la police proportionnelle Source Sans Pro. L'alignement des caractères monospace n'est pas préservé.

Variables système

QV2QS exclut les variables système de la liste des variables converties. Ces variables sont gérées par le moteur Qlik et n'ont pas besoin d'être incluses dans variables.json. Parmi les exemples, citons DateFormat, ThousandSep, DecimalSep, TimestampFormat, ErrorMode, et NullDisplay.

Les variables système qui ont été explicitement définies dans le script de chargement (par exemple, SET DateFormat='YYYY-MM-DD';) sont conservées dans le script de chargement et prennent effet lors du rechargement. L'exclusion s'applique uniquement aux définitions de variable dans l'application convertie, et non aux SET ou LET instructions dans le script de chargement.

Les variables définies par l'utilisateur sont converties.

Mode Treillis

Les graphiques QlikView avec le mode treillis activé (EnablePrimaryDimension) utilisent la première dimension comme champ de facettisation pour afficher une grille de mini-graphiques. Qlik Sense n'a pas de mode treillis natif sur les graphiques standard. QV2QS convertit automatiquement les graphiques en treillis en utilisant l'extension de conteneur en treillis Qlik Sense (qlik-trellis-container) du Bundle de visualisation.

Lors de la conversion, QV2QS effectue les étapes suivantes :

  1. Crée une visualisation principale — Le graphique original est converti sans les dimensions de treillis. Pour un treillis uniquement primaire, la dimension 0 est supprimée. Lorsque le treillis secondaire est également activé, les dimensions 0 et 1 sont toutes deux supprimées. Le graphique restant est enregistré en tant que visualisation principale dans l'application.
  2. Crée un conteneur en treillis — Un objet qlik-trellis-container est placé sur la feuille à la position d'origine du graphique. Le conteneur référence la visualisation principale et utilise les dimensions supprimées comme champs de facettisation dans sa définition de données. Lorsque les deux treillis primaire et secondaire sont activés, la définition de données du conteneur contient deux dimensions de facettisation.
  3. Configure la grille — Les paramètres de colonne et de ligne de QlikView correspondent au nombre de colonnes et au nombre maximal de graphiques du conteneur en treillis. Le nombre maximal de graphiques est calculé en multipliant les colonnes par les lignes. Lorsque la cardinalité des dimensions de facettisation dépasse la taille de la grille, QV2QS augmente le nombre maximal de graphiques pour accueillir toutes les valeurs de dimension. Pour le treillis secondaire, la cardinalité totale est le produit des cardinalités des dimensions primaire et secondaire. La valeur est arrondie au multiple supérieur le plus proche du nombre de colonnes afin que la grille se remplisse uniformément. Cette expansion est enregistrée comme un ajustement de graphique.

Le conteneur en treillis utilise le même mappage qv_id que le graphique d'origine, il occupe donc la même position sur la feuille.

Un treillis uniquement primaire nécessite au moins deux dimensions (une pour le facettage du treillis et une pour le graphique maître). Le treillis primaire et secondaire nécessite au moins trois dimensions (deux pour le facettage du treillis et une pour le graphique maître). Les graphiques avec moins de dimensions que nécessaire sont ignorés.

Mesurer l'accumulation

L'accumulation de mesures QlikView (totaux cumulés) est convertie en modificateurs d'accumulation Qlik Sense. Les modes d'accumulation suivants sont pris en charge :

  • Accumulation complète — L'expression de mesure est réécrite en utilisant RangeSum() avec Above() et RowNo() pour produire un total cumulé sur toutes les lignes. Le modificateur fullAccumulation indicateur est défini sur true avec une steps valeur de 6.
  • Accumulation par pas — Lorsque le nombre de pas d'accumulation QlikView est supérieur à 1, l'expression de mesure utilise RangeSum() avec Above() et le nombre de pas spécifié. L'indicateur du modificateur fullAccumulation est défini sur false.

L'expression d'accumulation générée s'adapte au type de champ de dimension :

  • Dimensions numériques — Les limites d'analyse utilisent Min() et Max() pour le champ.
  • Dimensions du texte — Définir les limites d'analyse à l'aide de MinString() et MaxString() pour le champ.
  • Graphiques à deux dimensions — Un Aggr() encapsuleur est généré pour imbriquer l'accumulation dans le contexte de la dimension externe.

Lorsque l'accumulation est appliquée, QV2QS désactive le mode d'axe continu (preferContinuousAxis=false) et définit nullMode à connect pour assurer un rendu visuel correct. L'expression de mesure et l'étiquette d'origine sont conservées dans la propriété du modificateur base.

Conteneurs d'onglets

QV2QS convertit les conteneurs à onglets QlikView en utilisant trois stratégies, selon la configuration et le contexte du conteneur. Dans tous les cas, les objets enfants restent sur la même feuille Qlik Sense que le conteneur.

  • Conteneur à onglets — Les conteneurs multi-onglets autonomes qui ne chevauchent pas d'autres objets sont convertis en conteneurs à onglets natifs de Qlik Sense (sn-tabbed-container). Chaque élément d'onglet devient un onglet dans le conteneur. L'ordre de tabulation suit l'ordre des membres QlikView d'origine.
  • Pseudo-onglets — Lorsqu'un conteneur à plusieurs onglets chevauche d'autres objets ou est imbriqué dans un autre conteneur, QV2QS aplatit les onglets dans un conteneur de disposition. Une bande de boutons est générée avec un action-button par onglet. Chaque bouton définit une variable de navigation à l'aide d'une SetVariable action. Afficher les conditions sur les objets enfants (par exemple, =If('$(vCT01Tab)'='1',1,0)) contrôlent quel contenu d'onglet est visible. Un seul onglet est visible à la fois. La bande de boutons reproduit le comportement de commutation d'onglets du conteneur QlikView d'origine.
  • Conteneur de disposition — Les conteneurs en mode grille sont convertis en conteneurs de disposition (sn-layout-container).

Les conteneurs à objet unique sont simplifiés. Aucun onglet ni variable n'est créé. L'objet enfant unique est placé directement à la position du conteneur avec la condition d'affichage du conteneur appliquée.

Les conteneurs imbriqués sont pris en charge jusqu'à une profondeur de 8 niveaux. QV2QS détecte les cycles et arrête la récursion si un conteneur crée une référence circulaire.

Les conditions d'affichage sur le conteneur et sur les objets enfants individuels sont composées en utilisant un ET logique. Un objet enfant est visible uniquement lorsque la condition du conteneur, la condition de la variable d'onglet et la condition de l'objet enfant évaluent toutes à vrai.

Afficher les conditions

Les conditions d'affichage de QlikView sur les objets individuels sont conservées. Qlik Sense ne prend pas en charge les conditions d'affichage directement sur les objets de visualisation. QV2QS encapsule les objets qui ont des conditions d'affichage dans un conteneur de disposition à enfant unique et applique la condition comme une condition entrée sur le conteneur. Les objets déjà à l'intérieur d'un conteneur de disposition (en raison du chevauchement) reçoivent la condition sur l'entrée du conteneur directement.

Lorsqu'une condition d'affichage est évaluée à faux, le conteneur de disposition reste à la position de la grille mais n'affiche aucun contenu. Le conteneur masqué ne se réduit pas et ne provoque pas la réorganisation des objets adjacents. Dans les modes de grille dynamique et de canevas fixe, l'objet masqué laisse un espace vide à sa position d'origine. Le comportement de l'espace vide correspond à QlikView, où les objets masqués laissent également un espace vide.

États alternatifs

QV2QS préserve les affectations d'état alternatives. Les objets liés à un état alternatif dans QlikView conservent la même liaison d'état dans Qlik Sense. Les noms des États sont conservés exactement. QV2QS crée les états alternatifs requis dans l'application Qlik Cloud pendant le déploiement. Les références d'état alternatif dans les expressions d'analyse d'ensemble (par exemple, {[State2]<Year={2024}>}) sont transmises telles quelles et fonctionnent dans Qlik Sense sans modification.

En mode local uniquement (--unbuildOnly), les noms d'état alternatifs sont écrits dans cloud/alternate_states.json dans le sous-dossier du projet (par exemple, <outputDir>/Sales/cloud/alternate_states.json). Les états doivent être créés manuellement ou par l'qlik app build outil lors du déploiement de la sortie vers un client Qlik Cloud.

Actions d'objet

QV2QS convertit les actions sur les boutons (BU, BT) et les objets texte (TX). Les objets textuels qui contiennent des actions sont promus en boutons d'action (action-button). Les types d'action pris en charge incluent la navigation, SetVariable, SelectField, et d'autres documentés dans Résultats de conversion.

Les actions sur d'autres types d'objets (graphiques, zones de liste, curseurs et conteneurs) ne sont pas converties. QlikView prend en charge OnActivate actions sur tout type d'objet, mais QV2QS analyse les actions uniquement à partir du XML des objets bouton et texte. Les actions non-macro (SetVariable, SelectField, navigation) attachées aux graphiques, aux zones de liste ou à d'autres objets non-bouton sont supprimées lors de la conversion et n'apparaissent pas dans le rapport de conversion. Pour trouver les actions abandonnées, recherchez les fichiers XML PRJ pour <Actions> éléments dans les définitions d'objets non-boutons.

Note Informations

Le scanner d'écarts détecte les invocations de macros sur tous les types d'objets à des fins de rapport. Les références croisées de macros dans la feuille d'analyse reflètent tous les objets, pas seulement les boutons. Les types d'actions non-macro sur les objets non-bouton ne sont pas signalés.

Conditions de calcul

Les conditions de calcul sont conservées pour les types de visualisation suivants : graphique à barres, diagramme en boîte, combiné, jauge, graphique en courbes, graphique Mekko, graphique en secteurs, nuage de points, bulles, tableau croisé dynamique, tableau, treemap et graphique en cascade.

L'expression de la condition et le message d'erreur personnalisé (le texte affiché aux utilisateurs lorsque la condition n'est pas remplie) sont tous deux appliqués à la définition de l'hypercube. Si l'objet QlikView d'origine n'a pas de message personnalisé, Qlik Sense affiche le message de condition de calcul par défaut.

Les types de visualisation ne figurant pas dans la liste ci-dessus (y compris le graphique en entonnoir, le graphique en radar et l'indicateur clé de performance, ICP) ne reçoivent pas de condition de calcul. Si un objet QlikView a une condition de calcul et que le type de visualisation cible ne prend pas en charge la fonctionnalité, la condition et le message sont tous deux supprimés silencieusement.

En savoir plus

Visit the discussion forum at community.qlik.com

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.