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

Problème de date dans un Set Analysis

Tout d'abord bonjour à tous, et courage à ceux qui ne sont pas / plus en vacance !

J'ai un petit souci,

J'ai un calendrier découpé comme suit :

ANNEE.

MOIS.

JOUR.

Lorsque seule l'année est sélectionnée je veux renvoyer la valeur 31/12/ANNEE.

Lorsque seule le mois est sélectionnée je veux renvoyer la valeur 31/MOIS/ANNEE (enfin 31/30/29/28 c'est selon).

Lorsque le jour est aussi sélectionné je ne modifie pas la date puisque JOUR/MOIS/ANNEE feront ma date.

Le tout à transvaser dans un Set Analysis (sinon ça ne serait pas drôle !! ).

Sou-poudré du fait que je débute, et la bah je suis tout perdu !!

Je met le QVW et un QVD pour l'exemple.

Le but final sur le qvd est que si la plage sélectionnée est supérieure à un jour, on récupère la date maximum de la plage.

Exemple si on sélectionne le 30 Mars 2015 + le 31 Mars 2015 cela nous renvoi uniquement le 31 Mars 2015 dans la formule.

Idem si on sélectionne uniquement Avril 2015 cela doit renvoyer 30 Avril 2015.

D'avance je remercie celui qui se penchera sur ce pavé !

Labels (1)
1 Solution

Accepted Solutions
Not applicable
Author

La réponse m'a été apporté sur le forum général de qlikview :

@

Use a variable vExpression.

vExpression:

=Date(

  if(

     IsNull(GetFieldSelections(YEAR)),

    Max(CNT_Date),

    if(

      IsNull(GetFieldSelections(Month)),

      MonthEnd(MakeDate(Year,12)),

      if(

        IsNull(GetFieldSelections(Day)),

        MonthEndMakeDate(Year,Month),

        MakeDate(Year,Month,Day)

      )

    )

  )

,'DD/MM/YYYY')

The expression i m trying to use :

=Count({<CNT_Contribution={11},CNT_Date={'$(vExpression)'}>}CNT_IdDoc)

View solution in original post

4 Replies
sunny_talwar

Can you try this:

=Count({<CNT_Contribution={11}, CNT_Date={"$(=Date(Max(@CLEF_DATE)))"}>} CNT_IdDoc)

Not applicable
Author

Nop, not working.

I try to have this :

if(IsNull(GetFieldSelections(YEAR)),

  MaxString(CNT_Date),

  if(IsNull(GetFieldSelections(Month)),

  DATE(MonthEnd(MakeDate(Year,12))),

  if(IsNull(GetFieldSelections(Day)),

     DATE(MonthEnd(MakeDate(YEAR,Month))),

  Date(MakeDate(YEAR,Month,Day))

  )))

In my setanalysis.

This Test case is ok, but can't put it in set analysis, and i have no idea on how to do it.

Not applicable
Author

Bonjour

Si ton calendrier est organisé en DD/MM/YYYY (CalendarDate)

La variable à utiliser dans le set analysis est du genre

date(Max(CalendarDate))

Amicalement

Not applicable
Author

La réponse m'a été apporté sur le forum général de qlikview :

@

Use a variable vExpression.

vExpression:

=Date(

  if(

     IsNull(GetFieldSelections(YEAR)),

    Max(CNT_Date),

    if(

      IsNull(GetFieldSelections(Month)),

      MonthEnd(MakeDate(Year,12)),

      if(

        IsNull(GetFieldSelections(Day)),

        MonthEndMakeDate(Year,Month),

        MakeDate(Year,Month,Day)

      )

    )

  )

,'DD/MM/YYYY')

The expression i m trying to use :

=Count({<CNT_Contribution={11},CNT_Date={'$(vExpression)'}>}CNT_IdDoc)