Módulo 3: Power Query: o ETL do Power BI

Aula 4 de 4

Colunas condicionais, personalizadas e agrupamento

Classificações, faixas e tabelas resumidas sem uma linha de DAX.

15 minutos de leitura


Coluna condicional pela interface

Adicionar Coluna → Coluna Condicional resolve a maior parte das classificações: faixa de ticket, porte de cliente, status de prazo. É visual, legível e mantém o folding em fontes relacionais.

Linguagem MFaixa de ticket, gerada pela coluna condicional
Table.AddColumn(    Etapa_Anterior,    "FaixaTicket",    each        if [Receita] < 500 then "1. Até 500"        else if [Receita] < 2000 then "2. 500 a 2.000"        else if [Receita] < 10000 then "3. 2.000 a 10.000"        else "4. Acima de 10.000",    type text)

Coluna personalizada com lógica de negócio

Linguagem MStatus de entrega com tolerância
Table.AddColumn(    Etapa_Anterior,    "StatusEntrega",    each        let dias = Duration.Days([DataEntrega] - [DataPrometida])        in            if [DataEntrega] = null then "Pendente"            else if dias <= 0 then "No prazo"            else if dias <= 2 then "Atraso tolerável"            else "Atrasado",    type text)

Agrupar por

Transformar → Agrupar por cria resumos. Use para tabelas de apoio (ex.: primeira compra de cada cliente) ou para reduzir o volume de uma fato que não precisa de detalhe.

Linguagem MPrimeira e última compra por cliente
Table.Group(    Etapa_Anterior,    {"IdCliente"},    {        {"PrimeiraCompra", each List.Min([Data]), type date},        {"UltimaCompra", each List.Max([Data]), type date},        {"QtdPedidos", each Table.RowCount(_), Int64.Type},        {"ReceitaTotal", each List.Sum([Receita]), type number}    })

Exercício prático

Na sua tabela de vendas, crie: (1) uma faixa de ticket com 4 categorias ordenadas, (2) uma coluna de status de entrega com tolerância de 2 dias e (3) uma tabela agregada por cliente com primeira compra, última compra e receita total.