2017-09-26 3 views
0

Dans SSRS comment puis-je écrire une expression pour trouver le lundi de l'année dernière pour une date Exemple: Si je choisis le 26/09/2016 qui est un lundi, je dois trouver 9/26/2015 est lundi ou pas. Dans ce cas, est-26/09/2015 samedi, donc je dois régler le paramètre de date que le lundi le plus proche qui est 21.09.2015
Comment puis-je le faire via une expression SSRSSSRS Expression à près de lundi de l'année dernière

=DATEADD(DateInterval.Year,-1,Parameters!BeginDate.Value) 

Cette volonté aide à trouver la même date l'an dernier, mais comment puis-je changer pour le faire pour sélectionner le lundi de la dernière année

Répondre

1
=DateAdd 
(
    DateInterval.Day 
    , 2 - weekday(dateadd(DateInterval.Year,-1,Parameters!BeginDate.Value)) 
    , dateadd(DateInterval.Year,-1,Parameters!BeginDate.Value) 
) 

pour briser la fonction DateAdd vers le bas ... le premier argument est tout simplement dire à régler par un nombre de jours L'argument suivant obtient le jour de la semaine pour la date du paramètre moins une année , nous prenons alors ce nombre DE 2 (qui est la valeur du jour de la semaine pour un lundi) donc si le paramètre date l'année dernière était un jeudi (5) nous obtiendrions 2-5 ce qui nous donne -3 donc nous prendrons trois jours de notre date L'argument final est la date du paramètre moins une année qui est la date à laquelle nous voulons soustraire (dans ce cas) 3 jours à partir de.

REMARQUE Si vous réglage du système ne sont pas défaut, les jours de semaine de retour ne peut pas être le même afin de vérifier et d'ajuster la , 2-(... partie en conséquence, mis à tout ce lundi évalue à.