Accéder au contenu principal Passer au contenu complémentaire

Bonnes pratiques de modélisation des données

Cette section décrit différentes manières de charger des données dans une application Qlik Sense, suivant la structure des données et le modèle de données que vous souhaitez obtenir.

Conversion de colonnes de données en lignes

Mes données ressemblent probablement à celles-ci et je souhaite disposer les chiffres des ventes dans un champ distinct :

Table de données d'origine
YearQ1Q2Q3Q4
201334545352
201447566567
201557566371

 

Utilisez le préfixe Crosstable lorsque vous chargez la table.

Le résultat final aura l'aspect suivant :

Table après application du préfixe Crosstable
Year Quarter Sales
2013 Q1 34
2013Q254
2013Q353
2013Q452
2014Q147
.........

Pour en savoir plus sur les tableaux croisés, voir Utilisation des tableaux croisés dans le script de chargement de données et Crosstable.

Conversion de lignes de données en colonnes

Je dispose d'une table générique contenant trois champs semblables à ceux-ci et je souhaite disposer chaque attribut sous forme de table distincte :

Table générique comportant trois champs
Object Attribute Value
ball color red
balldiameter25
ballweight3
boxcolor56
boxheight30
boxlength20
boxwidth25

 

Créez un modèle de données générique à l'aide du préfixe de chargement Generic.

Vous obtiendrez un modèle de données qui aura l'aspect suivant :

Modèle de données générique.

Pour en savoir plus sur les données génériques, voir Bases de données génériques et Generic.

Chargement de données organisées en niveaux hiérarchiques, par exemple un schéma organisationnel

Mes données sont stockées dans une table de nœuds adjacents qui a l'aspect suivant :

Table de nœuds adjacents
NodeID ParentNodeID Title
1 - General manager
21Country manager
32Region manager

 

Chargez les données avec le préfixe Hierarchy afin de créer une table de nœuds étendus :

Table de nœuds étendus
NodeID ParentNodeID Title Level1 Level2 Level3
1 - General manager General manager - -
21Country managerGeneral managerCountry manager-
32Region managerGeneral managerCountry managerRegion manager

Pour en savoir plus sur les niveaux hiérarchiques, voir Chargement de données hiérarchiques et Hierarchy.

Chargement des seuls enregistrements nouveaux ou mis à jour dans une base de données volumineuse

Je dispose d'une base de données comportant un grand nombre d'enregistrements et je ne souhaite pas recharger la totalité de la base de données pour actualiser le contenu de mon application. J'aimerais simplement charger les enregistrements nouveaux ou mis à jour, et effacer ceux qui ont été supprimés de la base de données.

 

Implémentez une solution de chargement incrémentiel à l'aide de fichiers QVD.

Pour plus d'informations, consultez Chargement incrémentiel d'enregistrements nouveaux et mis à jour.

Combinaison de données issues de deux tables avec un champ commun

Qlik Sense associe les tables avec un champ commun de manière automatique, mais je souhaite contrôler la façon dont les tables sont combinées.

 : Join / Keep

Vous pouvez combiner deux tables en une seule table interne à l'aide des préfixes Join ou Keep.

Pour plus d'informations, consultez Combinaison de tables grâce à Join et Keep.

: Mapping

Une solution alternative à la jointure de tables consiste à utiliser le mapping, qui automatise la recherche de valeurs associées dans une table de mapping. Cette méthode permet de réduire la quantité de données à charger.

Pour plus d'informations, consultez Utilisation du mapping comme alternative à la jointure.

Correspondance d'une valeur discrète avec un intervalle

Je dispose d'une table de valeurs numériques discrètes (Event) et je souhaite la faire correspondre avec un ou plusieurs intervalles (Start et End).

Table de valeurs numériques discrètes (Event)
TimeEventComment
00:000Start of shift 1
01:181Line stop
02:232Line restart 50%
04:153Line speed 100%
08:004Start of shift 2
11:435End or production
Table comprenant des intervalles (Start et End)
StartEndOrder
01:0003:35A
02:3007:58B
03:0410:27C
07:2311:43D

 

Utilisez le préfixe IntervalMatch pour lier le champ Time à l'intervalle défini par Start et End.

Pour plus d'informations, consultez Correspondance entre intervalles et données discrètes.

Si cet intervalle n'est pas défini de manière explicite par les préfixes de début et de fin (start et end), mais simplement au moyen d'un horodatage de modification tel que dans la table ci-dessous, vous devez créer une table d'intervalles.

Table comportant un horodatage de modification
CurrencyChange DataRate
EUR-8.59
EUR28/01/20138.69
EUR15/02/20138.45
USD-6.50
USD10/01/20136.56
USD03/02/20136.30

Pour plus d'informations, consultez Création d'un intervalle de dates à partir d'une seule date.

Gestion de valeurs de champ incohérentes

Mes données contiennent des valeurs de champ qui ne sont pas nommées de manière cohérente dans différentes tables. Par exemple, une table contient la valeur US dans la colonne Country tandis qu'une autre contient la valeur United States. Cette situation empêchera la création d'associations.

Table 1
CountryRegion
USMaryland
USIdaho
USNew York
USCalifornia
Table 2
Country Population
United States 304
Japan 128
Brazil 192
China 1333

 

Procédez au nettoyage des données à l'aide d'une table de mapping, qui permettra de comparer les valeurs des champs et d'activer les associations appropriées.

Pour plus d'informations, consultez Nettoyage de données.

Gestion des incohérences dans la casse des valeurs de champ

Mes données contiennent des valeurs de champ qui ne sont pas mises en forme de manière cohérente dans différentes tables. Par exemple, une table contient la valeur single dansType tandis qu'une autre table contient la valeur Single pour le même champ. Une telle situation empêche les associations, car le champ Type contiendra les deux valeurs single et Single ; la casse compte en effet.

Table 1
TypePrice
single23
double39
Table 2
TypeColor
SingleRed
SingleBlue
DoubleWhite
DoubleBlack

 

Si vous avez chargé les données via Ajouter des données, vous pouvez corriger le problème dans le Gestionnaire de données.

  1. Dans le Gestionnaire de données, ouvrez Table2 dans l'éditeur de table.
  2. Renommez le champ Type en Table2.Type.

    Si vous avez simplement ajouté la table via Ajouter des données en ayant activé la fonction de profilage des données, il est possible que le champ s'appelle déjà Table2.Type afin d'éviter une association automatique. Dans ce cas, cette procédure associe les deux tables.

  3. Créez un champ calculé au moyen de l'expression Lower(Table2.Type) et nommez-le Type.
  4. Cliquez sur Charger les données.

Les tables Table1 et Table2 doivent maintenant être associées par le champ Type, qui contient uniquement des valeurs en minuscules, comme single et double.

Si vous souhaitez utiliser un autre type de casse, vous pouvez également le faire au moyen de procédures similaires, mais n'oubliez pas que les tables seront associées à l'aide des champs portant le même nom.

  • Pour que la première lettre de toutes les valeurs soit mise en majuscules, par exemple Single, créez plutôt le champ calculé Type dans Table1, et utilisez l'expression Capitalize(Table1.Type).
  • Pour que toutes les valeurs soient intégralement mises en majuscules, par exemple SINGLE, créez le champ calculé Type dans les deux tables, et utilisez les expressions Upper(Table1.Type) et Upper(Table2.Type) respectivement.

Pour en savoir plus sur les champs calculés, voir Utilisation de champs calculés.

Pour en savoir plus sur la mise en majuscules, voir Capitalize Fonction de script et de graphique, Lower Fonction de script et de graphique et Upper Fonction de script et de graphique.

Chargement de données géospatiales pour visualiser des données sur une carte

Je dispose de données que je souhaite visualiser au moyen d'une carte, par exemple des données de ventes par pays ou par magasin. Pour utiliser la visualisation d'une carte, je dois charger des données de zones ou des données de points.

 

Vous pouvez charger des données de zones ou de points correspondant aux lieux de vos valeurs de données à partir d'un fichier KML ou Excel. Vous devez par ailleurs charger l'arrière-plan réel de la carte.

Pour plus d'informations, consultez Chargement de données de carte personnelles.

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.