Guia de profundidade para conversão de colunas no SQL Server
Ao processar tabelas contendo um grande número de colunas métricas, a conversão dessas colunas em linhas é muito benéfica para fins de análise e relatório. Essa transformação envolve a reconstrução dos dados para criar novas tabelas com diferentes esquemas.
declaração de problemas
Considere a seguinte estrutura da tabela:
[ID] [EntityID] [Indicator1] [Indicator2] [Indicator3] ... [Indicator150]
O objetivo é converter essas colunas métricas em linhas, criando assim uma nova tabela com o seguinte esquema:
] Solução[ID] [EntityId] [IndicatorName] [IndicatorValue]
unpivot ([coluna Unpivot] para [coluna Pivot] em ([Valores Pivot]))
Neste exemplo, a coluna Unpivot representa o valor do indicador (por exemplo, "indicador1", "indicador2", etc.), e a coluna Pivot representa o próprio nome da coluna. A consulta a seguir ilustra como usar o Unpivot:
UNPIVOT ([unpivot column] FOR [pivot column] IN ([pivot values]))
executando esta consulta, a coluna métrica será convertida em linhas e o nome e o valor métricos serão preenchidos com a nova coluna.
select id, entityId,
indicatorname,
indicatorvalue
from yourtable
unpivot
(
indicatorvalue
for indicatorname in (Indicator1, Indicator2, Indicator3)
) unpiv;
Além do Unpivot, existem outras maneiras de converter colunas em linhas:
Cross Aplicar usando a Union All:
Este método envolve o uso de Aplicação cruzada e união para especificar explicitamente cada nome e valor métrico.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3