Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
afguillard
Contributor III
Contributor III

Différence entre Applymap et Map using

Bonjour,

Je ne comprend pas quand il faut utiliser map using ou applymap. Je pensais que Applymap ne pouvait pas être utilisé pour mapper autre chose qu'une expression or je viens de tester et ça fonctionne avec une valeur de champ :

Map_1:
Mapping LOAD
N°_Client as ID_Client,
Nom_Client

FROM [Liste Clients.xlsx]
(
ooxml, embedded labels, table is Clients);

Directory;

Ventes:
LOAD Date_Commande,
Commande,
Réf_Produit,
Applymap('Map_1',ID_Client) as Nom_Client,
Volume,
Year(Date_Commande) as Année,
Month(Date_Commande) as Mois,
Date(Monthstart(Date_Commande), 'MMM-YYYY') as AnnéeMois

FROM Etat des ventes_2016.xlsx
(
ooxml, embedded labels, table is Ventes) where (Réf_Produit <> '2AT2');

Par ailleurs, est-ce nécessaire de renommer le champ 'N°_Client' de la table Map_1 comme celui à remplacer dans la table Ventes ('ID_Client')?


Merci de vos éclaircissements.


Anne-Flore

1 Solution

Accepted Solutions
sfatoux72
Partner - Specialist
Partner - Specialist

Bonjour Anne -Flore,

Un nom de champ est une expression, une expression simple qui retourne la valeur du champ.

Avec "Map ... Using ...", le mappage est effectué en dernier dans la chaîne des événements qui conduisent au stockage du champ dans la table interne de QlikView. Cela signifie que le mappage n'est pas effectué à chaque fois qu'un nom de champ est rencontré dans une expression, mais plutôt lorsque la valeur est stockée sous ce nom de champ dans la table interne. Si le mappage au niveau de l'expression est requis, la fonction Applymap() doit être utilisée à la place.

La partie en italique vient de l'aide de QlikView. Je pense que "Map ... Using ..." doit être plus performant (mais c'est à vérifier).

L'avantage de ApplyMap(), c'est que lui donne une valeur à mapper (expression) et que l'on peut lui donner une valeur par défaut.

Le nom des champs d'une table de mapping n'a aucune importance. Il faut simplement 2 champs, le premier étant utiliser comme clé de mapping et le second comme valeur à retourner.

View solution in original post

2 Replies
sfatoux72
Partner - Specialist
Partner - Specialist

Bonjour Anne -Flore,

Un nom de champ est une expression, une expression simple qui retourne la valeur du champ.

Avec "Map ... Using ...", le mappage est effectué en dernier dans la chaîne des événements qui conduisent au stockage du champ dans la table interne de QlikView. Cela signifie que le mappage n'est pas effectué à chaque fois qu'un nom de champ est rencontré dans une expression, mais plutôt lorsque la valeur est stockée sous ce nom de champ dans la table interne. Si le mappage au niveau de l'expression est requis, la fonction Applymap() doit être utilisée à la place.

La partie en italique vient de l'aide de QlikView. Je pense que "Map ... Using ..." doit être plus performant (mais c'est à vérifier).

L'avantage de ApplyMap(), c'est que lui donne une valeur à mapper (expression) et que l'on peut lui donner une valeur par défaut.

Le nom des champs d'une table de mapping n'a aucune importance. Il faut simplement 2 champs, le premier étant utiliser comme clé de mapping et le second comme valeur à retourner.

afguillard
Contributor III
Contributor III
Author

Merci de ces précisions.

Bonne journée,

Anne-Flore