Descontos Aplicados
Objetivo
Lista as comandas (vendas) que tiveram desconto aplicado dentro de um período, mostrando cliente, vendedor, valor original, valor final e o desconto concedido. Serve para acompanhar o volume de descontos por período e por colaborador.
Tabelas envolvidas
Apenas uma tabela do datalake é necessária (ex.: schema frq8798):
| Tabela | Papel |
|---|---|
orders | Base do relatório. Já traz desnormalizados o nome do cliente (customer_name) e do vendedor (seller_name), então não é necessário nenhum join. |
Escopo multi-franquia
O datalake enxerga todas as franquias. Não há filtro obrigatório de franquia; se o usuário quiser restringir, usar a coluna "schema" (ou franchisor_id para agrupamentos por franqueador).
Filtros (regras de negócio)
| Regra | Implementação no Redshift | Obrigatório? |
|---|---|---|
| Período da venda | o.created_at between :startDate and :endDate | Sim (data inicial e final são obrigatórias no relatório) |
| Somente vendas com desconto | o.total_discount > 0 | Sim (fixo) |
Regra de cálculo
O sistema armazena em total_price o valor já com desconto aplicado. O valor original é reconstruído somando o desconto de volta:
| Métrica | Fórmula |
|---|---|
| Valor original | o.total_price + o.total_discount |
| Valor atual | o.total_price |
| Descontos | o.total_discount |
Não há agregação por linha — o relatório é uma listagem simples, uma linha por comanda, ordenada por created_at.
Colunas do relatório → Datalake
| Coluna do relatório | Origem no Redshift | Observação |
|---|---|---|
| Data | o.created_at | |
| Data Atualização | o.updated_at | |
| Código | o.order_id | Id da comanda no sistema de origem (não usar o id interno do datalake) |
| Cliente | o.customer_name | Já desnormalizado |
| Valor original | o.total_price + o.total_discount | |
| Valor atual | o.total_price | |
| Descontos | o.total_discount | |
| Vendedor | o.seller_name | Já desnormalizado (via o.seller_id) |
Totalizadores (rodapé do relatório)
| Totalizador | Cálculo |
|---|---|
| Total de registros | count(*) |
| Total de descontos aplicado | sum(o.total_discount) |
| Descontos por colaborador | sum(o.total_discount) agrupado por o.seller_id (exibindo o.seller_name) |