TREINAMENTO SQL E POWER BI
DIRETORIA CORPORATIVA DE DISTRIBUIÇÃO
GERÊNCIA CORPORATIVA DE SERVIÇOS TÉCNICOS E COMERCIAIS
SETEMBRO/2021
PARTE 1 - SQL
• BANCO DE DADOS
• O QUE É SQL
• SELECT
• JOIN
• WHERE
• GROUP BY
• CASE
• TABELAS
Rafael Aranha - [Link]@[Link]
BANCOS DE DADOS
OPER MA OPER PA AJURI AL
Dados de campos
OPER PI OPER AL AJURI PI
SAP CCS EQTLINFO
Dados de Atendimento
Rafael Aranha - [Link]@[Link]
BANCOS DE DADOS
DATA
SERVICE
OPER MA EQTLINFO
Rafael Aranha - [Link]@[Link]
A LINGUAGEM
•Consulta de Dados - Define o comando utilizado para que possamos consultar (SELECT) os
dados armazenados no banco;
•Manipulação de Dados - Define os comandos utilizados para manipulação de dados no
banco (INSERT, UPDATE e DELETE);
•Definição de Dados - Define os comandos utilizados para criação (CREATE) de tabelas,
views, índices, atualização dessas estruturas (ALTER), assim como a remoção (DROP);
•Controle de Dados - Define os comandos utilizados para controlar o acesso aos dados do
banco, adicionando (GRANT) e removendo (REVOKE) permissões de acesso;
•Transação de Dados - Define os comandos utilizados para gerenciar as transações
executadas no banco de dados, como iniciar (BEGIN) uma transação, confirmá-la (COMMIT)
ou desfazê-la (ROLLBACK)
Rafael Aranha - [Link]@[Link]
Como fazer um Select?
SELECT
*
FROM OWENGCMR.SERVICO_OPER
Rafael Aranha - [Link]@[Link]
Como fazer um Select?
SELECT
EMPRESA,
REGIONAL,
BASE,
EQUIPE,
NUM_OPER,
NUM_OS
FROM OWENGCMR.SERVICO_OPER
Rafael Aranha - [Link]@[Link]
Como fazer um Select?
SELECT SELECT
[Link], EMPRESA,
[Link], REGIONAL,
[Link], BASE,
[Link], EQUIPE,
A.NUM_OPER, NUM_OPER,
A.NUM_OS NUM_OS
FROM OWENGCMR.SERVICO_OPER A FROM OWENGCMR.SERVICO_OPER
Rafael Aranha - [Link]@[Link]
Como fazer um Select?
SELECT SELECT
[Link], EMPRESA,
[Link], REGIONAL,
[Link], BASE,
[Link], EQUIPE,
A.NUM_OPER, NUM_OPER,
A.NUM_OS NUM_OS
FROM OWENGCMR.SERVICO_OPER A FROM OWENGCMR.SERVICO_OPER
Rafael Aranha - [Link]@[Link]
Como fazer um Select?
SELECT
[Link],
[Link],
[Link],
[Link],
Como saber qual o processo
A.NUM_OPER, dessas equipes ?
A.NUM_OS
FROM OWENGCMR.SERVICO_OPER A
Rafael Aranha - [Link]@[Link]
Como fazer um JOIN ?
SELECT
*
FROM OWENGCMR.GP_GSTC_EQUIPES2021
Rafael Aranha - [Link]@[Link]
Como fazer um JOIN ?
SELECT
[Link],
[Link],
[Link],
[Link],
A.NUM_OPER,
A.NUM_OS,
[Link],
B.SERV_CAMPO
FROM OWENGCMR.SERVICO_OPER A
INNER JOIN OWENGCMR.GP_GSTC_EQUIPES2021 B ON [Link] = [Link]
TIPOS DE JOIN
Rafael Aranha - [Link]@[Link]
Como fazer um JOIN ?
SELECT
[Link],
[Link],
[Link],
[Link],
A.NUM_OPER,
A.NUM_OS,
[Link],
B.SERV_CAMPO
FROM OWENGCMR.SERVICO_OPER A
LEFT JOIN OWENGCMR.GP_GSTC_EQUIPES2021 B ON [Link] = [Link]
WHERE
SELECT
[Link],
[Link],
[Link],
[Link],
A.NUM_OPER,
A.NUM_OS,
[Link],
B.SERV_CAMPO
FROM OWENGCMR.SERVICO_OPER A
LEFT JOIN OWENGCMR.GP_GSTC_EQUIPES2021 B ON [Link] = [Link]
WHERE [Link] = 'NORTE' NECESSÁRIO FICAR IGUAL À TABELA ORIGINAL ENTRE ASPAS
AND BASE = 'ROSARIO'
Rafael Aranha - [Link]@[Link]
WHERE
SELECT
[Link],
[Link],
[Link],
[Link],
A.NUM_OPER,
A.NUM_OS,
[Link],
B.SERV_CAMPO
FROM OWENGCMR.SERVICO_OPER A
LEFT JOIN OWENGCMR.GP_GSTC_EQUIPES2021 B ON [Link] = [Link]
WHERE [Link] IN ('NORTE‘,‘LESTE‘)
Rafael Aranha - [Link]@[Link]
WHERE COM DATA
SELECT
[Link],
[Link],
[Link],
[Link],
A.NUM_OPER,
A.NUM_OS,
[Link],
B.SERV_CAMPO,
A.DT_CONCLUSAO
FROM OWENGCMR.SERVICO_OPER A
LEFT JOIN OWENGCMR.GP_GSTC_EQUIPES2021 B ON [Link] = [Link]
WHERE A.DT_CONCLUSAO >= TO_DATE('01/09/2021','DD/MM/YYYY')
and A.DT_CONCLUSAO < TO_DATE('10/09/2021','DD/MM/YYYY')
Rafael Aranha - [Link]@[Link]
WHERE COM DATA
SELECT
[Link],
[Link],
[Link],
[Link],
A.NUM_OPER,
A.NUM_OS,
[Link],
B.SERV_CAMPO,
A.DT_CONCLUSAO
FROM OWENGCMR.SERVICO_OPER A
LEFT JOIN OWENGCMR.GP_GSTC_EQUIPES2021 B ON [Link] = [Link]
WHERE A.DT_CONCLUSAO >= TO_DATE('01/09/2021','DD/MM/YYYY')
and A.DT_CONCLUSAO < TO_DATE('10/09/2021','DD/MM/YYYY')
Rafael Aranha - [Link]@[Link]
MELHORANDO O SELECT
SELECT
[Link],
[Link],
[Link],
[Link],
A.NUM_OPER,
A.NUM_OS,
[Link],
B.SERV_CAMPO,
A.DT_CONCLUSAO,
TO_CHAR(A.DT_CONCLUSAO,'MM/YYYY') MES_ANO,
TO_CHAR(A.DT_CONCLUSAO,'YYYY') ANO
FROM OWENGCMR.SERVICO_OPER A
LEFT JOIN OWENGCMR.GP_GSTC_EQUIPES2021 B ON [Link] = [Link]
WHERE A.DT_CONCLUSAO >= TO_DATE('01/09/2021','DD/MM/YYYY')
and A.DT_CONCLUSAO < TO_DATE('10/09/2021','DD/MM/YYYY')
Rafael Aranha - [Link]@[Link]
CASE
BASE
CASE BARREIRINHAS
WHEN [Link] = 'BARREIRINHAS' THEN 'NORTE - RURAL' HUMBERTO DE CAMPOS
WHEN [Link] = 'HUMBERTO DE CAMPOS' THEN 'NORTE - RURAL'
WHEN [Link] = 'MORROS' THEN 'NORTE - RURAL' MORROS
WHEN [Link] = 'ROSARIO' THEN 'NORTE - RURAL' ROSARIO
WHEN [Link] = 'ARAIOSES' THEN 'NORTE - RURAL'
WHEN [Link] = 'SANTA RITA' THEN 'NORTE - RURAL'
ARAIOSES NORTE RURAL
WHEN [Link] = 'SAO BERNARDO' THEN 'NORTE - RURAL' SANTA RITA
WHEN [Link] = 'TUTOIA' THEN 'NORTE - RURAL'
WHEN [Link] = 'SAO LUIS RAPOSA' THEN 'NORTE - RURAL'
SAO BERNARDO
WHEN [Link] = 'SAO LUIS CENTRO' THEN 'NORTE - ILHA' TUTOIA
WHEN [Link] = 'SAO LUIS MAIOBAO' THEN 'NORTE - ILHA'
ELSE [Link]
SAO LUIS RAPOSA
END BASE, SAO LUIS CENTRO
NORTE ILHA
SAO LUIS MAIOBAO
OU
CASE
WHEN [Link] IN ('BARREIRINHAS','HUMBERTO DE CAMPOS','MORROS','ROSARIO','ARAIOSES','SANTA RITA','SAO
BERNARDO','TUTOIA','SAO LUIS RAPOSA') THEN 'NORTE - RURAL'
WHEN [Link] IN ('SAO LUIS CENTRO','SAO LUIS MAIOBAO') THEN 'NORTE - ILHA'
ELSE [Link]
END BASE,
Rafael Aranha - [Link]@[Link]
CASE
SELECT
[Link],
[Link],
CASE
WHEN [Link] IN ('BARREIRINHAS','HUMBERTO DE CAMPOS','MORROS','ROSARIO','ARAIOSES',
'SANTA RITA','SAO BERNARDO','TUTOIA','SAO LUIS RAPOSA') THEN 'NORTE - RURAL'
WHEN [Link] IN ('SAO LUIS CENTRO','SAO LUIS MAIOBAO') THEN 'NORTE - ILHA'
ELSE [Link]
END BASE,
[Link],
A.NUM_OPER,
A.NUM_OS,
[Link],
B.SERV_CAMPO,
A.DT_CONCLUSAO,
TO_CHAR(A.DT_CONCLUSAO,'MM/YYYY') MES_ANO,
TO_CHAR(A.DT_CONCLUSAO,'YYYY') ANO
FROM OWENGCMR.SERVICO_OPER A
LEFT JOIN OWENGCMR.GP_GSTC_EQUIPES2021 B ON [Link] = [Link]
WHERE A.DT_CONCLUSAO >= TO_DATE('01/09/2021','DD/MM/YYYY')
and A.DT_CONCLUSAO < TO_DATE('10/09/2021','DD/MM/YYYY')
AND [Link] = 'NORTE'
Rafael Aranha - [Link]@[Link]
Extrair relatório:
Rafael Aranha - [Link]@[Link]
TABELAS
NOTAS E SERVIÇOS DE ORIGEM OPER: NOTAS E SERVIÇOS OPER+AJURI (USADA NA UPS)
OWENGCMR.SERVICO_OPER OWENGCMR.SERVICOS_EXECUTADOS_RESUMO
OWENGCLP.SERVICOS_EXECUTADOS_RESUMO
OWENGCLP.SERVICO_OPER OWENGCPS.SERVICOS_EXECUTADOS_RESUMO
OWENGCPS.SERVICO_OPER OWENGCEL.SERVICOS_EXECUTADOS_RESUMO
OWENGCEL.SERVICO_OPER
NOTAS E SERVIÇOS OPER+AJURI (USADA NA UPS)
TABELA DE EQUIPES
OWENGCMR.GP_GSTC_EQUIPES2021 OWENGCMR.SERVICOS_EXECUTADOS_RESUMO
OWENGCLP.SERVICOS_EXECUTADOS_RESUMO
TABELA DE UPS OWENGCPS.SERVICOS_EXECUTADOS_RESUMO
OWENGCMR.TAB_UPS_2021_1 OWENGCEL.SERVICOS_EXECUTADOS_RESUMO
Rafael Aranha - [Link]@[Link]
GROUP BY
SELECT
[Link],
[Link],
[Link],
[Link],
COUNT(A.NUM_OPER) QTD,
A.OSTIPO_ID,
[Link],
B.SERV_CAMPO
FROM OWENGCMR.SERVICO_OPER A
LEFT JOIN OWENGCMR.GP_GSTC_EQUIPES2021 B ON [Link] =
[Link]
WHERE A.DT_CONCLUSAO >= TO_DATE('01/09/2021','DD/MM/YYYY')
and A.DT_CONCLUSAO < TO_DATE('10/09/2021','DD/MM/YYYY')
GROUP BY
[Link],
[Link],
[Link],
[Link],
A.OSTIPO_ID,
[Link],
B.SERV_CAMPO
Rafael Aranha - [Link]@[Link]
DESAFIO
• Criar um gráfico comparativo em EXCEL, que mostre a diferença de prazo
de execução de LN entre duas BASES da sua Regional, extraindo a base
pelo SQL, do ano de 2021. Conforme imagem abaixo:
NOTAS ATENDIDAS FORA DO PRAZO
25
18
15
12 13
9 10 10 9
8 7 8
5 4
3 3
1 1
BACABAL ITAPECURU BACABAL ITAPECURU BACABAL ITAPECURU BACABAL ITAPECURU BACABAL ITAPECURU BACABAL ITAPECURU BACABAL ITAPECURU BACABAL ITAPECURU BACABAL ITAPECURU
MIRIM MIRIM MIRIM MIRIM MIRIM MIRIM MIRIM MIRIM MIRIM
01/2021 02/2021 03/2021 04/2021 05/2021 06/2021 07/2021 08/2021 09/2021
• Salve o script que utilizaremos na elaboração do POWER BI
Rafael Aranha - [Link]@[Link]
Servidor de Relatórios
Power Bi Desktop
IMPORTANDO DADOS
CONFIGURANDO CONSULTA
CONFIGURANDO CONSULTA
CONFIGURANDO CONSULTA
CONFIGURANDO CONSULTA
CONFIGURANDO CONSULTA
Elaborando o relatório
Campos de Edição
Inserindo Filtros
Configurando Gráfico
Configurando Gráfico
Configurando Gráfico
Supondo que precisamos apenas organizar esses dados por
tipo de equipe, emergencial e comercial!
1º Criar uma coluna nova
2º Criar uma lógica como no excel
Configurando NOVO CAMPO
UTILIZANDO OUTRA REFERÊNCIA
LOOK UP FOR A VALUE
LOOKUPVALUE ( campo necessário, campo chave na tabela que você ta buscando , campo chave na tabela original
Mesclar consultas
Mesclar consultas
Mesclar consultas
Mesclar consultas