Apresentamos nesse vídeo como converter valores de colunas em linhas de dados existentes no arquivo excel utilizando o SQL Server.
1. Ler arquivo Excel (SELECT, OPENROWSET):
Utilize a instrução OPENROWSET ou OPENDATASOURCE junto com a função SELECT para ler dados de um arquivo Excel diretamente em uma consulta SQL.
Exemplo:
SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=C:CaminhoParaArquivo.xlsx;HDR=YES', 'SELECT * FROM [Planilha$]')
2. Expressão de Tabela Comum (CTE):
Uma Expressão de Tabela Comum (CTE) é uma consulta temporária que pode ser referenciada dentro de uma consulta principal.
WITH CTEExemplo AS ( SELECT Coluna1, Coluna2 FROM Tabela ) SELECT * FROM CTEExemplo;
3. Converter Valores de Colunas em Linhas (UNPIVOT, FOR, IN):
Use a cláusula UNPIVOT para transformar valores de colunas em linhas. A cláusula FOR e IN são usadas para especificar as colunas a serem unpivotadas.
SELECT Nome, Valor FROM Tabela UNPIVOT (Valor FOR Nome IN (Coluna1, Coluna2, Coluna3)) AS UnpivotedTable;
4. Inserir resultado em tabela auto-criada (INTO, FROM):
Utilize a instrução INTO junto com FROM para inserir os resultados de uma consulta em uma nova tabela.
SELECT Coluna1, Coluna2 INTO NovaTabela FROM TabelaExistente WHERE Condição = Valor;
5. Converter Valores de Linhas em Colunas (PIVOT, SUM, FOR, IN):
Use a cláusula PIVOT para transformar valores de linhas em colunas. A cláusula SUM é frequentemente utilizada para agregar valores.
SELECT * FROM ( SELECT Nome, Valor FROM Tabela ) AS T PIVOT ( SUM(Valor) FOR Nome IN ([Coluna1], [Coluna2], [Coluna3]) ) AS PivotedTable;
Essas operações permitem realizar transformações e manipulações nos dados do SQL Server, facilitando a análise e relatórios.
Data Scientist and Consultant for Digital and Analytics Solutions
@fabioms