Conserver les noms de colonnes d'origine pour la déconvolution des données
La déconvolution des données (Unpivoting) est un processus de conversion de données tabulaires dans un autre format, où chaque colonne devient une ligne et ses noms de colonnes deviennent des attributs de la ligne. Bien que cela soit généralement utilisé pour remodeler les données à des fins d'analyse ou de visualisation, dans certains cas, il peut être utile de conserver les noms de colonnes d'origine.
Question :
Étant donné un tableau de données avec des noms de colonnes tels que Name
, Maths
, Science
et English
, comment déconvolutionner les données pour obtenir l'ensemble de résultats suivant ?
Name | Subject | Marks |
---|---|---|
Tilak | Maths | 90 |
Tilak | Science | 40 |
Tilak | English | 60 |
Solution :
Grâce à la clause UNPIVOT
de SQL, on peut déconvoluer les données tout en préservant les noms de colonnes :
select u.name, u.subject, u.marks from student s unpivot ( marks for subject in (Maths, Science, English) ) u;
UNPIVOT
convertit les colonnes Maths
, Science
et English
en lignes, et les scores deviennent la colonne « notes » dans l'ensemble de résultats déconvolué. Dans le même temps, le nom de la colonne reste dans la colonne « sujet ».
Exemple :
Considérez l'ensemble de données suivant :
Name | Maths | Science | English |
---|---|---|---|
Tilak | 90 | 40 | 60 |
Raj | 30 | 20 | 10 |
L'application de la requête fournie à cet ensemble de données produira les résultats souhaités :
Name | Subject | Marks |
---|---|---|
Tilak | Maths | 90 |
Tilak | Science | 40 |
Tilak | English | 60 |
Raj | Maths | 30 |
Raj | Science | 20 |
Raj | English | 10 |
Cette technique est utile lorsqu'il est important de conserver les noms de colonnes d'origine pour une analyse plus approfondie ou un traitement des données.
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!