Qlik Community

Groupe des Utilisateurs Francophones

Announcements
BI & Data Trends 2021. Discover the top 10 trends emerging in today. Join us on Dec. 8th REGISTER
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Not applicable

Si vide

Bonjour,

je souhaite créer une variable [N° Groupe ou DC] qui me renvoie le N° de Groupe lorsque celui-ci existe et le N° de DC quand il n'y a pas de N° de Groupe. Comment procéder ? Merci !

gROUPE OU dc.JPG

6 Replies
Highlighted
Contributor III
Contributor III

Bonjour,

Je crois que cette ligne dans ton script pourra t'aider.

if(isnull([N° GP]=-1, [N° DC], [N° GP]) as [N° GP ou DC]

Après rechargement du script, tu auras une nouvelle dimension [N° GP ou DC]

Cordialement

Highlighted
Contributor III
Contributor III

si le premier est vide, une simple concaténation devrait suffire :

table:

LOAD * INLINE [

    gpe,dc,

    gp1,dc1

    gp2,dc2

    gp3,dc3

    ,dc4

    ,dc5

    ,dc6

];

table2:

LOAD

  gpe    as Groupe,

  dc     as Cmde,

     gpe&dc as Grpcmde

resident table;

Highlighted
Not applicable

Bonjour David,

merci pour ta réponse mais ça ne fonctionne toujours pas...

j'ai essayé ça

If(IsNull([CIAL_Numéro groupe]),[CIAL_Numéro],[CIAL_Numéro groupe]) As [CIAL_Numérou groupe ou DC]

ça ne fonctionne pas non plus...

La fonction IsNull([CIAL_Numéro groupe]) me renvoie 0 lorsque c'est pas nul et un '-' lorsque c'est vide.

Highlighted
Not applicable

Bonjour Luc,

ça pose problème lorsque qu'aucun champ n'est vide....

Merci

Highlighted
Contributor III
Contributor III

Bonjour Gaëtan,

Oui c'est normal,

La fonction Isnull envoie -1 si le test est vrai est 0 si le test est faux.

Dans ma précédente ligne j'ai oublié une parenthèse :

if(

isnull([N° GP])=-1, [N° DC], [N° GP]) as [N° GP ou DC]

Tu peux retenter stp ca devrait etre ok.

Merci

Highlighted
Contributor III
Contributor III

Exact; çà marche mieux comme çà, par contre la fonction isnull() ne me renvoie pas ce que je croyais dans le if,

alors j('ai pris un   if(trim(gpe)='',dc,gpe)

table:

LOAD * INLINE [

    gpe,dc,

    gp1,dc1

    gp2,dc2

    gp3,dc3

    ,dc4

    ,dc5

    ,dc6

];

table2:

LOAD

  gpe    as Groupe,

  dc     as Cmde,

  if(trim(gpe)='',dc,gpe)

resident table;