Détails sur le comportement de BIDS R2 lorsque la cible de la configuration est Reporting Services 2008 R1

Tel que discuté dans mon article précédent, BIDS R2 est capable de déployer des rapports vers Reporting Services 2008 R1.

Afin de pouvoir reproduire (et même améliorer) ce comportement dans notre outil de déploiement propriétaire, il a donc fallu que je fasse des tests plus exhaustifs sur la manière dont il s’y prend (à défaut d’avoir le code source).

Dans BIDs, il y a trois actions que l’utilisateur peut effectuer et qui peuvent faire appel à la mécanique de conversion de format:

  1. Compiler le projet de rapport (Build).
  2. Prévisualisation d’un rapport (lance un Build automatiquement).
  3. Déployer le rapport.

Selon le type d’erreur (ex. fatale) et le niveau d’erreur de la configuration courante (0-4), le comportement de BIDS peut changer.

Par exemple, si le rapport contient un Shared Dataset, spécifique à 2008 R2, peu importe l’opération demandée (Preview, Build ou Deploy), cela va échouer.

BIDS peut choisir de faire l’une actions suivantes:

  1. Empêcher l’opération en affichant une erreur.
  2. Enlever l’élément du rapport (ex. une carte) et laisser l’opération continuer.
  3. Permettre le Build ou le Preview (en mode semi-R2) mais échouer lors du déploiement vers 2008 R2.

Les tableaux suivants vont énumérer les nouveaux éléments spécifiques à 2008 R2, décrire le comportement selon l’opération effectuée et lister les erreurs / avertissements lancés par BIDS.

J’ai aussi créé un PDF car le formatage de Microsoft Live Writer est assez minimaliste.

Tableau 1: Éléments propres à BIDS R2

Élément

Description

Connexion liste SharePoint Source de données permettant de se connecter à une liste SharePoint pour obtenir des données (SHAREPOINTLIST).
Connexion à Azure Source de données permettant de se connecter à Microsoft Azure (SQLAZURE).
Connexion à PDW Source de données permettant de se connecter à l’édition Parallel DataWarehouse de SQL Server (SQLPDW).
Indicateur Permet d’afficher une icône selon la valeur d’une mesure. Plusieurs séries d’icônes sont disponibles. Ex. clip_image001
Carte Permet d’afficher une carte géographique ou géométrique dans un rapport.
Texte à 270º Le texte vertical (haut vers le bas) existait déjà, celui-ci se lit de bas en haut.
Options de bris de page De nouvelles options permettent de configurer les bris de page (Disabled et ResetPageNumber).
Variable modifiable Une variable qui n’est pas en lecture seule.
Dataset partagé Un Dataset qui permet d’être partagé d’un rapport à l’autre.
Format du rendu Format du rendu : Globals!RenderFormat.Name et Globals!RenderFormat.IsInteractive.
Pagination précise R2 change le comportement des variables de pagination PageNumber et TotalPages et ajoute OverallPageNumber, OverallTotalPages ainsi que PageName.
Fonctions de lookup R2 ajoute trois fonctions de Lookup permettant de référer à un autre Dataset : Lookup, LookupSet et Multilookup.
Aggrégation d’aggrégation R2 permet d’utiliser une fonction d’aggrégation sur une autre fonction d’aggrégation. Ex. Avg(Min ….

Tableau 2: Comportement de BIDS selon l’opération réalisée

Voici le comportement de BIDS R2 selon l’élément et l’opération. Si le comportement change selon le niveau d’erreur de la configuration, ce sera indiqué.

Opération
Élément Construction (Build) Prévisualisation Déploiement
Connexion liste SharePoint Échoue Échoue Échoue
Connexion à Azure et PDW Passe Passe Passe mais échoue à l’exécution.
Indicateur ErrorLevel [0-1] : Passe en enlevant l’indicateur, affiche un avertissement.

ErrorLevel 2+ : Échoue

Idem Idem
Carte ErrorLevel [0-1] : Passe en enlevant la carte, affiche un avertissement.

ErrorLevel 2+ : Échoue

Idem Idem
Texte à 270º Échoue Échoue Échoue
Options de bris de page ErrorLevel [0-2] : Passe en enlevant l’option, affiche un avertissement.

ErrorLevel 3+ : Échoue

Idem Idem
Variable modifiable Échoue Échoue Échoue
Dataset partagé Échoue Échoue Échoue
Format du rendu Passe Passe Passe mais affiche #Error à l’exécution.
Pagination précise Passe Passe Passe mais affiche #Error à l’exécution.
Fonctions de lookup Passe Passe et fonctionne. Échoue
Aggrégation d’aggrégation Passe Passe et fonctionne. Échoue

Tableau 3: Erreurs / Avertisssements

Élément

Erreur ou avertissement

Message

Connexion liste SharePoint Erreur An attempt has been made to use a data extension ‘SHAREPOINTLIST’ that is either not registered for this report server or is not supported in this edition of Reporting Services.
Indicateur Erreur The state indicator, <IndicatorName>, was detected in the report. SQL Server 2008 Reporting Services does not support state indicators. Either reduce the error level to a value less than 2 or change the ReportServerTargetVersion to a version that supports state indicators.
Indicateur Avertissement The state indicator, ‘IndicatorName., was removed from the report. SQL Server 2008 Reporting Services does not support state indicators.
Carte Erreur The map, <MapName>, was detected in the report. SQL Server 2008 Reporting Services does not support map report items. Either reduce the error level to a value less than 2 or change the ReportServerTargetVersion to a version that supports map report items.
Carte Avertissement The map, <MapName>, was removed from the report. SQL Server 2008 Reporting Services does not support map report items.
Texte à 270º Erreur The WritingMode value ‘Rotate270’ is not supported in SQL Server 2008 Reporting Services. Set the WritingMode to either ‘Horizontal’ or ‘Vertical’ or change the ReportServerTargetVersion to a version that supports a WritingMode of ‘Rotate270’.
Options de bris de page Erreur A PageBreak property was detected in the data region, rectangle, or group ‘<GroupName>’ SQL Server 2008 Reporting Services does not support the PageBreak property, Disabled. Either reduce the error level to a value less than 3 or change the ReportServerTargetVersion to a version that supports the PageBreak property Disabled.
Options de bris de page Avertissement A PageBreak property was removed from the data region, rectangle, or group ‘<GroupName>’. SQL Server 2008 Reporting Services does not support the PageBreak property Disabled.
Variable modifiable Erreur The Writeable property of variable, WritableVariable, is set to true. SQL Server 2008 Reporting Services does not support variables that are read/write. Either make the variable read-only or change the ReportServerTargetVersion to a version that supports the read/write variables.
Dataset partagé Erreur The data set, DataSetIndicator, is a shared dataset. SQL Server 2008 Reporting Services does not support shared data sets.
Fonctions de lookup Erreur The Value expression for the text box ‘<TextBoxName>’ refers to the field ‘ProductId’. Report item expressions can only refer to fields within the current dataset scope or, if inside an aggregate, the specified dataset scope.
Aggrégation d’aggrégation Erreur The Value expression for the textrun ‘<TextRunPath>’ contains an aggregate function (or RunningValue or RowNumber functions) in the argument to another aggregate function (or RunningValue). Aggregate functions cannot be nested inside other aggregate functions.

Ma prochaine entrée de blogue donnera le code C# permettant de prendre un rapport 2008 R2 et le convertir en 2008 R1 si c’est possible en enlever des noeuds ou en modifiant leur valeur.

Références

New Features in Reporting Services 2008 and 2008 R2

Reporting Services 2008 RDL Specification

Reporting Services 2008 R2 RDL Specification

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s