Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Qlik Sense Set Annalysis

Bonjour a tous,

Je voudrais traduire ce morceau de requette en set annalisis dans Qlik Sense. comment faire?

and not exists (select * from stocks where STOC_EMPLACEMENT = empl_nom)

and EMPL_DESCRIPTION NOT LIKE 'MAS%'

Merci d'avance.

1 Solution

Accepted Solutions
christophebrault
Specialist
Specialist

Bonjour,

Je pense que le plus simple pour faire ceci est de créer un flag dans le script.

Tu charges ta tables des stocks

LOAD STOC_EMPLACEMENT ,

            ...

FROM ...;


Puis tes emplacements :


LOAD empl_nom,

           ... ,

          If(exists(STOC_EMPLACEMENT,empl_nom),1,0) as FlagEnStock //  met 1 si l'empl_nom est dans STOC_EMPLACEMENT.


Ton set analysis est donc :


Count({$<FlagEnStock ={0},EMPL_DESCRIPTION = {'*'} - {'MAS*'}>} EMPL_NOM)

Inscrivez vous à ma Newletter Qlik
DoNotMissQlik- Connect with me on Linkedin

View solution in original post

6 Replies
flochi75
Creator III
Creator III

Bonjour Quentin,

je ne sais pas ce que tu veux compter, donc je te propose cette syntaxe :

count(distinct {$<STOC_EMPLACEMENT-={"empl_nom"},EMPL_DESCRIPTION-={"MAS%"}>} MonChamp)

ici tu comptes le nb de MonChamp différent qui n'est pas lié à "empl_nom" ni à "MAS%" (si j'ai bien compris la requête sql...)

Florent

Anonymous
Not applicable
Author

Merci pour ta réponse.

En fait ce que je veux faire c'est compter le nombre d'emplacement qui n'apparaisse pas dans la table stock.

La requête complète :

select COUNT(*) , 'STOCKAGE LIBRE' from EMPLACEMENTS

where isnull(empl_etat,0)>=0

and empl_type='STOCKAGE'

and not exists (select * from stocks where STOC_EMPLACEMENT = empl_nom)

and EMPL_DESCRIPTION NOT LIKE 'MAS%'

J'ai donc déjà ça :

Count({(($-<EMPL_ETAT={'*'}>) + $<EMPL_ETAT={0}>) * $<EMPL_TYPE={'STOCKAGE'}> * $<EMPL_DESCRIPTION = {'*'} - {'MAS*'}>} EMPL_NOM)

Mais pour exlure les emplacement qui apparaisse dans stock je ne sais pas comment faire

christophebrault
Specialist
Specialist

Bonjour,

Je pense que le plus simple pour faire ceci est de créer un flag dans le script.

Tu charges ta tables des stocks

LOAD STOC_EMPLACEMENT ,

            ...

FROM ...;


Puis tes emplacements :


LOAD empl_nom,

           ... ,

          If(exists(STOC_EMPLACEMENT,empl_nom),1,0) as FlagEnStock //  met 1 si l'empl_nom est dans STOC_EMPLACEMENT.


Ton set analysis est donc :


Count({$<FlagEnStock ={0},EMPL_DESCRIPTION = {'*'} - {'MAS*'}>} EMPL_NOM)

Inscrivez vous à ma Newletter Qlik
DoNotMissQlik- Connect with me on Linkedin
flochi75
Creator III
Creator III

j'ai du mal à imaginer ton modèle de données.

Tu as plusieurs tables (au moins 2) et tu veux compter le nb de champ "EMPL_NOM" d'une table que tu ne retrouves pas dans l'autre ?

tu peux joindre ton appli ? ton modèle de données ?

Florent

Anonymous
Not applicable
Author

flochi75
Creator III
Creator III

Merci Quentin,

déjà, il faut éviter de faire des calculs sur des clés.

Je te conseille de créer une clé genre "@CLEEMPL_NOM" pour lier tes 2 tables et renommer "EMPL_NOM" dans chacune de tes 2 tables pour les différencier (genre "EMPL_NOMSTOCKS" et EMPL_NOMEMPL")

Après tu peux tester la proposition de Christophe, en choisissant le bon EMPL_NOM... (celui dans la table ou il est sensé être manquant).

Florent