Préparation des données à afficher dans une région de données de tableau matriciel (Générateur de rapports version 2.0)

Une région de données de tableau matriciel affiche les données d'un dataset. Vous pouvez afficher toutes les données récupérées pour le dataset ou créer des filtres afin d'afficher uniquement un sous-ensemble de données. Vous pouvez également ajouter des expressions conditionnelles pour combler des valeurs NULL ou modifier la requête de dataset afin d'inclure des colonnes qui définissent l'ordre de tri d'une colonne existante.

Utilisation de valeurs NULL et d'espaces dans les valeurs de champ

Les données de la collection de champs d'un dataset incluent toutes les valeurs extraites de la source de données au moment de l'exécution, y compris les valeurs NULL et les espaces. Normalement, les valeurs NULL et les espaces sont indifférenciables. C'est le comportement souhaité dans la plupart des cas. Par exemple, les fonctions d'agrégation numériques comme Sum et Avg ignorent les valeurs NULL. Pour plus d'informations, consultez Utilisation de fonctions de rapport et d'agrégation intégrées dans des expressions (Générateur de rapports version 2.0).

Si vous souhaitez gérer les valeurs NULL différemment, vous pouvez utiliser des expressions conditionnelles ou du code personnalisé pour substituer une valeur personnalisée à la valeur NULL. Par exemple, l'expression suivante substitue le texte Null lorsqu'une valeur NULL est présente dans le champ [Size].

=IIF(Fields!Size.Value IS NOTHING,"Null",Fields!Size.Value)

Pour plus d'informations sur la suppression des valeurs NULL dans vos données avant d'extraire les données d'une source de données SQL Server à l'aide de requêtes Transact-SQL, consultez les rubriques « Valeurs NULL » et « Valeurs NULL et jointures » dans la documentation SQL Server 2008 de la documentation en ligne SQL Server.

Gestion de noms de champ NULL

Il est acceptable de tester une expression à la recherche de valeurs NULL tant que le champ lui-même existe dans le jeu de résultats de la requête. À partir de code personnalisé, vous pouvez vérifier si le champ lui-même est présent dans la collection de champs retournée par la source de données au moment de l'exécution. Pour plus d'informations, consultez Utilisation de références à une collection de champs de dataset dans des expressions (Générateur de rapports version 2.0).

Ajout d'une colonne Ordre de tri

Par défaut, vous pouvez trier alphabétiquement les valeurs dans un champ de dataset. Pour les trier dans un ordre différent, vous pouvez ajouter une nouvelle colonne à votre dataset qui définit l'ordre de tri souhaité dans une région de données. Par exemple, pour trier les données en fonction du champ [Color], en commençant par les éléments noirs et blancs, vous pouvez ajouter une colonne [ColorSortOrder], comme le montre la requête suivante :

SELECT ProductID, p.Name, Color,
   CASE
      WHEN p.Color = 'White' THEN 1
      WHEN p.Color = 'Black' THEN 2
      WHEN p.Color = 'Blue' THEN 3
      WHEN p.Color = 'Yellow' THEN 4
      ELSE 5
   END As ColorSortOrder
FROM Production.Product p

Pour trier une région de données de table en fonction de cet ordre de tri, affectez la valeur =Fields!ColorSortOrder.Value à l'expression de tri sur le groupe de détails. Pour plus d'informations, consultez Procédure : trier des données dans une région de données (Générateur de rapports version 2.0).