Uma função até um pouco desconhecida e que é muito útil no nosso dia a dia profissional é a função RATIO_TO_REPORT. Esta função serve para melhorar ainda mais a qualidade e a velocidade de criação de relatório no Oracle.
A função RATIO_TO_REPORT é nativa do Oracle, ou seja já está pronta para ser usada, e tem como objetivo mostrar a proporção de determinada quantidade em Relação ao Total.
Mas você deve estar se perguntando, para que esta função serve? Acho que a melhor forma de mostrar isso é com bons exemplos, então peguei um bem simples que é descrito logo abaixo!
Vamos imaginar um relatório onde eu preciso retornar a quantidade total de empregados em um determinado departamento, bom isso é simples. Precisamos usar a função de agrupamento COUNT e agrupar os valores por departamento e vamos ter exatamente o resultado abaixo.
Se você não domina funções de agrupamento te convido a conhecer o Curso Oracle Essentials, um curso de formação profissional que vai tratar muito detalhadamente não só esse assunto como outros assuntos muito importantes para profissionais Oracle.
Voltando ao assunto principal o relatório acima já ficou bem legal, mas vamos imaginar um cenário onde é necessário retornar a representatividade de cada departamento dentro da empresa.
Nossa agora você deve imaginar ferrou, vou fazer uma subquery para retornar o valor total, salvar isso dentro de um WITH e depois usar esse retorno e fazer uma conta vendo a porcentagem de representatividade de determinado valor. Confesso que esta seria uma solução bem otimizada ainda para resolver este problema.
Mas de verdade nada disso é necessário, existe uma função nativa do Oracle que resolve todo esse problema que é a RATIO_TO_REPORT. Segue abaixo um exemplo bem prático da utilização dessa função:
Logo, temos no DEPARTMENT_ID 50, 45 funcionários que representam 42,06% do TOTAL e assim sucessivamente. E esse resultado é possível apenas com a linha ROUND(RATIO_TO_REPORT(COUNT(*)) OVER()*100, 2).
Viu só como cada dia você pode aprender algo novo para se tornar um profissional Oracle melhor. A função RATIO_TO_REPORT é super simples e pode ter certeza que vai melhorar a qualidade do seu código e vai mostrar você como um profissional mais sênior para os seus colegas de trabalho.
É sempre ótimo aprender algo novo no dia! E que tal aprender ainda mais com hoje lendo o artigo de como criar senhas da Oracle com o DBMS_RANDOM. É só clicar no link para ler esse artigo imperdível!
Agora eu gostaria de saber a sua opinião sobre o artigo, ou se quiser sugerir algum assunto deixe um comentário. Vai ser um prazer conversar com você.
p.s. Se gostou do artigo não deixe de compartilhar, isso vai nos ajudar muito e você ainda vai poder mostrar para todo mundo o quanto você está engajado em aprender cada vez mais.
Link permanente
Sensacional William! Obrigado!
Link permanente
Que ótimo que você gostou do conteúdo Renan.
ABS
William Miranda