Pivot dynamique avec plusieurs colonnes dans SQL Server
Dans SQL Server, le pivotement des données vous permet de transposer des lignes en colonnes, ce qui permet des données plus intuitives analyse. Lorsque vous traitez plusieurs colonnes, l'utilisation d'une approche dynamique peut permettre de modifier les noms ou les valeurs des colonnes.
Données non pivotantes
Pour faire pivoter dynamiquement des données avec plusieurs colonnes, commencez par ne pas pivoter les colonnes pertinentes en utilisant soit la fonction UNPIVOT, soit CROSS APPLY. Ce processus transforme plusieurs colonnes en lignes, ce qui les rend plus faciles à manipuler.
Fonction PIVOT dynamique
Une fois le pivotement rétabli, vous pouvez utiliser la fonction PIVOT pour créer le tableau croisé dynamique. Cependant, les noms de colonnes de la fonction PIVOT doivent s'aligner sur les données non pivotées. Pour y parvenir de manière dynamique, concaténez les valeurs des colonnes avec leurs métadonnées respectives en suivant les étapes suivantes :
Exemple
Considérez l'exemple de tableau suivant avec les colonnes Année, Type, Total et Volume :
ID | YEAR | TYPE | TOTAL | VOLUME |
---|---|---|---|---|
DD1 | 2008 | A | 1000 | 10 |
DD1 | 2008 | B | 2000 | 20 |
DD1 | 2008 | C | 3000 | 30 |
En utilisant l'approche pivot dynamique, vous pouvez créer un tableau croisé dynamique avec les éléments suivants structure :
ID | 2008_A_Total | 2008_A_Volume | 2008_B_Total | 2008_B_Volume | 2008_C_Total | 2008_C_Volume |
---|---|---|---|---|---|---|
DD1 | 1000 | 10 | 2000 | 20 | 3000 | 30 |
En combinant des techniques de pivotement dynamique et sans pivotement, vous pouvez transformer et analyser efficacement les données avec différentes colonnes dans SQL Server.
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!