Faciliter la lecture des données de synthèse à l’aide d’une requête Analyse croisée

Important :  Cet article a été traduit automatiquement, voir l’avertissement. Vous pouvez consulter la version en anglais de cet article ici.

Lorsque vous souhaitez restructurer des données de synthèse pour rendre plus facile à lire et comprendre, envisagez d’utiliser une requête analyse croisée.

Une requête analyse croisée calcule une somme, moyenne ou autres fonction d’agrégation et puis qui regroupe les résultats en deux jeux de valeurs — une dans la partie de la feuille de données et l’autre dans la partie supérieure.

Remarque : Vous ne pouvez pas utiliser une requête analyse croisée dans un navigateur Web. Si vous souhaitez exécuter une requête analyse croisée dans une base de données Web, vous devez tout d’abord ouvrir la base de données à l’aide d’Access.

Contenu de cet article

Présentation

Créer une requête Analyse croisée

Utiliser des plages ou des intervalles pour les en-têtes

Inviter à fournir un paramètre pour limiter les en-têtes de lignes

Remplacer les valeurs Null par des zéros

Conseils relatifs aux requêtes analyse croisée

Vue d’ensemble

Une requête analyse croisée est un type de requête Sélection. Lorsque vous exécutez une requête analyse croisée, les résultats s’affichent dans une feuille de données qui comporte une structure différente des autres types de feuilles de données.

La structure d’une requête analyse croisée peut rendre plus lisible à une instruction select simple requête qui affiche des données identiques, comme le montre l’illustration suivante.

Une requête sélection et une requête Analyse croisée affichant les mêmes données

1. Cette requête sélection regroupe les données de synthèse verticalement par employé et catégorie.

2. une requête analyse croisée peut afficher les mêmes données, mais les données des groupes horizontalement et verticalement afin que la feuille de données peut être plus compact et plus facile à lire.

Création de requêtes analyse croisée

Lorsque vous créez une requête Analyse croisée, vous devez spécifier les champs qui contiennent les en-têtes de lignes, le champ qui contient les en-têtes de colonnes et le champ qui contient les valeurs à synthétiser. Vous ne pouvez utiliser qu’un seul champ de chaque lorsque vous spécifiez les en-têtes de colonnes et les valeurs à synthétiser. Vous pouvez utiliser jusqu’à trois champs lorsque vous spécifiez les en-têtes de lignes.

Vous pouvez également utiliser une expression pour produire des en-têtes de lignes, des en-têtes de colonnes ou des valeurs à synthétiser.

Diagramme d’une requête Analyse croisée

1. Une, deux ou trois colonnes de ce côté contiennent des en-têtes de lignes. Les noms des champs que vous utilisez comme en-têtes de lignes apparaissent dans la ligne supérieure de ces colonnes.

2. Les en-têtes de lignes sont affichés ici. Le nombre de lignes dans la feuille de données d’analyse croisée peut croître rapidement lorsque vous utilisez plusieurs champs d’en-têtes de lignes, car chaque combinaison d’en-têtes de lignes est affichée.

3. Les colonnes de ce côté contiennent des en-têtes de colonnes et des valeurs de synthèse. Notez que le nom du champ d’en-tête de colonne n’apparaît pas dans la feuille de données.

4. Les valeurs de synthèse apparaissent ici.

Méthodes de création d’une requête analyse croisée

À l’aide de l’Assistant Requête analyse croisée    L’Assistant Requête analyse croisée est généralement le moyen plus rapide et plus facile de créer une requête analyse croisée. Il ne l’essentiel du travail pour vous, mais il existe plusieurs options n’offre pas de l’Assistant.

L’Assistant comprend les avantages suivants :

  • Il est facile d’utilisation.    Pour l’utiliser, vous démarrez l’Assistant et puis répondre à une série de questions guidées.

  • Il pouvez grouper automatiquement des dates en fonction d’intervalles.    Si vous utilisez un champ qui contient des date/heure données pour les en-têtes de colonne, l’Assistant également vous aidera à regrouper les dates en fonction d’intervalles, telles que les mois ou par trimestre.

    Conseil : Si vous voulez utiliser les valeurs d’un champ Date/heure pour les en-têtes de colonne, mais souhaitez regrouper les dates en fonction d’intervalles que l’Assistant ne fournit pas, par exemple exercice ou biennium, n’utilisez pas l’Assistant pour créer votre requête. À la place, créer la requête analyse croisée en mode Création et utiliser une expression pour créer les intervalles.

  • Il peut être utilisé comme point de départ.    Vous pouvez utiliser l’Assistant pour créer la requête analyse croisée de base que vous voulez et puis Peaufinez structure de la requête en mode Création.

Toutefois, à l’aide de l’Assistant, vous ne pouvez pas :

  • Utiliser plus d’une table ou une requête comme un source d’enregistrement.

  • Utiliser un expression pour créer des champs.

  • Ajouter une invite de paramètre.

  • Spécifiez une liste de valeurs fixes à utiliser comme en-têtes de colonnes.

    À la dernière étape de l’Assistant, vous pouvez choisir de modifier la requête en mode Création. Cela vous permet d’ajouter des éléments de conception de requête l’Assistant ne prenant pas en charge, tels que des sources d’enregistrement supplémentaires.

Travailler en mode Création     Mode Création vous permet de mieux contrôler la création de votre requête. Il prend en charge les fonctionnalités qui ne sont pas disponibles dans l’Assistant.

Vous pouvez utiliser le mode Création pour créer votre requête analyse croisée Si vous souhaitez :

  • Avoir plus de contrôle sur le processus. L’Assistant apporte des décisions pour vous.

  • Utiliser plus d’une table ou une requête comme source d’enregistrement.

  • Ajouter une invite de paramètre à votre requête.

  • Utiliser des expressions en tant que champs dans votre requête.

  • Spécifiez une liste de valeurs fixes à utiliser comme en-têtes de colonnes.

  • Exercices pratiques à l’aide de la grille de création.

Écriture d’une requête en mode SQL    Vous pouvez écrire une requête analyse croisée en mode SQL, si vous préférez. Toutefois, vous ne pouvez pas spécifier les types de données de paramètre à l’aide de mode SQL. Si vous voulez utiliser un paramètre dans votre requête analyse croisée, vous devez spécifier le type de données du paramètre en modifiant votre requête en mode Création.

Conseil : N’oubliez pas : vous n’êtes pas limité à l’utilisation d’une méthode unique pour la création d’une requête analyse croisée. Vous pouvez utiliser l’Assistant pour créer la requête et utiliser ensuite en mode Création pour modifier la création de requête.

Haut de la page

Créer une requête Analyse croisée

Créer une requête analyse croisée à l’aide de l’Assistant Requête analyse croisée

Créer une requête analyse croisée en mode Création

Créer une requête analyse croisée en mode SQL

Créer une requête analyse croisée à l’aide de l’Assistant Requête analyse croisée

À l’aide de l’Assistant Requête analyse croisée nécessite que vous utilisez une seule table ou une requête comme source d’enregistrement pour votre requête analyse croisée. Si une seule table ne comporte pas toutes les données que vous voulez inclure dans votre requête analyse croisée, commencez par créer une requête sélection qui renvoie les données que vous souhaitez. Pour plus d’informations sur la création d’une requête sélection, reportez-vous à la section Voir aussi.

  1. Sous l’onglet créer, dans le groupe Macros et Code, cliquez sur Assistant Requête.

  2. Dans la boîte de dialogue Nouvelle requête, cliquez sur Assistant Requête analyse croisée, puis sur OK.

    L’Assistant Requête analyse croisée démarre.

  3. Dans la première page de l’Assistant, choisissez la table ou la requête à utiliser pour créer une requête Analyse croisée.

  4. Dans la page suivante, sélectionnez le champ qui contient les valeurs à utiliser comme en-têtes de lignes.

    Vous pouvez sélectionner jusqu’à trois champs à utiliser comme sources d’en-têtes de lignes, mais moins vous utiliserez d’en-têtes de lignes, plus votre feuille de données d’analyse croisée sera simple à lire.

    Remarque : Si vous choisissez plusieurs champs pour fournir des en-têtes de lignes, l’ordre dans lequel vous choisissez les champs détermine l’ordre par défaut dans lequel vos résultats sont triés.

  5. Dans la page suivante, sélectionnez le champ qui contient les valeurs à utiliser comme en-têtes de colonnes.

    En règle générale, vous devez choisir un champ qui contient peu de valeurs, afin de faciliter la lecture de vos résultats. Il est par exemple préférable d’utiliser un champ qui possède seulement quelques valeurs possibles (comme le sexe) plutôt qu’un champ pouvant contenir de nombreuses valeurs différentes (comme l’âge).

    Si le type de données du champ que vous choisissez d’utiliser pour les en-têtes de colonnes est Date/Heure, l’Assistant ajoute une étape qui vous permet de spécifier comment regrouper les dates par intervalle, comme par mois ou par trimestre.

  6. Si vous choisissez un champ Date/Heure pour les en-têtes de colonnes, la page suivante de l’Assistant vous invite à spécifier l’intervalle à utiliser pour regrouper les dates. Vous pouvez spécifier Année, Trimestre, Mois, Date ou Date/Heure. Si vous ne choisissez pas un champ Date/Heure pour les en-têtes de colonnes, l’Assistant ignore cette page.

  7. Dans la page suivante, choisissez un champ et une fonction à utiliser pour calculer les valeurs de synthèse. Le type de données du champ que vous sélectionnez détermine les fonctions qui sont disponibles.

  8. Dans la même page, activez ou désactivez la case à cocher Oui, inclure les sommes des lignes pour inclure ou exclure les sommes des lignes.

    Si vous incluez les sommes des lignes, la requête Analyse croisée possède un en-tête de ligne supplémentaire qui utilise les mêmes champ et fonction que la valeur du champ. L’inclusion d’une somme de ligne insère une colonne supplémentaire qui résume les colonnes restantes. Par exemple, si votre requête Analyse croisée calcule l’âge moyen par emplacement et sexe (avec des en-têtes de colonnes de sexe), la colonne supplémentaire calcule l’âge moyen par emplacement indépendamment du sexe.

    Remarque : Vous pouvez modifier la fonction utilisée pour générer les sommes des lignes en modifiant la requête Analyse croisée en mode Création.

  9. Dans la page suivante de l’Assistant, tapez un nom pour votre requête, puis indiquez si vous souhaitez afficher les résultats ou modifier la structure de la requête.

Haut de la page

Créer une requête analyse croisée en mode Création

Pour créer votre requête analyse croisée en mode Création, vous pouvez utiliser autant sources d’enregistrement (tables et requêtes) que vous le souhaitez. Toutefois, vous pouvez conserver la conception simple en créant d’abord une requête sélection qui renvoie toutes les données que vous souhaitez, puis en utilisant cette requête comme source d’enregistrement uniquement pour votre requête analyse croisée. Pour plus d’informations sur la création d’une requête sélection, reportez-vous à la section Voir aussi.

Lorsque vous générez une requête Analyse croisée en mode Création, vous utilisez les lignes Total et Analyse croisée de la grille de création pour spécifier les valeurs de champs qui deviendront des en-têtes de colonnes, celles qui deviendront des en-têtes de lignes et celles dont il faut calculer la somme, la moyenne, le nombre, ou tout autre calcul.

Parties d’une requête Analyse croisée affichées en mode Création

1. Les paramètres de ces lignes déterminent si le champ est un en-tête de ligne, un en-tête de colonne ou une valeur de synthèse.

2. Ce paramètre affiche les valeurs des champs comme en-têtes de lignes.

3. Ce paramètre affiche les valeurs des champs comme en-têtes de colonnes.

4. Ces paramètres produisent les valeurs de synthèse.

Créer la requête

  1. Sous l’onglet créer, dans le groupe Macros et Code, cliquez sur Création de requête.

  2. Dans la boîte de dialogue Afficher la table, double-cliquez sur chaque table ou requête que vous souhaitez utiliser comme source d’enregistrement.

    Si vous utilisez plus d’une source d’enregistrement, assurez-vous que les tables ou requêtes sont jointes sur les champs qu’elles ont en commun. Pour plus d’informations sur la jointure de tables et de requêtes, voir la section Voir aussi.

  3. Fermez la boîte de dialogue Afficher la table.

  4. Sous l’onglet Création, dans le groupe Type de requête, cliquez sur Analyse croisée.

  5. Dans la fenêtre de création de requête, double-cliquez sur chaque champ à utiliser comme source d’en-têtes de lignes. Vous pouvez sélectionner jusqu’à trois champs pour les en-têtes de lignes.

  6. Dans la grille de création de requête, sur la ligne Analyse croisée pour chaque champ d’en-tête de ligne, sélectionnez En-tête de ligne.

    Vous pouvez entrer une expression sur la ligne Critères afin de limiter les résultats de ce champ. Vous pouvez également utiliser la ligne Trier pour spécifier un ordre de tri pour un champ.

  7. Dans la fenêtre de création de requête, double-cliquez sur le champ à utiliser comme source d’en-têtes de colonnes. Vous ne pouvez sélectionner qu’un seul champ pour les en-têtes de colonnes.

  8. Dans la grille de création de requête, dans la ligne Analyse croisée pour le champ d’en-tête de colonne, sélectionnez En-tête de colonne.

    Vous pouvez entrer une expression sur la ligne Critères afin de limiter les résultats pour le champ d’en-tête de colonne. Toutefois, l’utilisation d’une expression de critères avec le champ d’en-tête de colonne ne limite pas le nombre de colonnes renvoyées par la requête Analyse croisée. Au lieu de cela, elle limite les colonnes qui contiennent des données. Par exemple, supposons que vous avez un champ d’en-tête de colonne qui possède trois valeurs possibles : rouge, vert et bleu. Si vous appliquez le critère =’bleu’ au champ d’en-tête de colonne, l’analyse croisée affiche toujours une colonne pour le rouge et une colonne pour le vert, mais seule la colonne pour le bleu contient des données.

    Remarque : Si vous voulez limiter les valeurs qui s’affichent comme en-têtes de colonne, vous pouvez spécifier une liste de valeurs fixes à l’aide de la propriétégsHeadin de colonnede la requête. Pour plus d’informations, voir spécifier des valeurs pour les en-têtes de colonne fixes.

  9. Dans la fenêtre de création de requête, double-cliquez sur le champ que vous souhaitez utiliser pour calculer des valeurs de synthèse. Vous ne pouvez sélectionner qu’un seul champ à utiliser pour les valeurs de synthèse.

  10. Dans la grille de création de requête, sur la ligne Total pour le champ des valeurs de synthèse, sélectionnez une fonction d’agrégation à utiliser pour calculer les valeurs.

  11. Sur la ligne Analyse croisée pour le champ de valeurs de synthèse, sélectionnez Valeur.

    Vous ne pouvez pas spécifier de critères pour un champ de valeurs de synthèse, ni effectuer de tri sur ce type de champ.

  12. Sous l’onglet Créer, dans le groupe Résultats, cliquez sur Exécuter.

Spécifier des valeurs fixes pour les en-têtes de colonnes

Si vous souhaitez spécifier des valeurs fixes à utiliser pour les en-têtes de colonnes, vous pouvez définir la propriété En-têtes des colonnes de la requête.

  1. Ouvrez la requête Analyse croisée en mode Création.

  2. Si la feuille de propriétés n’est pas visible, appuyez sur F4 pour l’afficher.

  3. Dans la feuille de propriétés, juste au-dessus de l’onglet Général, assurez-vous que le Type de sélection est Propriétés de la requête. Si ce n’est pas le cas, cliquez à un emplacement vide au-dessus de la grille de création de requête.

  4. Dans la feuille de propriétés, sous l’onglet Général, dans la propriété En-têtes des colonnes, entrez une liste délimitée par des virgules de valeurs que vous souhaitez utiliser comme en-têtes de colonnes.

    Remarque : Certains caractères (tels que la plupart des signes de ponctuation) ne sont pas autorisés dans les en-têtes de colonnes. Si vous utilisez ces caractères dans votre liste de valeurs, Access les remplace par un trait de soulignement (_).

Haut de la page

Créer une requête analyse croisée en mode SQL

Syntaxe SQL pour une requête analyse croisée

Une requête analyse croisée est exprimée en SQL comme une instruction TRANSFORM. Une instruction TRANSFORM compose la syntaxe suivante :

TRANSFORMATION aggfunction
instructionselect
PIVOT pivotfield [IN (valeur1[, valeur2[,...]])]

L’instruction TRANSFORM comprend les éléments suivants :

Élément

Description

aggfunction

Une fonction d’agrégation SQL qui fonctionne sur les données sélectionnées.

instructionselect

Une instruction SELECT.

PivotField

Champ ou expression à utiliser pour créer des en-têtes de colonne dans les résultats du jeu.

valeur1, valeur2

Valeurs fixes utilisées pour créer des en-têtes de colonne.

Mode SQL ne limite pas le nombre de tables ou requêtes que vous pouvez utiliser en tant que sources d’enregistrement d’une requête analyse croisée. Toutefois, vous pouvez vous permettent de garantir la conception simple en créant une requête sélection qui renvoie toutes les données que vous souhaitez utiliser dans votre requête analyse croisée, puis puis en utilisant qui sélectionnez requête comme source d’enregistrement. Pour plus d’informations sur la création d’une requête sélection, reportez-vous à la section Voir aussi.

  1. Sous l’onglet Créer, dans le groupe Macros et code, cliquez sur Création de requête.

  2. Fermez la boîte de dialogue Afficher la table.

  3. Sous l’onglet Création, dans le groupe résultats, cliquez sur SQL.

  4. Dans l’onglet d’objet SQL, tapez ou collez l’instruction SQL suivante :

    TRANSFORM 
    SELECT
    FROM
    GROUP BY
    PIVOT
    ;
  5. Sur la première ligne, après transformation, tapez une expression à utiliser pour calculer des valeurs de synthèse ; par exemple, Sum([Amount]).

    Remarque : Si vous utilisez plus d’une table ou une requête comme source d’enregistrement, inclure le nom de la table ou la requête dans le cadre de chaque nom de champ ; par exemple, Somme ([dépense]. [ Montantt]).

  6. Sur la deuxième ligne, après Sélectionnez, tapez une liste des champs ou des expressions de champ que vous souhaitez utiliser pour les en-têtes de ligne. Les éléments de liste sont séparés par des virgules ; par exemple, [Budget]. [ Dept_ID], [dépense]. [Type].

  7. Sur la troisième ligne, après à partir de, tapez une liste des tables ou requêtes que vous utilisez comme sources d’enregistrement ; par exemple, Budget, notes de frais.

  8. Sur la quatrième ligne après GROUP BY, tapez la même liste de champs que vous avez utilisé dans la clause SELECT, à l’étape 6.

  9. Dans la cinquième ligne après le tableau croisé dynamique, tapez un nom de champ ou l’expression que vous souhaitez utiliser pour les en-têtes de colonne ; par exemple, PIVOT [Budget]. [ Année].

Ajouter un ordre de tri à un champ d’en-tête de ligne

Pour ajouter un ordre de tri dans une requête analyse croisée en mode SQL, utilisez une clause ORDER BY.

  1. Insérer une ligne entre la clause GROUP BY et la clause PIVOT.

  2. Sur la nouvelle ligne, tapez ORDER BY suivi d’un espace.

  3. Tapez le nom de champ ou l’expression que vous souhaitez effectuer un tri sur ; par exemple, ORDER BY [dépense]. [ Expense_Class]

    Par défaut, une clause ORDER BY trie les valeurs dans l’ordre croissant. Si vous voulez trier dans l’ordre décroissant, tapez DESC après le nom de champ ou l’expression.

  4. Si vous souhaitez effectuer un tri sur un champ supplémentaire ou une expression, tapez une virgule et tapez le nom de champ supplémentaires ou l’expression. Le tri s’affiche dans l’ordre dans lequel les champs ou les expressions apparaissent dans la clause ORDER BY.

Limiter les valeurs utilisées pour les en-têtes de ligne ou une colonne

Vous pouvez utiliser les procédures suivantes pour spécifier une liste de valeurs à utiliser comme en-têtes de colonnes et ajouter des critères à vos champs d’en-tête de ligne. Ces procédures part du principe que vous avez votre requête analyse croisée ouvert en mode SQL.

Spécifier des valeurs fixes à utiliser comme en-têtes de colonnes

  • À la fin de la clause de tableau croisé dynamique, tapez IN, suivi d’une liste de valeurs (entourée parenthèses) séparées par des virgules pour utiliser comme en-têtes de colonnes. Par exemple, IN (2007, 2008, 2009, 2010) génère quatre en-têtes de colonne : 2007, 2008, 2009, 2010.

Remarque : Si vous spécifiez une valeur fixe qui ne correspond pas à une valeur de champ à partir du champ de tableau croisé dynamique, qui fixe valeur devient un en-tête de colonne pour une colonne vide.

Ajouter des critères de requête pour limiter les en-têtes de ligne

  1. Insérer une nouvelle ligne après la clause FROM.

  2. Type suivi d’un critère de champ.

    Si vous souhaitez utiliser des critères supplémentaires, vous pouvez utiliser et et ou opérateurs pour étendre votre clause WHERE. Vous pouvez également utiliser des parenthèses pour grouper des critères dans des jeux de logique.

Haut de la page

Utiliser des plages ou des intervalles pour les en-têtes

Parfois, plutôt que d’utiliser toutes les valeurs d’un champ pour les en-têtes de ligne ou une colonne, que vous souhaitez grouper les valeurs d’un champ en plages, puis utilisez les plages pour les en-têtes de ligne ou colonne. Par exemple, supposons que vous utilisez le champ « Âge » pour les en-têtes de colonne. Plutôt que d’utiliser une colonne pour chaque âge, vous pouvez utiliser des colonnes qui représentent des plages âge.

Vous pouvez utiliser la fonction IIf dans une expression pour créer des plages à utiliser pour les en-têtes de lignes ou de colonnes.

Conseil : Si vous souhaitez créer des intervalles avec un champ Date/Heure, utilisez l’Assistant Requête analyse croisée. Cet Assistant vous permet de regrouper les dates par Année, Trimestre, Mois, Dateou Date/Heure. Si aucun de ces intervalles ne correspond à vos besoins, créez votre requête Analyse croisée en mode Création et utilisez ensuite la technique décrite dans cette section pour créer les intervalles souhaités.

Fonctionnement de IIf

La fonction IIf fonctionne en l’évaluation d’une expression, puis renvoie une valeur si l’expression est vraie, ou une autre valeur si l’expression est fausse. Vous pouvez imbriquer des instructions IIf pour créer un ordre logique des comparaisons. Par conséquent, vous pouvez utiliser IIf pour séparer les valeurs de champ numérique en plages.

Syntaxe de IIf

IIf( expr, truepart, falsepart )

La syntaxe de la fonction IIf comprend les arguments suivants :

Argument

Description

expr

Obligatoire. Expression que vous souhaitez évaluer.

truepart

Obligatoire. Valeur ou expression renvoyée si expr est True.

falsepart

Obligatoire. Valeur ou expression renvoyée si expr est False.

Créer des plages à l’aide d’une expression

  1. Ouvrez la requête Analyse croisée en mode Création.

  2. Dans la grille de création de requête, sur la ligne Champ, cliquez avec le bouton droit sur une colonne vide, puis cliquez sur Zoom dans le menu contextuel.

  3. Dans la zone Zoom, tapez un alias de champ, suivi de deux-points (:).

  4. Tapez IIf().

  5. À l’intérieur des parenthèses qui suivent IIf, tapez une expression de comparaison qui définit la première plage de valeurs de champs.

    Par exemple, supposons que vous créez des plages pour un champ Age et que vous souhaitez que chaque plage englobe vingt années. L’expression de comparaison pour la première plage est [Age]<21.

  6. Tapez une virgule après l’expression de comparaison, puis tapez un nom pour la plage entre guillemets. Le nom que vous fournissez correspond à l’en-tête d’analyse croisée pour les valeurs comprises dans la plage.

    Par exemple, après [Age]<21, tapez une virgule, puis tapez "0-20 years".

  7. Tapez une virgule après le nom de la plage (à l’extérieur des guillemets) et effectuez l’une des opérations suivantes :

    • Pour créer une autre plage, tapez IIf(), puis répétez les étapes 5, 6 et 7.

    • Pour la dernière plage, tapez un nom pour la plage.

      Par exemple, une expression IIf imbriquée complète qui fractionne un champ Age en plages de vingt années peut ressembler à ce qui suit (des sauts de ligne ont été ajoutés pour des raisons de lisibilité) :

      IIf([Age]<21,"0-20 years",
      IIf([Age]<41,"21-40 years",
      IIf([Age]<61,"41-60 years",
      IIf([Age]<81,"61-80 years", "80+ years"))))

      Remarque : Lorsque Access évalue l’expression, il arrête l’évaluation dès qu’une des instructions IIf a la valeur True. Il est inutile de spécifier l’extrémité inférieure de chaque plage, car toute valeur inférieure à l’extrémité inférieure d’une plage donnée aurait déjà été évaluée à la valeur True.

  8. Dans la grille de création de requête, sur la ligne Total, sélectionnez Regrouper par.

  9. Sur la ligne Analyse croisée, spécifiez s’il faut utiliser les plages en tant qu’en-têtes de lignes ou en-têtes de colonnes. N’oubliez pas que vous pouvez spécifier de un à trois en-têtes de lignes et un seul en-tête de colonne.

Haut de la page

Inviter à fournir un paramètre pour limiter les en-têtes de lignes

Vous souhaiterez peut-être que votre requête Analyse croisée invite l’utilisateur à entrer des données lors de son exécution. Par exemple, supposons que vous utilisez plusieurs en-têtes de lignes, parmi lesquels Pays/région. Plutôt que de toujours afficher les données pour chaque pays ou région, vous souhaiterez peut-être que votre requête invite l’utilisateur à spécifier un nom, puis affiche les données en fonction de l’entrée utilisateur.

Vous pouvez ajouter une invite de paramètre à n’importe quel champ d’en-tête de ligne.

Remarque : Vous pouvez également ajouter une invite de paramètre à un champ d’en-tête de colonne, mais cela ne limite pas les colonnes qui s’affichent. Pour plus d’informations sur la limitation des colonnes qui s’affichent, voir la section Spécifier des valeurs fixes pour les en-têtes de colonnes.

  1. Ouvrez la requête Analyse croisée en mode Création.

  2. Sur la ligne Critères du champ d’en-tête de ligne pour lequel vous souhaitez inviter l’utilisateur à fournir une entrée, tapez le texte de la question entre crochets. Le texte de la question s’affiche sous forme d’invite lors de l’exécution de la requête.

    Par exemple, si vous tapez [Quel pays ou région ?] sur la ligne Critères, lors de l’exécution de la requête, une boîte de dialogue s’affiche avec la question « Quel pays ou région ? », une zone d’entrée et un bouton OK.

    Conseil : Si vous souhaitez que votre paramètre doit être flexibles, concaténer votre expression avec des caractères génériques, à l’aide de l’opérateur Like . Par exemple, au lieu d’utiliser [quel PAtry ou region?] comme critère, vous pouvez utiliser comme [quels pays ou region?] & "* » pour que le paramètre corresponde à une vaste gamme d’entrée. À l’aide de comme ne modifie pas l’apparence de l’invite de paramètre.

  3. Sous l’onglet Créer, dans le groupe Afficher/Masquer, cliquez sur Paramètres.

  4. Dans la boîte de dialogue Paramètres de la requête, dans la colonne Paramètres, entrez la même invite de paramètre que celle utilisée sur la ligne Critères. Incluez les crochets, mais n’incluez pas de caractères génériques concaténés ni l’opérateur Comme.

  5. Dans la colonne Type de données, sélectionnez le type de données pour le paramètre. Le type de données doit correspondre au type de données du champ d’en-tête de ligne.

Haut de la page

Remplacer les valeurs Null par des zéros

Si le champ que vous utilisez pour calculer des valeurs de synthèse dans votre requête Analyse croisée contient des valeurs Null, ces valeurs sont ignorées par toute fonction d’agrégation que vous utilisez. Pour certaines fonctions d’agrégation, vos résultats peuvent être affectés. Par exemple, pour calculer une moyenne, vous ajoutez toutes les valeurs et divisez le résultat par le nombre de valeurs. Mais si le champ contient des valeurs Null, celles-ci ne sont pas comptabilisées dans le nombre de valeurs.

Dans certains cas, vous préférerez peut-être remplacer toutes les valeurs Null par des zéros afin qu’elles soient comptabilisées pendant les calculs d’agrégation. Vous pouvez utiliser la fonction Nz pour remplacer les valeurs Null par des zéros.

Syntaxe de Nz

Nz( variant [, valueifnull ] )

La syntaxe de la fonction Nz comprend les arguments suivants :

Argument

Description

variant

Obligatoire. Variable de type de donnéesVariant.

valueifnull

Facultatif (sauf dans une requête). Variant qui fournit une valeur à renvoyer si l’argument variant est Null. Cet argument vous permet de renvoyer une valeur différente de zéro ou d’une chaîne de longueur nulle.

Remarque : Si vous utilisez la fonction Nz dans une expression dans une requête sans utiliser l’argument valueifnull, le résultat est une chaîne de longueur nulle dans les champs qui contiennent des valeurs Null.

  1. La requête étant ouverte en mode Création, dans la grille de création de requête, cliquez avec le bouton droit sur le champ Valeur.

  2. Dans le menu contextuel, cliquez sur Zoom.

  3. Dans la zone Zoom, placez le nom de champ ou l’expression entre parenthèses, puis tapez Nz devant les parenthèses.

  4. Tapez 0 juste devant la parenthèse droite.

    Par exemple, si vous avez utilisé Nz avec un champ nommé « Hours Lost » pour convertir les valeurs Null en zéros, votre expression terminée ressemble à ceci :

Nz([Hours Lost], 0)

Haut de la page

Conseils relatifs aux requêtes analyse croisée

  • Restez simple    La lecture des requêtes Analyse croisée peut devenir difficile à mesure que le nombre de combinaisons de lignes augmente. N’utilisez pas plus d’en-têtes de lignes que vous n’en avez besoin.

  • Créez votre analyse croisée par étape    Ne vous limitez pas à l’utilisation de tables. Il est souvent pratique de commencer par créer une requête Opérations, puis d’utiliser cette requête comme source d’enregistrement pour une requête Analyse croisée.

  • Choisissez avec soin votre champ d’en-tête de colonne    Les feuilles de données analyse croisée sont généralement plus faciles à lire lorsque le nombre d’en-têtes de colonnes est relativement faible. Une fois que vous avez identifié les champs à utiliser comme en-têtes, utilisez le champ ayant le moins de valeurs distinctes pour produire des en-têtes de colonnes. Par exemple, si votre requête calcule une valeur par âge ou sexe, utilisez le sexe comme en-tête de colonne plutôt que l’âge, car le sexe a en général moins de valeurs possibles que l’âge.

  • Utiliser une sous-requête dans une clause WHERE    Vous pouvez utiliser une sous-requête dans le cadre d’une clause WHERE dans une requête analyse croisée.

Haut de la page

Remarque : Avertissement traduction automatique : cet article a été traduit par un ordinateur, sans intervention humaine. Microsoft propose cette traduction automatique pour offrir aux personnes ne maîtrisant pas l’anglais l’accès au contenu relatif aux produits, services et technologies Microsoft. Comme cet article a été traduit automatiquement, il risque de contenir des erreurs de grammaire, de syntaxe ou de terminologie.

Ces informations vous ont-elles été utiles ?

Comment pouvons-nous nous améliorer ?

Comment pouvons-nous nous améliorer ?

Afin de protéger votre vie privée, n’indiquez aucune information de contact dans vos commentaires. Lisez notre déclaration de confidentialité.

Nous vous remercions pour vos commentaires.