Questão de Banco de Dados — BI (Business Intelligence) — INSTITUTO AOCP 2025
Banco de Dados›BI (Business Intelligence)
Código
qg540928
Banca
INSTITUTO AOCP
Órgão
MPE-RS
Ano
2025
Nível
Médio
Cargo
Técnico do Ministério Público - Informática
Um técnico de informática do MPRS está trabalhando em um projeto utilizando o Power BI para análise de dados relacionados aos processos em andamento na instituição. O profissional recebeu um conjunto de dados no qual as informações sobre os tipos de processos estão organizadas em colunas separadas, como “Ação Civil Pública”, “Inquérito Civil” e “Processo Penal”. Para facilitar a análise, ele precisa transformar essas colunas em linhas, permitindo uma visão mais detalhada dos processos. No Power BI, qual comando no Power Query o técnico deve utilizar para realizar essa transformação?
AChangeType
BTable.SelectRows
CTable.NestedJoin
DTable.Group
ETable.Unpivot
Revelar gabarito e comentário▾
GabaritoE — Table.Unpivot
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Power Query no Power BI: transformação de colunas em linhas
Gabarito: letra E. Para transformar colunas em linhas no Power Query, o comando correto é Table.Unpivot (não confundir com o comando Unpivot Other Columns, que é uma variação da mesma operação). Essa transformação é conhecida como unpivot (ou "despivotar") e é essencial para normalizar dados em formato largo (wide) para o formato longo (long), que é o formato ideal para análise no Power BI. O contexto da questão descreve exatamente esse cenário: colunas separadas como "Ação Civil Pública", "Inquérito Civil" e "Processo Penal" precisam ser transformadas em linhas para permitir uma visão mais detalhada dos processos.
O Power Query é a ferramenta de transformação e preparação de dados do Power BI. Ele permite que o usuário conecte-se a diversas fontes de dados, realize limpezas, transformações e combinações antes de carregar os dados no modelo. Uma das operações mais comuns e poderosas é o unpivot, que reorganiza os dados de uma tabela, convertendo múltiplas colunas em pares de colunas "Atributo" e "Valor". Isso é particularmente útil quando os dados estão em um formato de tabela cruzada (crosstab), onde cada coluna representa uma categoria ou período, e o analista precisa de uma estrutura mais flexível para agregações e visualizações.
A operação inversa, chamada pivot (ou "pivotar"), faz o oposto: transforma linhas em colunas. No Power Query, o comando Table.Pivot é usado para essa finalidade. É importante distinguir os dois conceitos, pois a banca pode explorar essa confusão. No cenário da questão, o técnico precisa transformar colunas em linhas, o que caracteriza claramente a operação de unpivot.
Na prática, ao selecionar as colunas que deseja transformar e clicar em "Unpivot Columns" (ou "Unpivot Other Columns" para despivotar todas as outras colunas), o Power Query gera automaticamente duas novas colunas: uma com o nome da coluna original (Atributo) e outra com o valor correspondente (Valor). Por exemplo, se a tabela original tem as colunas "Ação Civil Pública", "Inquérito Civil" e "Processo Penal" com valores numéricos, após o unpivot, cada linha representará um tipo de processo e seu respectivo valor, facilitando análises como contagem por tipo ou criação de gráficos.
A pegadinha desta questão está em confundir o unpivot com outras operações do Power Query, como Group By (agrupar), Join (combinar tabelas) ou Select Rows (filtrar linhas). O comando Table.Unpivot é específico para a transformação de colunas em linhas, e é exatamente o que o enunciado descreve. As demais alternativas realizam operações diferentes e não atendem ao requisito.
A alternativa ChangeType não é um comando válido no Power Query. O Power Query possui funções como Table.TransformColumnTypes para alterar o tipo de dados de uma coluna (por exemplo, de texto para número), mas não existe um comando chamado "ChangeType". Essa alternativa tenta confundir o candidato com um nome genérico que não corresponde a nenhuma função real do Power Query.
Alternativa B — ❌ Incorreta
Table.SelectRows é uma função do Power Query usada para filtrar linhas de uma tabela com base em uma condição. Por exemplo, Table.SelectRows(Tabela, each [Coluna] > 10) retorna apenas as linhas onde o valor da coluna é maior que 10. Essa operação não transforma colunas em linhas; ela apenas seleciona um subconjunto de linhas existentes. Portanto, não atende ao requisito do enunciado.
Alternativa C — ❌ Incorreta
Table.NestedJoin é uma função do Power Query usada para combinar duas tabelas com base em uma ou mais colunas correspondentes, criando uma nova coluna com a tabela aninhada (nested table). Essa operação é equivalente ao JOIN do SQL e é usada para relacionar dados de diferentes fontes. Não tem relação com a transformação de colunas em linhas.
Alternativa D — ❌ Incorreta
Table.Group é uma função do Power Query usada para agrupar linhas de uma tabela com base em uma ou mais colunas e realizar agregações, como soma, contagem ou média. Por exemplo, Table.Group(Tabela, {"Tipo"}, {{"Total", each List.Sum([Valor]), type number}}) agrupa os dados por tipo e calcula a soma dos valores. Essa operação resume dados, mas não transforma colunas em linhas.
Alternativa E — ✅ Correta ⟵ GABARITO
Table.Unpivot é a função do Power Query que transforma colunas em linhas. Ela converte uma tabela no formato largo (wide) para o formato longo (long), criando duas novas colunas: uma para o nome da coluna original (Atributo) e outra para o valor correspondente (Valor). No cenário da questão, as colunas "Ação Civil Pública", "Inquérito Civil" e "Processo Penal" seriam transformadas em linhas, permitindo uma análise mais detalhada. Essa é a operação correta para o que o técnico precisa.
PEGA ESSA DICA!
Para memorizar, lembre-se: Unpivot = "despivotar" = colunas viram linhas; Pivot = "pivotar" = linhas viram colunas. No Power Query, o comando Unpivot Columns está na guia Transformar (ou no menu de contexto ao selecionar as colunas). Quando a questão falar em "transformar colunas em linhas", a resposta é sempre Table.Unpivot.