2017-04-26 1 views
0

J'ai un rapport avec 7 ensembles de données et 7 tables tous exactement la même sauf les ensembles de données ont chacun un peu différent où la clausePuis-je modifier automatiquement l'ensemble de données pour un tableau basé sur le mois en cours?

where datepart(DW,[Start Time]) = 2 

L'idée est de montrer des données pour chaque lundi ce mois-ci dans une table et chaque mardi dans un autre et ainsi de suite. Donc, une table utilise le jeu de données lundi (ci-dessus) on utilise

where datepart(DW,[Start Time]) = 3 

pour mardi et ainsi de suite. Ce que je veux vraiment faire, c'est que le rapport décide quel jeu de données utiliser en premier en fonction du jour du premier mois en cours. Donc, ce mois-ci (Avril) le 1er était un samedi, donc je voudrais ma table pour utiliser le plus à gauche l'ensemble de données

where datepart(DW,[Start Time]) = 7 

Ensuite, l'un après qu'il soit dimanche et ainsi de suite. Mais le mois prochain (mai), je veux qu'il passe automatiquement à l'utilisation de l'ensemble de données lundi dans le premier tableau car le 1er sera un lundi.

Est-ce possible?

Répondre

1

Une possibilité consiste à utiliser un sous-rapport qui utilise un seul ensemble de données. Cet ensemble de données aurait une clause where qui prend un paramètre

WHERE DATEPART(DW, [Start Time]) = @dayOfWeek 

Remplacez vos 7 actuelles tables avec 7 copies du même sous-rapport, mais changer les paramètres à base le premier jour du mois afin que vous premier sous -Rapport aurait le paramètre passé comme

=WeekDay(dateserial(Year(now()), Month(now()), "1")) 

le deuxième sous rapport aurait le paramètre passé en

=WeekDay(dateserial(Year(now()), Month(now()), "2")) 

et ainsi de suite ...

+0

Ceci est super intelligent et m'a vraiment aidé à comprendre la véritable puissance des paramètres. Je me sens comme si je devais revenir en arrière et réécrire tous mes anciens rapports pour les rendre tous dynamiquement générés. – tomdemaine

+0

Heureux d'aider, je pense d'habitude à moi-même, si je fais quelque chose de répétitif, alors je vais probablement à ce sujet dans le mauvais sens .... –