Maison >base de données >tutoriel mysql >Comment puis-je faire pivoter les données sur les repas des étudiants dans MS Access à l'aide de SQL pour compter la consommation du petit-déjeuner, du déjeuner et des collations ?

Comment puis-je faire pivoter les données sur les repas des étudiants dans MS Access à l'aide de SQL pour compter la consommation du petit-déjeuner, du déjeuner et des collations ?

DDD
DDDoriginal
2025-01-05 08:30:42558parcourir

How Can I Pivot Student Meal Data in MS Access Using SQL to Count Breakfast, Lunch, and Snack Consumption?

Pivotement des données dans MS Access à l'aide de TRANSFORM

De nombreux analystes de données sont confrontés au besoin de manipuler de vastes ensembles de données pour extraire des informations significatives. Une transformation courante consiste à faire pivoter les données, ce qui implique de réorganiser les lignes et les colonnes pour faciliter une meilleure analyse. Cet article aborde un scénario spécifique dans lequel un utilisateur doit faire pivoter les données de consommation de repas des étudiants pour compter le nombre de repas (petit-déjeuner, déjeuner, collation) consommés par chaque étudiant sur une période spécifiée.

Problème :

Une requête qui récupère les identifiants des étudiants (SID) et les repas consommés (Item) sur un mois génère des données excessives pour un rapport de tableau croisé dynamique. Le défi est de trouver une solution alternative à l'aide d'une requête SQL capable d'accomplir efficacement la tâche de pivotement.

Solution :

Microsoft Access fournit une puissante fonction TRANSFORM qui peut être utilisé pour faire pivoter les données. La syntaxe TRANSFORM nous permet de remodeler les données d'origine en agrégeant les valeurs sur un ensemble de champs souhaité. Dans ce cas, nous pouvons utiliser TRANSFORM pour faire pivoter les données par SID et MealType, en comptant les occurrences de chaque type de repas.

La requête SQL suivante montre comment faire pivoter les données de consommation de repas des étudiants :

TRANSFORM COUNT(MenuItems.MealType)
SELECT April2013.SID, MenuItems.MealType
FROM April2013 
LEFT JOIN MenuItems 
  ON MenuItems.Item=April2013.Item
GROUP BY April2013.SID
PIVOT MenuItems.MealType; 

Cette requête produira un résultat pivoté comme demandé, où chaque ligne représente un élève et les colonnes représentent le nombre de repas consommés pour chaque MealType. Le résultat apparaîtra comme suit :

+-----+-----------+-------+---------+
| SID | Breakfast | Lunch | Snack   |
+-----+-----------+-------+---------+
| 001 |         3 |    10 |     1   |
| 002 |         4 |     8 |    10   |
| 003 |        18 |     2 |     7   |
| 004 |         6 |     7 |     2   |
+-----+-----------+-------+---------+

Grâce à la fonction TRANSFORM, nous pouvons réussir à faire pivoter les données dans MS Access pour obtenir une vue résumée de la consommation de repas par les étudiants, permettant une analyse et des rapports plus efficaces.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn