Bonjour,
Je débute avec reporting services et j'ai déjà un rapport assez compliqué à faire que je ne sais pas trop comment faire donc j'ouvre ce sujet en espérant de trouver quelqu'un qui pourrai m'aider.
Problème:
Table "Laminage" contient (ID_OF, DateLam)
Table "Message" contient (ID_OF, DateMsg, Message )
Il faut sortir le message en fonction des deux dates.
Les données:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 LAMINAGE : ID_OF DateLam ------ ---------------- 123 25/09/2013 18:14:25 MESSAGE : ID_OF DateMsg Message ------ ---------------- --------------- 123 25/09/2013 15:21:34 testmessage1;E1;tst1 123 25/09/2013 16:51:16 testmessage1;E2;tst1 123 25/09/2013 18:13:42 testmessage1;E3;tst1 123 25/09/2013 25:36:22 testmessage1;E4;tst1
Rapport doit être:
Donc je prend une date de la table "LAMINAGE", je récupère la date la plus proche à cette dernière. Et je récupère le message. Par contre le message, je le split et récupère seulement celui du milieu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ID_OF DateLam Message ------ ------------------- --------- 123 25/09/2013 18:14:25 E3
Comment faire avec Reporting Services?![]()
PS (ce que j'ai fait):
J'ai créé un dataset pour LAMINAGE (DS_LAMINAGE). Qui ramène les données de la table LAMINAGE (ID_OF, DateLam). J'ai ajouté ces données dans mon rapport sous form de tableau.
J'ai créer un autre dataset pour MESSAGE (DS_MESSAGE) qui ramène les données de message.
J'ai ajouté une troisième colonne dans mon rapport et j'ai essayé d'ajouter une expression qui ira chercher le message en fonction de la date du Laminage du dataset DS_MESSAGE en utilisant l'expression Lookset
En gros j'ai :
Mais ca marche pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 ID_OF DateLam Message ------ ------------------- --------- 123 25/09/2013 18:14:25 <expr> <expr> : =IIF(Fields!ID_OF.Value Is Nothing, "nothing", Join( LookupSet( Int(Fields!ID_OF.Value), Int(Fields!ID_OF.Value), Fields!DateMsg.Value, "DS_MESSAGE") ,",") )![]()
Voila le challenge![]()
Merci





Répondre avec citation



A Oue dsl j'ai vraiment écrit n'importe quoi ^^ lol



! Je t'ai mis sur la piste, maintenant à toi d'apprendre le t-sql pour devenir autonome 
Partager