1
resposta

Desafio: Completando o relatório

Olá,

No comando abaixo:

SELECT
TC.CPF, TC.NOME, TC.VOLUME_DE_COMPRA, TV.MES_ANO, TV.QUANTIDADE_TOTAL,
(CASE WHEN TC.VOLUME_DE_COMPRA >= TV.QUANTIDADE_TOTAL THEN 'VENDAS VÁLIDAS'
ELSE 'VENDAS INVÁLIDAS' END) AS RESULTADO,
(1 - (TC.VOLUME_DE_COMPRA/TV.QUANTIDADE_TOTAL)) * 100 AS PERCENTUAL
FROM TABELA_DE_CLIENTES TC
INNER JOIN
(
SELECT 
NF.CPF
,CONVERT(VARCHAR(7), NF.DATA_VENDA, 120) AS MES_ANO
,SUM(INF.QUANTIDADE) AS QUANTIDADE_TOTAL
FROM NOTAS_FISCAIS NF
INNER JOIN ITENS_NOTAS_FISCAIS INF
ON NF.NUMERO = INF.NUMERO
GROUP BY
NF.CPF
, CONVERT(VARCHAR(7), NF.DATA_VENDA, 120)
) TV
ON TV.CPF = TC.CPF
WHERE TV.MES_ANO = '2015-01'
AND (TC.VOLUME_DE_COMPRA - TV.QUANTIDADE_TOTAL) < 0;

Não compreendi o uso do "1-" na linha do comando da inclusão do campo Percentual do código abaixo:

(1 - (TC.VOLUME_DE_COMPRA/TV.QUANTIDADE_TOTAL)) * 100 AS PERCENTUAL

Podem me ajudar, com o uso da inclusão desse campo na query, e a função do "1-(...)"

Obrigado!

1 resposta

Olá, Vander, tudo bem?

Desde já peço desculpas pela demora em obter retorno.

Na linha de código que você mencionou, (1 - (TC.VOLUME_DE_COMPRA/TV.QUANTIDADE_TOTAL)) * 100 AS PERCENTUAL, o "1-" é usado para calcular o complemento da divisão entre o volume de compra de um cliente e a quantidade total de vendas do mês de janeiro de 2015.

O resultado da divisão TC.VOLUME_DE_COMPRA/TV.QUANTIDADE_TOTAL será um número entre 0 e 1, representando a porcentagem do volume de compra em relação à quantidade total de vendas do mês. O uso do "1-" antes da divisão faz com que o resultado final do cálculo seja o complemento dessa porcentagem, ou seja, a porcentagem que não foi comprada pelo cliente em relação à quantidade total de vendas do mês.

Multiplicar o resultado por 100 converte o valor em uma porcentagem para facilitar a compreensão.

Por exemplo, se um cliente comprou 80 unidades de um produto em janeiro de 2015, e a quantidade total de vendas do mês foi de 100 unidades, então a divisão 80/100 resultará em 0,8, ou seja, o cliente comprou 80% da quantidade total vendida no mês. Usando o "1-" antes da divisão, o resultado será 0,2, ou seja, o cliente não comprou 20% da quantidade total vendida no mês. Multiplicando por 100, o resultado final será 20, representando que o cliente não comprou 20% das vendas totais do mês.

Espero que tenha ficado mais claro.

Vander, caso surja quaisquer dúvidas, fico à disposição.

Abraços e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!