IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SSRS Discussion :

Résultat du Dataset différent de son affichage dans un tableau [2008R2]


Sujet :

SSRS

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 35
    Points : 26
    Points
    26
    Par défaut Résultat du Dataset différent de son affichage dans un tableau
    Bonjour,

    Je suis en train de réaliser un rapport dans Reporting Services et je suis confronté pour la première fois à un souci.

    J'ai réalisé un dataset en spécifiant une requête SQL. Lorsque je teste cette requête dans l'éditeur j'obtiens bien mes enregistrements. Par contre si je fais afficher le dataset dans un tableau sur mon rapport j'ai des enregistrements supplémentaires qui apparaissent.

    Comment est-ce possible d'avoir deux affichages de résultats différents entre l'éditeur de requête d'un dataset et son affichage dans un tableau ?

    Merci d'avance pour vos réponses.

  2. #2
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Novembre 2011
    Messages : 48
    Points : 68
    Points
    68
    Par défaut
    ta requete c'est une procédure stockée ou du sql direct dans le rapport?
    Tu as regardé dans le profiler qu'est ce qui est réellement exécuté?

  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 35
    Points : 26
    Points
    26
    Par défaut
    C'est du SQL direct.

    Je suis débutant en Reporting Services, qu'appels-tu "profiler" ?

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Novembre 2011
    Messages : 48
    Points : 68
    Points
    68
    Par défaut
    sql server profiler est une sonde qui vas te montrer les requetes effectivement lancées sur ta base de données
    C'est un outil de sql server, pas de reporting services et il est extremement utile
    Tu peux nous donner la requete SQL de ton rapport?

  5. #5
    Membre chevronné Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Points : 2 145
    Points
    2 145
    Par défaut
    La requête utilise-t-elle des paramètres ?
    A tout hasard, si le tableau a été généré, n'y a-t-il pas des sous-totaux ?

  6. #6
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 35
    Points : 26
    Points
    26
    Par défaut
    Pas de sous totaux mais deux paramètres effectivement. Je joins ma requête.

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    SELECT DISTINCT 
    AO_NUM, AO_DEVIS_NUM, AO_REF_CHANTIER, AO_MAITRE_OUVRAGE, AO_SECTEUR, AO_DATE_CDE, AO_DATE_LIMITE, AO_RESPONSABLE, AO_LOT, 
    AO_NUM_SEMAINE
    FROM
             (SELECT DISTINCT 
                  [ADAM SAS PROD$Job].No_ AS AO_NUM, [ADAM SAS PROD$Sales Header].No_ AS AO_DEVIS_NUM, 
                  [ADAM SAS PROD$Job].Description AS AO_REF_CHANTIER, [ADAM SAS PROD$Job].[Bill-to Name] AS AO_MAITRE_OUVRAGE, 
                  [ADAM SAS PROD$Job].[Job Post Code] AS AO_SECTEUR, [ADAM SAS PROD$Job].[Date Commande Dossier] AS AO_DATE_CDE, 
                  [ADAM SAS PROD$Job].[Date Limite Depot Dossier] AS AO_DATE_LIMITE, [ADAM SAS PROD$Salesperson_Purchaser].Name AS AO_RESPONSABLE, 
                  [ADAM SAS PROD$Sales Comment Line].Comment AS AO_LOT, DATEPART(ISO_WEEK, [ADAM SAS PROD$Job].[Date Limite Depot Dossier])AS AO_NUM_SEMAINE
              FROM          
                  [ADAM SAS PROD$Sales Comment Line] RIGHT OUTER JOIN
                  [ADAM SAS PROD$Sales Header] ON [ADAM SAS PROD$Sales Comment Line].No_ = [ADAM SAS PROD$Sales Header].No_ LEFT OUTER JOIN
                  [ADAM SAS PROD$Salesperson_Purchaser] ON 
                  [ADAM SAS PROD$Sales Header].[Salesperson Code] = [ADAM SAS PROD$Salesperson_Purchaser].Code RIGHT OUTER JOIN
                  [ADAM SAS PROD$Job] ON [ADAM SAS PROD$Sales Header].[Job No_] = [ADAM SAS PROD$Job].No_
              WHERE
                  ([ADAM SAS PROD$Job].[Date Limite Depot Dossier] <> CONVERT(DATETIME, '1753-01-01 00:00:00', 102)) AND 
                  ([ADAM SAS PROD$Sales Comment Line].Comment LIKE 'Lot%') AND (DATEPART(ISO_WEEK, [ADAM SAS PROD$Job].[Date Limite Depot Dossier]) 
                  >= @numSemaine) AND (DATEPART(ISO_WEEK, [ADAM SAS PROD$Job].[Date Limite Depot Dossier]) <= @numSemaine + @horizon) AND 
                 (YEAR([ADAM SAS PROD$Job].[Date Limite Depot Dossier]) = YEAR(GETDATE()))
              UNION
              SELECT DISTINCT 
                  [ADAM SAS PROD$Job_1].No_ AS AO_NUM, [ADAM SAS PROD$Sales Header_1].No_ AS AO_DEVIS_NUM, 
                  [ADAM SAS PROD$Job_1].Description AS AO_REF_CHANTIER, [ADAM SAS PROD$Job_1].[Bill-to Name] AS AO_MAITRE_OUVRAGE, 
                  [ADAM SAS PROD$Job_1].[Job Post Code] AS AO_SECTEUR, [ADAM SAS PROD$Job_1].[Date Commande Dossier] AS AO_DATE_CDE, 
                  [ADAM SAS PROD$Job_1].[Date Limite Depot Dossier] AS AO_DATE_LIMITE, [ADAM SAS PROD$Salesperson_Purchaser_1].Name AS AO_RESPONSABLE, 
                  [ADAM SAS PROD$Sales Comment Line_1].Comment AS AO_LOT, DATEPART(ISO_WEEK, [ADAM SAS PROD$Job_1].[Date Limite Depot Dossier]) AS AO_NUM_SEMAINE
              FROM 
                  [ADAM SAS PROD$Sales Comment Line] AS [ADAM SAS PROD$Sales Comment Line_1] RIGHT OUTER JOIN
                  [ADAM SAS PROD$Sales Header] AS [ADAM SAS PROD$Sales Header_1] ON 
                  [ADAM SAS PROD$Sales Comment Line_1].No_ = [ADAM SAS PROD$Sales Header_1].No_ LEFT OUTER JOIN
                  [ADAM SAS PROD$Salesperson_Purchaser] AS [ADAM SAS PROD$Salesperson_Purchaser_1] ON 
                  [ADAM SAS PROD$Sales Header_1].[Salesperson Code] = [ADAM SAS PROD$Salesperson_Purchaser_1].Code RIGHT OUTER JOIN
                  [ADAM SAS PROD$Job] AS [ADAM SAS PROD$Job_1] ON [ADAM SAS PROD$Sales Header_1].[Job No_] = [ADAM SAS PROD$Job_1].No_
              WHERE
                   ([ADAM SAS PROD$Job_1].[Date Limite Depot Dossier] <> CONVERT(DATETIME, '1753-01-01 00:00:00', 102)) AND 
                   ([ADAM SAS PROD$Sales Comment Line_1].Comment LIKE 'Lot%') AND (DATEPART(ISO_WEEK, [ADAM SAS PROD$Job_1].[Date Limite Depot Dossier]) 
                   >= @numSemaine) AND (DATEPART(ISO_WEEK, [ADAM SAS PROD$Job_1].[Date Limite Depot Dossier]) <= @numSemaine + @horizon) AND 
                   (YEAR([ADAM SAS PROD$Job_1].[Date Limite Depot Dossier]) = YEAR(GETDATE()) + 1) AND (DATEPART(ISO_WEEK, 
                   [ADAM SAS PROD$Job_1].[Date Limite Depot Dossier]) + @horizon > 52)) AS derivedtbl_1
    ORDER BY AO_NUM_SEMAINE

  7. #7
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 35
    Points : 26
    Points
    26
    Par défaut
    Je vous remercie pour votre aide.

    Je viens de résoudre le problème qui venait effectivement des paramètres. En effet j'avais notifier que mes paramètres était au format texte alors que je saisissez des entiers. Après ce changement de type le problème est résolu.

  8. #8
    Membre chevronné Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Points : 2 145
    Points
    2 145
    Par défaut
    Merci pour le retour

  9. #9
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Novembre 2011
    Messages : 48
    Points : 68
    Points
    68
    Par défaut
    C'est le genre de choses que tu aurais facilement identifié avec le profiler.
    Je ne peux que t'encourager a le découvrir
    Un conseil : met ton sql dans des procédures stockées au lieu de le mettre dans le rapport.
    Niveau maintenance tu seras largement gagnant (et en perf aussi, pas besoin de recompiler la requête a chaque fois)
    Surtout ça te permet de faire des tests/modifications sans redéployer le rapport (tant que le type et le nombre de paramètres ne changent pas et que le format du dataset de sortie ne change pas non plus)

  10. #10
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 35
    Points : 26
    Points
    26
    Par défaut
    En tout cas je vous remercie pour votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/11/2007, 10h03
  2. [MySQL] affichage dans un tableau
    Par apprenti-fab dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 26/10/2006, 21h38
  3. Affichage dans un tableau ???
    Par yoan_111 dans le forum ASP
    Réponses: 1
    Dernier message: 18/04/2006, 12h22
  4. Problème d'affichage dans un tableau
    Par claralavraie dans le forum ASP
    Réponses: 13
    Dernier message: 21/12/2005, 15h45
  5. [débutant]problèmes d'affichage dans un tableau
    Par Hastur dans le forum Balisage (X)HTML et validation W3C
    Réponses: 12
    Dernier message: 16/08/2005, 12h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo