Guía en dependencia de la conversión de columna en el servidor SQL
Cuando el procesamiento de tablas que contienen una gran cantidad de columnas métricas, convertir estas columnas en filas es muy beneficioso para fines de análisis e informes. Esta transformación implica la reconstrucción de los datos para crear nuevas tablas con diferentes esquemas.
Declaración de problemas
Considere la siguiente estructura de la tabla:
[ID] [EntityID] [Indicator1] [Indicator2] [Indicator3] ... [Indicator150]
El objetivo es convertir estas columnas métricas en filas, creando así una nueva tabla con el siguiente esquema:
[ID] [EntityId] [IndicatorName] [IndicatorValue]
]
solución usando Unpivot
Una solución elegante para lograr esta tarea es aprovechar la función no vivocot. La sintaxis de Unpivot es la siguiente:
UNPIVOT ([unpivot column] FOR [pivot column] IN ([pivot values]))
En este ejemplo, la columna Untivot representa el valor del indicador (por ejemplo, "Indicador1", "Indicador2", etc.), y la columna Pivot representa el nombre de la columna en sí. La siguiente consulta ilustra cómo usar Unpivot:
select id, entityId,
indicatorname,
indicatorvalue
from yourtable
unpivot
(
indicatorvalue
for indicatorname in (Indicator1, Indicator2, Indicator3)
) unpiv;
realizando esta consulta, la columna métrica se convertirá en filas y el nombre y el valor métrico se llenarán con la nueva columna.
Alternativas
Además de Unpivot, hay otras formas de convertir columnas en filas:
La elección de una solución depende de las necesidades específicas y la versión de SQL Server utilizada.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3