Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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 ?
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])
Bonjour,
Pouvez-vous essayer ceci :
sum({<[Id_ADS]={"=len([Id_ADS])=0"},[Description]={"=wildmatch([Description],'*ADS*') and not wildmatch([Description],'*ADSL*')"}>}[Mnt])
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
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
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 ?
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])
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