Vous êtes sur la page 1sur 11

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

Applicable à : Access 2010 Plus... Moins

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.

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.

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.

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 où 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.
Argument Description
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 :
o Pour créer une autre plage, tapez IIf(), puis répétez les étapes 5, 6 et 7.
o 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.
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.
valueifnull
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.

Vous aimerez peut-être aussi