Questão de Noções de Informática — Banco de Dados — INSTITUTO AOCP 2025
- Código
- qg540698
- Banca
- INSTITUTO AOCP
- Órgão
- MPE-RS
- Ano
- 2025
- Nível
- Superior
- Cargo
- Analista do Ministério Público - Informática
- AOnly()
- BSum()
- CMax()
- DMin()
- ECount()
GabaritoA — Only()
Gabarito: letra A. A função Only() é a única que retorna um valor somente se houver um único valor possível no grupo de registros analisado; as demais funções de agregação (Sum, Max, Min, Count) sempre retornam um resultado, mesmo quando há múltiplos valores distintos. Essa é a definição literal da função Only() na documentação do Qlik Sense.
As funções de agregação são um dos pilares da análise de dados em ferramentas de Business Intelligence como o Qlik Sense. Elas recebem como entrada os valores de vários registros (linhas de uma tabela ou seleção) e produzem um único valor de saída que resume o conjunto. O enunciado descreve exatamente esse comportamento genérico — e pede a função que tem uma particularidade: só devolve resultado quando existe um único valor possível no grupo.
Vamos entender cada uma:
Only(): retorna o valor de uma expressão se houver apenas um valor possível no grupo. Se houver dois ou mais valores distintos, retorna NULL. É usada para garantir que uma agregação só seja exibida quando o contexto de análise é inequívoco — por exemplo, para evitar que um gráfico mostre um valor quando o usuário selecionou múltiplas categorias.
Sum(): soma todos os valores do campo no grupo. Sempre retorna um número (0 se não houver valores).
Max() e Min(): retornam o maior e o menor valor do grupo, respectivamente.
Count(): conta o número de registros (ou valores não nulos) no grupo.
A pegadinha da questão está em reconhecer que Only() não é uma função de agregação "comum" como as outras — ela tem um comportamento condicional. Enquanto Sum, Max, Min e Count sempre produzem um resultado (mesmo que seja 0, NULL ou o único valor), Only() só produz resultado quando há exatamente um valor possível. É exatamente essa a descrição do enunciado: "retornando um valor somente se houver um valor possível no grupo".
Na prática, imagine uma tabela de vendas com os campos Produto e Valor. Se você usar Sum(Valor) com o produto "A" selecionado, obtém a soma das vendas de A. Se selecionar dois produtos, obtém a soma dos dois. Já Only(Produto) retornaria "A" se apenas A estivesse selecionado, mas retornaria NULL se dois produtos estivessem selecionados — porque há mais de um valor possível. Essa é a distinção central que a banca explora.
A banca descreve o comportamento de Only() e espera que o candidato confunda com as funções de agregação tradicionais (Sum, Max, Min, Count). O termo-chave é "somente se houver um valor possível" — isso é exclusivo da Only(). As demais funções sempre retornam um valor, mesmo com múltiplos valores no grupo. Fique atento: se a questão falar em "retorna somente se houver um único valor", a resposta é Only().
A função Only() é exatamente a que retorna um valor somente se houver um único valor possível no grupo de registros. Se houver mais de um valor distinto, ela retorna NULL. É a definição literal da função na documentação do Qlik Sense. As demais funções de agregação não têm esse comportamento condicional.
Sum() é uma função de agregação que soma todos os valores do campo no grupo. Ela sempre retorna um resultado (a soma), mesmo que haja múltiplos valores distintos. Não há condição de "valor único" — ela soma tudo que encontrar. A confusão aqui é achar que Sum() também poderia retornar algo condicional, mas não: ela é uma agregação pura.
Max() retorna o maior valor do grupo. Assim como Sum(), ela sempre retorna um valor (o máximo), independentemente de quantos valores distintos existam. Não há condição de "valor único". A pegadinha é achar que Max() poderia ser usada para verificar unicidade, mas ela apenas identifica o extremo superior.
Min() retorna o menor valor do grupo. Comportamento análogo ao Max(): sempre retorna um valor (o mínimo), mesmo com múltiplos valores. Não há condição de "valor único". A confusão seria pensar que Min() verifica unicidade, mas ela apenas identifica o extremo inferior.
Count() conta o número de registros (ou valores não nulos) no grupo. Ela sempre retorna um número inteiro, mesmo que seja 0. Não há condição de "valor único" — ela apenas conta. A pegadinha é achar que Count() poderia retornar algo condicional, mas ela é uma contagem pura.
Gabarito: letra A — Only() é a única função que retorna um valor somente se houver um único valor possível no grupo.
Link permanente: /questoes/qg540698