Je suis nouveau pour signaler le bâtiment avec les SSRS. J'essaie actuellement d'avoir une expression en SSRS montrer une date précise en fonction de la journée de la journée d'aujourd'hui, c'est un week-end ou non. Cela j'ai essayé de réaliser en utilisant les différentes fonctions de date Microsoft fournit dans leur documentation. C'est ce que j'ai jusqu'à présent:

=IIF(WeekdayName(weekday(DateAdd(DateInterval.Day, -1, today()))) = 'Monday', CDate(DateAdd("d", -3, Parameters!DateTo.Value)), 
IIF(WeekdayName(weekday(DateAdd(DateInterval.Day, -1, today()))) = 'Sunday', CDate(DateAdd("d", -2, Parameters!DateTo.Value)),
CDate(DateAdd("d", -1, Parameters!DateTo.Value))))

Comme vous pouvez le constater, j'essaie de le faire si si la journée d'aujourd'hui est dimanche ou lundi, la valeur de la date renversée devrait être celle du vendredi dernier, sinon elle devrait revenir à la date d'hier.

Dans le constructeur de rapports, je reçois un message d'erreur indiquant qu'il existe une expression attendue et je ne peux pas enregistrer le fichier.

Qu'est-ce que j'oublie ici? Y a-t-il peut-être une approche différente de la réalisation de cela? Merci pour toute aide.

BR, Philipp

0
Philipp B 4 mai 2021 à 13:25

1 réponse

Meilleure réponse

Je le ferais comme ça ... il peut y avoir des moyens plus efficaces, mais ce serait mon approche ...

=IIF(
    Weekday(Today())=7 OR Weekday(Today())=1
    ,DATEADD(DateInterval.Day, (Weekday(Today())+1) * -1, Today())
    , Today()
    )

Note Cela suppose que la semaine commence un dimanche, sinon ajustez la première partie du IIF pour convenir.

Alors, nous disons ...

Si aujourd'hui est le samedi (7) ou aujourd'hui est dimanche (1) soustrayez le (numéro de jour en cours +1) de la date actuelle, sinon renvoyez la date actuelle.

1
Alan Schofield 4 mai 2021 à 10:51