Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik GA: Multivariate Time Series in Qlik Predict: Get Details
cancel
Showing results for 
Search instead for 
Did you mean: 
scribidouille
Contributor III
Contributor III

Set analysis et dimension avec valeur nulle

Tout d'abord je précise que je n'ai pas les droits sur le script de chargement et sur la création des dimensions principales.

 

Je suis en train de construire un tableau avec 2 dimensions Id_ADS et Description et 1 mesure Mnt. 

Je veux faire filtrer mon tableau et n'afficher la somme de Mnt que lorsqu'Id_ADS est null et que la description contienne 'ADS' mais pas 'ADSL'

 

J'ai commencé avec cette expression pour le mnt :

sum({<[Id_ADS]={''},[Description]={"=wildmatch([Description],'*ADS*') and not wildmatch([Description],'*ADSL*')"}>}[Mnt])

Mais çà filtre la partie bleue et la partie orange de mon schéma (fichier joint), c'est à dire que Qlik filtre bien sur la description mais pas sur l'Id_ADS

 

J'ai tenté de faire çà :

sum({<[Description]={"=wildmatch([Description],'*ADS*') and not wildmatch([Description],'*ADSL*')"}>}[Mnt])
-sum({<[Id_ADS]-={'*'},[Description]={"=wildmatch([Description],'*ADS*') and not wildmatch([Description],'*ADSL*')"}>}[Mnt])

Les montants sont corrects sur les lignes de la partie bleue. Malheureusement les lignes de partie orange du schéma sont toujours présentes même si le montant est 0.

Décocher l'option "Ignorer les 0" ne règle pas le problème et je ne le souhaite pas car j'ai des lignes dans la partie bleue qui ont un mnt=0.

Je songeais à utiliser la fonction d'ensemble E() mais je ne suis pas à l'aise avec et encore plus dans un set analysis. 

Est ce qu'un expert a déjà réussi à trouver une solution pour gérer les valeurs nulles dans un set analysis ?

Labels (1)
1 Solution

Accepted Solutions
scribidouille
Contributor III
Contributor III
Author

Finalement j'ai trouvé la solution à partir de la vidéo suivante : How to Select the Null Value of a Field Together with Another Variable in Qlik Sense Set Analysis

Ci dessous l'expression qui fonctionne :

sum(

{

<[Description]={"=wildmatch([Description],'*ADS*') and not wildmatch([Description],'*ADSL*')"}>
-

<[Id ADS]-={'*'},[Description ={"=wildmatch([Description ,'*ADS*') and not wildmatch([Description],'*ADSL*')"}>
}
[Mnt])

View solution in original post

6 Replies
Clement15
Partner - Specialist
Partner - Specialist

Bonjour,

Pouvez-vous essayer ceci :

sum({<[Id_ADS]={"=len([Id_ADS])=0"},[Description]={"=wildmatch([Description],'*ADS*') and not wildmatch([Description],'*ADSL*')"}>}[Mnt])

scribidouille
Contributor III
Contributor III
Author

J'ai essayé mais çà m'efface toutes les lignes au lieu des lignes attendues. Id_intranet_ADS n'est pas égal à ' ' mais est null et je n'arrive pas à gérer un set analysis avec des valeurs nulles 

scribidouille
Contributor III
Contributor III
Author

Id_ADS quand il est alimenté commence soit par A, soit par S.

sum({<[Id_ADS]={"=not wildmatch([id_ads],'A*','S*')"},[Description]={"=wildmatch([Description],'*ADS*') and not wildmatch([Description],'*ADSL*')"}>}[Mnt])

Mais à nouveau 0 lignes affichées alors que j'ai recensé 401 lignes répondants à ces critères

Clement15
Partner - Specialist
Partner - Specialist

Dans votre dernière mesure, vous avez 2 orthographes pour Id_ADS, cela peut provoquer des erreurs. 
Est-ce que vos champs Id_ADS et Mnt sont dans la même table ? 

scribidouille
Contributor III
Contributor III
Author

Finalement j'ai trouvé la solution à partir de la vidéo suivante : How to Select the Null Value of a Field Together with Another Variable in Qlik Sense Set Analysis

Ci dessous l'expression qui fonctionne :

sum(

{

<[Description]={"=wildmatch([Description],'*ADS*') and not wildmatch([Description],'*ADSL*')"}>
-

<[Id ADS]-={'*'},[Description ={"=wildmatch([Description ,'*ADS*') and not wildmatch([Description],'*ADSL*')"}>
}
[Mnt])

scribidouille
Contributor III
Contributor III
Author

Je donne toujours des génériques car mes données sont confidentielles. Le problème ne se situait pas au niveau du nom du champ mais la gestion des ensembles de données.

Dans le set analysis, il fallait déduire le sous ensemble (Id ADS non nul et Description contenant ADS et pas ADSL) de l'ensemble (Description Contenant ADS et pas ADSL) pour obtenir l'ensemble (Id ADS nul et Description contenant ADS et Pas ADSL) comme suit :

{< >-< >}

 

Merci pour les pistes à tester