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

FAQ Microsoft Business IntelligenceConsultez toutes les FAQ

Nombre d'auteurs : 5, nombre de questions : 30, dernière mise à jour : 24 décembre 2008  Ajouter une question

 

Cette F.A.Q. a été réalisée à partir des connaissances de membres de Developpez.com en vue de répondre à des questions fréquemment posées par les utilisateurs.

Elle traite de tout type de questions portant sur Reporting Services (SSRS), Analysis Services (SSAS), Integration Services (SSIS) voire Management Studio (SSMS) de SQL Server.

Nous espérons que cette F.A.Q. saura répondre à un maximum de vos questions. Nous vous souhaitons une bonne lecture.

L'équipe Microsoft BI de Developpez.com.

SommaireSSRS : SQL Server Reporting Services (16)
sommaire suivant
 

SSRS, qui est l'acronyme de SQL Server Reporting Services, est un outil permettant de concevoir des rapports ou des modèles de reports. Ce service est intégré à Visual Studio et SQL server. Un report (basé sur le langage XML) est créé depuis Visual Studio, ou par le générateur de rapport. Le rapport est publié sur un serveur Reporting Services et les utilisateurs pourront visionner ces rapports selon 3 possibilités :

  • Directement depuis le Portail Reporting Services
  • Depuis des pages WEB appelant les WebServices
  • Directement via les reports

Remarque : SSRS est disponible aussi gratuitement avec une version express de SQL Server 2005 qui inclus le serveur et les Reporting Services (Microsoft SQL Server 2005 Express Edition with Advanced Services et Microsoft SQL Server 2005 Express Edition Toolkit)

Mis à jour le 24 décembre 2008 Fleur-Anne.Blain

Pour insérer une image il faut aller dans le menu report> embedded images, ajouter une image. Ensuite, il faut aller dans les propriétés du rapport au niveau de l'onglet backgroundImage, à source préciser la propriété embedded et value sélectionner le nom de l'image voulue.

Réalisé sur SQL Server 2K5

Mis à jour le 24 décembre 2008 Fleur-Anne.Blain

  • Visual studio 2005
  • Sinon, dans la version 2005 de SQL Server, nous disposons d'un module Business Intelligence Development Studio, qui fournit tout le nécessaire pour concevoir des rapports (Report Designer).

Mis à jour le 24 décembre 2008 Fleur-Anne.Blain

Pour modifier la taille d'un rapport (ou passer de portrait à paysage) il faut passer par les propriétés du rapport soit directement en cliquant sur le rapport puis propriétés où il y a un onglet Size pour préciser hauteur et largeur. Soit dans le menu rapport>Propriétés du rapport. Au niveau de l'onglet layout, il est possible de définir une taille de rapport ainsi que les marges.

Réalisé sur SQL Server 2K5

Mis à jour le 24 décembre 2008 Fleur-Anne.Blain

Réponse énervante : on ne peut pas ! Mais il existe des outils third party (tel que Dundas) qui permettent de le faire. Ces composants sont payants. La version 2008 de SSRS permet de faire de tels graphiques.

Réalisé sur SQL Server 2K5

Mis à jour le 24 décembre 2008 ygrim

SSRS, et c'est une limitation, ne possède pas de composant pour faire ce genre de présentations, il faut passer par du code VB :

Code vb : Sélectionner tout
=IIF(RowNumber(Nothing) Mod 2=0, "Silver","White")
Appliquez cette formule au niveau de la couleur de la ligne de votre choix et il y aura alternance de couleurs.

Réalisé sur SQL Server 2K5

On peut également passer par du code VB pour alterner la couleur des lignes :

Code vb : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
Private bOddRow AS BOOLEAN 
FUNCTION AlternateColor(ByVal OddColor AS String, _ 
         ByVal EvenColor AS String, ByVal Toggle AS BOOLEAN) AS String 
    IF Toggle Then bOddRow = NOT bOddRow 
    IF bOddRow Then 
        RETURN OddColor 
    Else 
        RETURN EvenColor 
    End IF 
End FUNCTION
A mettre dans le code du rapport (click droit, propriétés puis code) et on l'appelle dans le rapport :
=Code.AlternateColor("LightGrey", "White", True) pour la 1ere colonne
et
=Code.AlternateColor("LightGrey", "White", False) pour les autres
Avantage : Permet de colorer ligne à ligne le tableau indépendamment des lignes masquées par un filtre.

Mis à jour le 24 décembre 2008 Reskibil ygrim

Ce sera encore en VB mais cette fois, on ne compte plus ligne par ligne mais on compare un élément avec celui de la ligne précédente et en fonction du résultat, on choisit une couleur :

Code vb : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private bOddRow AS BOOLEAN, n AS Integer 
FUNCTION AlternateColor(ByVal OddColor AS String, _ 
         ByVal EvenColor AS String, ByVal Toggle AS BOOLEAN, ByVal projno AS String) AS String 
'on inverse la couleur de base a chaque ligne 
bOddRow = Not bOddRow  
  
'si le n° de projet est le meme qu'a la ligne précédente, on réinverse la couleur 
If projno = n then bOddRow = Not bOddRow 
  
'n prend la valeur du n° de projet de la ligne 
n = projno 
  
'En fonction de bOddRow, on renvoie la couleur 
If bOddRow Then 
        Return OddColor 
    Else 
        Return EvenColor 
    End If 
End Function
Ensuite, on appelle la fonction :
=Code.AlternateColor("LightGrey", "White", True, Fields!Project_Number.Value)
pour la 1ere colonne et
=Code.AlternateColor("LightGrey", "White", False, Fields!Project_Number.Value) pour les autres
Dans cet exemple, la coloration sera identique pour chaque ligne ayant le même n° de projet et alternativement d'un groupe à l'autre.

Réalisé sur SQL Server 2K5

Mis à jour le 24 décembre 2008 Reskibil

Il est possible dans une cellule de rapport d'insérer des sauts de lignes dans la cellule (comme un ALT + ENTER dans Excel). Pour celà, il suffit d'insérer VbCrLf.
Par exemple :

Code vb : Sélectionner tout
="Ligne1" & VbCrLf & Parameter!Ligne2.value
Donnera :

Code : Sélectionner tout
1
2
Ligne1 
ParamLigne2

Réalisé sur SQL Server 2K5

Mis à jour le 24 décembre 2008 Reskibil

Après déploiement dudit rapport, il est accessible via l'url suivante :

http://nomdevotreserver/reports/ ou http://localhost/reports/

Réalisé sur SQL Server 2K5

Mis à jour le 24 décembre 2008 Fleur-Anne.Blain

Modifier la feuille de style suivante: C:\Program Files\Microsoft SQL Server\MSSQL.3\ReportingServices\ReportManager\Styles\ReportingServices.css
Pour changer les images, aller dans C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportManager\images pour mettre l'icône de votre entreprise ou autre.

Réalisé sur SQL Server 2K5

Mis à jour le 24 décembre 2008 Fleur-Anne.Blain

Il existe plusieurs formats d'export de rapport Reporting Services :

  • Fichier au format HTML/XML
  • Fichier TIFF (image)
  • Fichier PDF
  • Fichier Excel (97 à 2007)
  • Fichier archive web
  • Fichier CSV


Réalisé sur SQL Server 2K5

Mis à jour le 24 décembre 2008 Fleur-Anne.Blain

Etape 1 : Créer son rapport dans projet de serveur de rapports dans SQL Server Business Intelligence Development Studio
Etape 2 : Ajouter tout ce qui est nécessaire à votre modèle (un logo, nom d'entreprise, pied de page, etc.)
Etape 3 : Enregistrer et nommer votre nouveau modèle (nomdevotremodele.rdl). Il vous faut l'enregistrer dans C:\ProgramFiles\MicrosoftVisualStudio8\Common7\IDE\PrivateAssemblies\ProjectItems\ReportProject.
Etape 4 : Vous disposez d'un nouveau template

Réalisé sur SQL Server 2K5

Mis à jour le 24 décembre 2008 Fleur-Anne.Blain

Pour ajouter un ou plusieurs paramètres (c'est-à-dire une valeur cohérente donnée par l'utilisateur pour obtenir un résultat spécifique sur un rapport) il suffit d'aller dans le menu rapport>Paramètres du rapport.
Partant de là, il faut nommer le paramètre, spécifier le type de données, si on autorise les valeurs nulles, s'il faut une valeur par défaut, une liste de valeur, etc.
Et valider.

Réalisé sur SQL Server 2K5

Mis à jour le 24 décembre 2008 Fleur-Anne.Blain

Etape 1 : démarrer si ce n'est pas déjà fait votre serveur de rapport. Pour cela, aller dans démarrer>executer>cmd puis saisir net start reportserver
Etape 2 : Aller dans les propriétés du projet, pour vous éviter une "erreur" lors de l'exécution de votre report, spécifier l'url que vous utilisez pour déployer vos reports, et mettez la propriété OverwriteDataSources à true. Cela vous évitera d'avoir un message d'avertissement vous signalant que la base de données existe déjà (car elle est rechargée à chaque exécution). Si vous changez de serveur, changez aussi l'url des propriétés du projet.
Etape 3 : Déployer votre projet, cliquez droit sur votre solution et faites "Déployer"
Etape 4 : Aller sur le gestionnaire de rapport pour vérifier le déploiement (en plus de la fenêtre d'exécution) via navigateur Internet en saisisant l'URL suivante: http://nomdevotreserver/reports/ ou http://localhost/reports/ .

Réalisé sur SQL Server 2K5

Mis à jour le 24 décembre 2008 Fleur-Anne.Blain

Cocher "Ne pas utiliser de serveur proxy pour les adresses locales" sous
Outils > Options Internet > Connexions > Paramètres Réseaux > Serveur Proxy

Réalisé sur SQL Server 2K5

Mis à jour le 24 décembre 2008 Fleur-Anne.Blain

L'objectif de cette astuce est de colorer une ligne selon la valeur d'une cellule.
Appliquez cette formule en VB au niveau de la couleur de la ligne

Code vb : Sélectionner tout
= iif((FIELDS!Prix.Value) > 10000, "Red", "Green")

Ceci nous donne une couleur Rouge pour les prix qui dépassent la valeur 10000 et une couleur Verte pour les prix inférieur.

Astuce : L'objectif de cette astuce est de compléter la solution précédente

Code vb : Sélectionner tout
=IIF(FIELDS!trimestre.value=1,"Red",IIF(FIELDS!trimestre.value=2,"Blue",IIF(FIELDS!trimestre.value=3,"Black","Green")))
Ceci nous donne une couleur Rouge pour le premier trimestre, une couleur bleue pour le deuxième trimestre, une couleur noire pour le troisième trimestre et une couleur verte pour le quatrième trimestre.

Réalisé sur SQL Server 2K5

Mis à jour le 24 décembre 2008 gassisprog Reskibil

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2021 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.