match - fonction de script et fonction de graphique
La fonction match compare le premier paramètre à tous les paramètres suivants et renvoie l'emplacement numérique des expressions qui correspondent. La comparaison est sensible à la casse des caractères.
match( str, expr1 [ , expr2,...exprN ])
Certains exemples de cette rubrique utilisent des chargements inline. Utilisation de chargements inline pour charger des données
Exemple : Script de chargement avec match
Script de chargement
La fonction match permet de charger un sous-ensemble de données. Par exemple, vous pouvez renvoyer une valeur numérique pour une expression dans la fonction. Vous pouvez ensuite limiter les données chargées d'après la valeur numérique. Match renvoie 0 en l'absence de correspondance. Dans cet exemple, toutes les expressions sans correspondance renverront donc 0 et seront exclues du chargement de données par l'instruction WHERE.
Créez un nouvel onglet dans l'éditeur de chargement de données, puis chargez les données suivantes sous forme de chargement inline. Créez le tableau ci-dessous dans Qlik Sense pour afficher les résultats.
Transactions:
Load * Inline [
transaction_id, transaction_date, transaction_amount, transaction_quantity, customer_id, size, color_code
3750, 20180830, 23.56, 2, 2038593, L, Red
3751, 20180907, 556.31, 6, 203521, m, orange
3752, 20180916, 5.75, 1, 5646471, S, blue
3753, 20180922, 125.00, 7, 3036491, l, Black
3754, 20180922, 484.21, 13, 049681, xs, Red
3756, 20180922, 59.18, 2, 2038593, M, Blue
3757, 20180923, 177.42, 21, 203521, XL, Black
];
/*
Create new table called Transaction_Buckets
Create new fields called Customer, and Color code - Blue and Black
Load Transactions table.
Match returns 1 for 'Blue', 2 for 'Black'.
Does not return a value for 'blue' because match is case sensitive.
Only values that returned numeric value greater than 0
are loaded by WHERE statment into Transactions_Buckets table.
*/
Transaction_Buckets:
Load
customer_id,
customer_id as [Customer],
color_code as [Color Code Blue and Black]
Resident Transactions
Where match(color_code,'Blue','Black') > 0;
Résultats
Color Code Blue and Black | Customer |
---|---|
Black | 203521 |
Black | 3036491 |
Blue | 2038593 |
Exemples - Expressions de graphique avec match
Expression de graphique 1
Script de chargement
Créez un nouvel onglet dans l'éditeur de chargement de données, puis chargez les données suivantes sous forme de chargement inline. Après avoir chargé les données, créez les exemples d'expression de graphique ci-dessous dans un tableau Qlik Sense.
MyTable:
Load * inline [Cities, Count
Toronto, 123
Toronto, 234
Toronto, 231
Boston, 32
Boston, 23
Boston, 1341
Beijing, 234
Beijing, 45
Beijing, 235
Stockholm, 938
Stockholm, 39
Stockholm, 189
zurich, 2342
zurich, 9033
zurich, 0039];
La première expression de la table ci-dessous renvoie 0 pour Stockholm, car « Stockholm » ne figure pas dans la liste d'expressions de la fonction match. Elle renvoie également 0 pour « Zurich », car la comparaison match respecte la casse des caractères.
Cities | match( Cities,'Toronto','Boston','Beijing','Zurich') | match( Cities,'Toronto','Boston','Beijing','Stockholm','zurich') |
---|---|---|
Beijing | 3 | 3 |
Boston | 2 | 2 |
Stockholm | 0 | 4 |
Toronto | 1 | 1 |
zurich | 0 | 5 |
Expression de graphique 2
La fonction match vous permet de définir un tri personnalisé pour une expression.
Par défaut, les colonnes sont triées par nombre ou par ordre alphabétique, selon les données.
Cities |
---|
Beijing |
Boston |
Stockholm |
Toronto |
zurich |
Pour modifier l'ordre, procédez comme suit :
- Ouvrez la section Tri relative au graphique dans le panneau des propriétés.
- Désactivez le tri automatique défini pour la colonne à laquelle vous souhaitez appliquer un tri personnalisé.
- Désélectionnez Trier par nombre et Trier par ordre alphabétique.
-
Sélectionnez Trier par expression, puis saisissez une expression semblable à la suivante :
=match( Cities, 'Toronto','Boston','Beijing','Stockholm','zurich')
L'ordre de tri appliqué à la colonne Cities est modifié en conséquence.
Cities |
---|
Toronto |
Boston |
Beijing |
Stockholm |
zurich |
Vous pouvez également afficher la valeur numérique renvoyée.
Cities | Cities & ' - ' & match ( Cities, 'Toronto','Boston', 'Beijing','Stockholm','zurich') |
---|---|
Toronto | Toronto - 1 |
Boston | Boston - 2 |
Beijing | Beijing - 3 |
Stockholm | Stockholm - 4 |
zurich | zurich - 5 |