Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

if dans un load

Bonjour.

Je ne parviens pas a utiliser correctement un if dans un script load.


Load

  *,

  Date(Date#($(CreationDate_Source), 'YYYY-MM-DD'), 'DD/MM/YYYY') as $(CreationDate_Field),

  Date(Date#($(ExitDate_Source), 'YYYY-MM-DD'), 'DD/MM/YYYY') as $(ExitDate_Field),

  if ($(NetWorkDay) = 1,

  if (NetWorkDays(Date(Date#($(CreationDate_Source), 'YYYY-MM-DD'), 'DD/MM/YYYY'), Date(Date#($(ExitDate_Field), 'YYYY-MM-DD'), 'DD/MM/YYYY'))-1<0,

    0,

    NetWorkDays(Date(Date#($(CreationDate_Source), 'YYYY-MM-DD'), 'DD/MM/YYYY'), Date(Date#($(ExitDate_Field), 'YYYY-MM-DD'), 'DD/MM/YYYY'))-1) as [Délai ouvré],

    )

  $(ExitDate_Source)-$(CreationDate_Source) as [Délai de traitement];

Je voudrais que mon champ [Délai ouvré] ne soit calculé que si ma variable $(NetWorkDay)  = 1.



J'espère être suffisamment clair.



Cordialement,

1 Solution

Accepted Solutions
kevinchevrier
Partner - Creator III
Partner - Creator III

Mets ta parenthèse avant le as

View solution in original post

15 Replies
lcloatre
Partner - Creator III
Partner - Creator III

Bertrand,

Lorsque ta variable NetWorkDay est différente de 1, qu'attends-tu dans le champ "Délai ouvré" ?

kevinchevrier
Partner - Creator III
Partner - Creator III

Bertrand,

As-tu essayé de mettre tes variables entre quote ?

'$(NetWorkDay)'


Kevin

Not applicable
Author

J'attends qu'il ne soit implémenté QUE si ma variable NetWorkDay vaut 1


if ($(NetWorkDay) = 1,

     ........................ as [Délai ouvré],

     )

Sinon ce champ n'est pas crée

Not applicable
Author

Pas mieux:

Error in expression:

')' expected

kevinchevrier
Partner - Creator III
Partner - Creator III

Load

  *,

  Date(Date#($(CreationDate_Source), 'YYYY-MM-DD'), 'DD/MM/YYYY') as $(CreationDate_Field),

  Date(Date#($(ExitDate_Source), 'YYYY-MM-DD'), 'DD/MM/YYYY') as $(ExitDate_Field),

  if ($(NetWorkDay) = 1,

  if (NetWorkDays(Date(Date#($(CreationDate_Source), 'YYYY-MM-DD'), 'DD/MM/YYYY'), Date(Date#($(ExitDate_Field), 'YYYY-MM-DD'), 'DD/MM/YYYY'))-1<0,

    0,

    NetWorkDays(Date(Date#($(CreationDate_Source), 'YYYY-MM-DD'), 'DD/MM/YYYY'), Date(Date#($(ExitDate_Field), 'YYYY-MM-DD'), 'DD/MM/YYYY'))-1)) as [Délai ouvré],

  $(ExitDate_Source)-$(CreationDate_Source) as [Délai de traitement];

kevinchevrier
Partner - Creator III
Partner - Creator III

Au pire, il n'aura pas de valeur ton champ.

lcloatre
Partner - Creator III
Partner - Creator III

Ton champs sera forcément créé. Par contre, pour ceux qui auront la variable NetWorkDay différente de 1, la valeur contenue dans le champ "Délai ouvré" sera nulle.

kevinchevrier
Partner - Creator III
Partner - Creator III

Mets ta parenthèse avant le as

Not applicable
Author

Oui je comprends. Mais je n'ai pas moyen de créer un champ ou non de manière conditionnel ?