Pular para o conteúdo principal

DAX Weekend: Encontre fins de semana e limites de semana no Power BI

Melhore seus painéis do Power BI com fórmulas DAX para fins de semana e limites semanais.
Atualizado 13 de nov. de 2025  · 12 min lido

Se você já trabalhou com DAX, sabe que as datas podem se tornar complicadas rapidamente. Você provavelmente vai ficar tranquilo até alguém dizer: “Ei, nossa semana de relatórios começa no sábado” ou “Podemos destacar os fins de semana de forma diferente no painel?” Então, de repente, você se vê mergulhado em tipos de retorno de WEEKDAY(), lógica de deslocamento e tentando explicar por que o Power BI acha que sexta-feira é o fim da semana, quando sua empresa diz o contrário.

A maioria de nós já se deparou com esse problema: você precisa marcar os fins de semana, calcular os dias úteis ou definir limites personalizados para a semana que não correspondem ao calendário padrão. Talvez seu warehouse funcione de domingo a quinta-feira, ou sua equipe financeira queira contar os dias úteis excluindo os fins de semana.

Por padrão, o DAX não lida com isso perfeitamente, mas fornece os blocos de construção para corrigir isso. Neste artigo, vamos ver como marcar fins de semana usando WEEKDAY(), definir limites da semana (por exemplo, sábado a sexta-feira), calcular dias úteis com NETWORKDAYS() ou lógica condicional e usar esses cálculos para gerar métricas que realmente fazem sentido no Power BI.

Entendendo os fins de semana no DAX

Vamos começar com o básico, descobrindo quais dias são fins de semana no seu conjunto de dados. O DAX oferece a função WEEKDAY() para isso, e ela é surpreendentemente flexível quando você entende como o sistema de numeração funciona. Por padrão, WEEKDAY() retorna um número de 1 a 7 que representa o dia da semana para uma determinada data. O segundo argumento controla como esses números são mapeados. A versão que a maioria dos desenvolvedores usa é WEEKDAY(date, 2), que retorna 1 para segunda-feira até 7 para domingo, seguindo o padrão ISO que a maioria dos calendários comerciais usa.

Aqui vai um exemplo rápido:

Data

DIA DA SEMANA(Data, 2)

Dia

2025-10-13

1

Segunda-feira

2025-10-14

2

Terça-feira

2025-10-18

6

Sábado

2025-10-19

7

Domingo

Agora vamos tornar isso útil. Você pode adicionar uma coluna calculada na sua tabela Date para marcar os fins de semana:

IsWeekend =
VAR DayNum = WEEKDAY('Date'[Date], 2)
RETURN IF(DayNum > 5, TRUE(), FALSE())

E aí, o que tá rolando:

  • WEEKDAY('Date'[Date], 2) dá o número do dia (1 = segunda-feira, …, 7 = domingo).

  • DayNum > 5 identifica sábado (6) e domingo (7).

  • A coluna retorna TRUE para fins de semana e FALSE para dias úteis.

Se a sua semana não segue o padrão padrão de segunda a sexta-feira, por exemplo, sua empresa trata sexta-feira e sábado como fins de semana, você pode ajustar a lógica facilmente:

IsWeekend_Custom =
VAR DayNum = WEEKDAY('Date'[Date], 2)
RETURN IF(DayNum IN {5, 6}, TRUE(), FALSE())

Essa mudança de uma linha faz com que seu modelo funcione para calendários operacionais personalizados. Depois de criar essa coluna, solte-a em um visual de tabela simples no Power BI com o campo “ Date ” e veja se os dias do fim de semana estão certinhos.

Como criar limites personalizados para a semana

A maioria dos modelos do Power BI parte do princípio de um calendário de segunda a domingo, mas os relatórios do mundo real raramente seguem isso à risca. Os painéis de controle do varejo, por exemplo, geralmente fecham às sextas-feiras; algumas organizações, em vez disso, programam os ciclos de sábado a sexta-feira. No DAX, você pode criar limites de semana personalizados que combinem com o seu calendário comercial. Vamos ver como fazer isso de forma simples, passo a passo.

Definindo uma semana que termina na sexta-feira

Se a sua semana de trabalho termina na sexta-feira, você pode atribuir a cada data uma data correspondente do fim de semana. A lógica é simples: pegue cada data, descubra o número do dia da semana e avance até chegar à sexta-feira.

Aqui está a fórmula da coluna calculada:

WeekEnd_Friday =
VAR WeekdayIndex = WEEKDAY('Date'[Date], 2)        // Monday = 1, Sunday = 7
VAR DaysToFriday = 5 - WeekdayIndex                // 5 represents Friday
RETURN
'Date'[Date] + IF(DaysToFriday < 0, DaysToFriday + 7, DaysToFriday)

Eis o que ele faz:

  • WEEKDAY('Date'[Date], 2) mostra o índice dos dias da semana (Monday = 1).

  • Você calcula a distância dessa data em relação à sexta-feira.

  • Se já passou a sexta-feira (por exemplo, sábado ou domingo), passa para a sexta-feira seguinte, adicionando 7 dias.

Essa abordagem junta todas as datas entre sábado e sexta-feira na mesma semana, que termina na sexta-feira.

Para conferir:

  • Adicione essa coluna à sua tabela Data.

  • Crie um visual de tabela no Power BI com Date e WeekEnd_Friday.

  • Você vai ver que cada sequência de sábado a sexta-feira corresponde à mesma data do fim de semana.

Definindo uma semana que começa no sábado

Se a sua semana de relatório começar no sábado, você pode juntar a fórmula anterior com uma coluna de início da semana. Você pode fazer isso usando a mesma lógica, mas ao contrário, encontrando o sábado mais recente em relação a cada data.

Aqui está a coluna DAX complementar:

WeekStart_Saturday =
VAR WeekdayIndex = WEEKDAY('Date'[Date], 2)       // Monday = 1, Sunday = 7
VAR DaysSinceSaturday = WeekdayIndex - 6          // 6 represents Saturday
RETURN
'Date'[Date] - IF(DaysSinceSaturday < 0, DaysSinceSaturday + 7, DaysSinceSaturday)

Isso funciona quase igual à expressão anterior, mas volta pro sábado anterior.

Você também pode ver exemplos de código mais antigos usando a função ` EARLIER() ` para pegar o contexto da linha atual dentro de uma coluna calculada. Por exemplo:

WeekStart_Saturday =
VAR CurrentDate = EARLIER('Date'[Date])
VAR WeekdayIndex = WEEKDAY(CurrentDate, 2)
VAR DaysSinceSaturday = WeekdayIndex - 6
RETURN
CurrentDate - IF(DaysSinceSaturday < 0, DaysSinceSaturday + 7, DaysSinceSaturday)

O DAX moderno não precisa de um ` EARLIER() ` nesse cenário, já que as colunas calculadas já avaliam linha por linha, mas ainda é útil entender isso para modelos antigos ou quando você está aninhando contextos de linha em iteradores.

Depois de adicionar as duas colunas, tente plotar WeekStart_Saturday e WeekEnd_Friday em um visual de tabela com sua coluna Date. Você vai ver limites semanais claros que seguem o ritmo do seu negócio, e não o calendário padrão.

Depois, você pode usar essas datas de início e fim da semana como chaves de agrupamento em recursos visuais ou como âncoras em medidas, perfeitas para calcular totais por semana útil, comparar o desempenho semana a semana ou alinhar com calendários fiscais não padronizados.

Escolhendo entre colunas e medidas

Agora que você configurou seus limites semanais personalizados, vale a pena decidir como usá-los em seu modelo, como colunas calculadas ou como medidas. Ambos têm seu lugar, e saber quando usar cada um mantém seu modelo do Power BI eficiente e previsível.

Pense nas colunas calculadas como atributos estáticos que você quer dividir ou filtrar. Por exemplo, suas colunas IsWeekend, WeekStart_Saturday ou WeekEnd_Friday descrevem cada data. Eles não dependem de interações ou filtros do usuário; eles só definem o que é cada dia é. Isso faz com que sejam perfeitos para agrupar elementos visuais, definir relações ou criar hierarquias.

Por outro lado, as medidas são cálculos dinâmicos que respondem a filtros, segmentadores e contexto. Se você estiver resumindo ou comparando métricas, por exemplo, contando dias úteis em um intervalo selecionado ou calculando a média de vendas por semana, você vai precisar de uma medida.

Aqui vai uma comparação rápida pra você lembrar:

Caso de uso

Tipo

Exemplo

Identifique os fins de semana ou os limites da semana

Coluna calculada

IsWeekend = IF(WEEKDAY('Date'[Date],2)>5,TRUE(),FALSE())

Divida os gráficos por intervalos de semanas personalizados

Coluna calculada

WeekStart_Saturday, WeekEnd_Friday

Contar os dias úteis no filtro atual

Medida

WorkingDays = COUNTROWS(FILTER('Date', 'Date'[IsWeekend] = FALSE()))

Comparar o total de vendas entre semanas personalizadas

Medida

TotalSalesByWeek = SUM(Sales[Amount]) agrupados por WeekStart_Saturday

Resumindo:

  • Se você precisa do resultado armazenado em cada linha (e que possa ser usado em segmentadores ou filtros), opte por uma coluna.
  • Se você precisar de um cálculo que seja atualizado com a interação do usuário, use uma medida.

Calculando dias úteis com NETWORKDAYS()

Depois de definir os limites dos fins de semana e das semanas, o próximo passo é calcular os dias úteis — o número de dias da semana entre duas datas, podendo excluir feriados, se quiser. O Power BI e o DAX facilitam isso com a função NETWORKDAYS(), que apareceu nas versões mais recentes do DAX.

Na sua forma mais simples, a sintaxe fica assim:

NETWORKDAYS(<start_date>, <end_date>[, <weekend>[, <holidays>]])

Veja como cada parâmetro funciona:

  • e define o seu intervalo.

  • é opcional e permite especificar quais dias são considerados fins de semana.

  • também é opcional — você pode passar uma coluna ou tabela com datas de feriados para excluí-las da contagem.

Entendendo os códigos de fim de semana

O argumento ` ` usa códigos numéricos para definir quais dias são considerados fins de semana. Aqui estão algumas opções padrão que você provavelmente vai usar:

Código

Dias de fim de semana

Descrição

1

Sábado, Domingo

Padrão (semana de trabalho ocidental)

7

Sexta-feira, sábado

Comum nos calendários do Oriente Médio

11

Só no domingo

Para fechamentos apenas aos domingos

12

Só na segunda-feira

Para dias de folga apenas às segundas-feiras

Por exemplo, se sua semana de trabalho vai de domingo a quinta-feira, você usaria o código 7 para os fins de semana de sexta-feira a sábado.

Veja como calcular os dias úteis entre duas colunas no seu modelo:

WorkingDays_Default =
NETWORKDAYS('Sales'[StartDate], 'Sales'[EndDate])

Essa fórmula assume que sábado e domingo são fins de semana. Se a sua empresa segue o fim de semana de sexta a sábado, você pode ajustar assim:

WorkingDays_FriSat =
NETWORKDAYS('Sales'[StartDate], 'Sales'[EndDate], 7)

Sem contar os feriados

Você pode ir além e excluir feriados oficiais que estão guardados numa tabela dedicada Holiday. Digamos que você tem uma tabela com uma coluna chamada “ Holiday[Date] ”. Veja como incluir isso:

WorkingDays_WithHolidays =
NETWORKDAYS(
    'Sales'[StartDate],
    'Sales'[EndDate],
    1,
    'Holiday'[Date]
)

Essa configuração garante que os fins de semana e os feriados definidos pela sua organização sejam excluídos da contagem. É uma pequena adição que deixa seus relatórios bem mais precisos, principalmente para planejar a força de trabalho, monitorar SLAs ou painéis operacionais.

Exemplo de caso de uso

Imagina que sua empresa programa os cronogramas dos projetos no Power BI. Cada registro tem um StartDate e um EndDate. Ao adicionar a medida “ WorkingDays_WithHolidays ”, você pode visualizar rapidamente:

  • Quantos dias úteis cada projeto levou?
  • Quais projetos rolaram nos fins de semana ou feriados?
  • Tempo médio de trabalho por departamento ou tipo de projeto.

Para ver isso em ação, coloque essa medida em um visual de tabela junto com Project Name, StartDate e EndDate. Você vai ter logo uma visão mais clara dos prazos com base nos dias úteis reais, e não só nas diferenças de datas.

Aplicações práticas em painéis de negócios

Agora que você já tem dias úteis, sinalizadores de fim de semana e limites de semana personalizados, vamos ver como eles se encaixam nos painéis do Power BI do mundo real. A capacidade de redefinir fins de semana ou semanas fiscais não é só um truque técnico bacana; ela afeta diretamente como as métricas são calculadas, visualizadas e entendidas entre os departamentos.

Prazos para folha de pagamento e planilha de horas trabalhadas

Muitas organizações processam a folha de pagamento em um ciclo fixo de sábado a sexta-feira ou de domingo a sábado. Ao definir os limites da semana no DAX, você pode alinhar os períodos salariais, cálculos de horas extras e entradas na folha de ponto com a semana de trabalho exata que seu sistema de RH usa. Por exemplo, você pode calcular o total de horas trabalhadas ou turnos concluídos por semana personalizada, garantindo que os relatórios de folha de pagamento estejam perfeitamente alinhados com os horários internos, em vez do calendário padrão de segunda a domingo.

KPIs operacionais e monitoramento de serviços

As equipes de operações e logística costumam medir KPIs como tempo de entrega ou resolução de incidentes usando só os dias úteis. Usar o NETWORKDAYS() garante que essas métricas reflitam a capacidade real dos negócios, e não os fins de semana, quando nada acontece.

Combinar seus cálculos do dia de trabalho com as colunas WeekStart_Saturday ” (Semana de trabalho) ou WeekEnd_Friday ” (Semana de trabalho) permite agrupar os dados pela semana operacional exata que a gerência acompanha nas reuniões e relatórios.

Desempenho no varejo e nas vendas

Os varejistas raramente seguem as semanas do calendário. Muitos preferem o sábado ao invés da sexta-feira para capturar todo o período de vendas do fim de semana em um único bloco de relatórios consistente. Ao modelar sua tabela de datas com base nessa programação, as tendências de vendas do fim de semana ficam intactas dentro da mesma semana, tornando as comparações entre fins de semana significativas. Esse pequeno ajuste pode evitar imagens distorcidas “semana a semana” e fornecer médias móveis mais precisas.

Semanas fiscais personalizadas e previsões

Algumas equipes financeiras trabalham com semanas fiscais que começam no meio da semana ou seguem um padrão contábil 4-4-5. Seus limites semanais personalizados podem ser facilmente inseridos nisso.Quando sua tabela de datas tiver as colunas WeekStart e WeekEnd, medidas como reconhecimento de receita, acompanhamento de despesas ou previsões podem ser agregadas de forma consistente, não importa o quão fora do padrão seja o seu calendário fiscal.

Médias móveis com base nos dias úteis

Ao calcular médias móveis, especialmente para KPIs como vendas diárias ou taxas de produção, é melhor basear o cálculo em dias úteis em vez de dias corridos.

Por exemplo, se os fins de semana forem excluídos usando o sinalizador IsWeekend, uma média móvel de 7 dias refletirá verdadeiramente uma semana útil de atividade, sem quedas inflacionadas ou enganosas em dias não úteis.

Resumindo, as definições personalizadas de semana e a lógica de dias úteis aproximam seus painéis do Power BI de como sua empresa realmente funciona. Seja para acompanhar prazos de folha de pagamento, prazos de entrega ou picos de vendas nos finais de semana, esses padrões DAX deixam suas informações mais claras, justas e muito mais úteis.

Pontos importantes a lembrar

Antes de encerrar, vamos resumir os principais pontos para que você possa aplicar essas técnicas DAX de forma eficaz em seus projetos do Power BI.

  • Use colunas calculadas para classificação por linha: Quando você precisa rotular cada data, como marcar fins de semana, definir limites semanais ou categorizar dias úteis, as colunas calculadas são a melhor opção. Eles oferecem atributos estáticos que funcionam perfeitamente em segmentadores, filtros e relações em todo o seu modelo.

  • Use o ` WEEKDAY() ` com cuidado, com o tipo de retorno certo: Lembre-se de que WEEKDAY(date, 2) começana segunda-feira (1) e termina no domingo (7). Ajustar esse parâmetro ajuda você a alinhar seus cálculos com os padrões regionais ou organizacionais da semana de trabalho. Sempre dá uma conferida no tipo de retorno. É uma das causas mais comuns de erros off-by-one na lógica temporal do DAX.

  • NETWORKDAYS() é a sua melhor opção para excluir fins de semana e feriados: Essa função simplifica os cálculos dos dias úteis, poupando você de filtros de data complicados ou loops manuais. Combine isso com o código de fim de semana da sua empresa e uma tabela de feriados para obter contagens precisas que refletem os dias úteis reais, e não apenas as lacunas do calendário.

Dominando esses fundamentos, estruturas personalizadas de semanas, lógica cuidadosa dos dias da semana e contagens precisas de dias úteis, você vai trazer mais precisão e flexibilidade para cada painel do Power BI que criar. Da próxima vez que você estiver configurando um modelo de data ou alinhando relatórios com calendários comerciais, esses padrões DAX devem estar no topo do seu kit de ferramentas. 

Erros comuns a evitar

Mesmo desenvolvedores experientes do Power BI podem se deparar com armadilhas sutis ao trabalhar com lógica de data e semana no DAX. Aqui estão algumas questões que vale a pena ficar de olho:

Misturando citações em comparações de texto

O DAX diferencia aspas simples (') e duplas ("), e usar a errada pode bagunçar sua lógica, principalmente quando você está comparando valores de texto, tipo nomes de dias ou bandeiras. Por exemplo:

IsWeekend = IF(WEEKDAY('Date'[Date], 2) > 5, "Weekend", "Weekday")

Sempre use aspas duplas para strings de texto dentro de funções. 

As aspas simples são usadas só para referências a tabelas e colunas, tipo 'Date'[Date].

Esquecendo o contexto da linha 

Esse é um dos erros conceituais mais comuns. As colunas calculadas avaliam cada linha de forma independente, enquanto as medidas dependem do filtro e do contexto de avaliação. Se você estiver fazendo referência a uma coluna sem agregação em uma medida, ela não vai funcionar como esperado porque não tem contexto de linha. Por exemplo, IF(WEEKDAY('Date'[Date], 2) > 5, TRUE(), FALSE()) funciona como uma coluna calculada, mas se você precisar que ela responda aos filtros de forma dinâmica, vai precisar envolvê-la em um iterador como SUMX() ou usá-la dentro de uma medida que conte ou filtre linhas.

Ignorando fusos horários ou alinhamento de calendários 

Quando você usa dados importados com carimbos de data/hora, as funções de data DAX funcionam na parte da data da sua coluna. Se seus dados atravessarem fusos horários ou usarem ajustes UTC, esses indicadores de fim de semana podem mudar de forma inesperada. Sempre limpe e normalize seus campos de data e hora no Power Query antes de aplicar a lógica DAX.

Codificação rígida da lógica do fim de semana 

Evite colocar lógicas fixas como “sábado e domingo” diretamente em várias fórmulas. Em vez disso, crie uma variável reutilizável ou uma tabela desconectada que liste os dias de fim de semana da sua organização. Isso facilita a manutenção quando os calendários comerciais mudam.

Detectar esses pequenos problemas logo de cara pode economizar um monte de tempo de depuração depois. Quando tiver dúvidas, use a Visualização de Dados no Power BI para dar uma olhada nos resultados das colunas calculadas, linha por linha. É uma das maneiras mais rápidas de verificar se a lógica DAX está funcionando como deveria antes de transformá-la em visuais ou medidas.

Conclusão

Trabalhar com fins de semana e limites de semana personalizados no DAX não é só uma questão de matemática de datas, mas sim de fazer com que seus modelos do Power BI reflitam como sua empresa realmente funciona. Seja marcando sábados e domingos como dias não úteis, alinhando sua semana fiscal de sábado a sexta-feira ou calculando dias úteis que excluem feriados, o objetivo é o mesmo: precisão e contexto em todos os cálculos.

Você já viu como funções como WEEKDAY() e NETWORKDAYS() ajudam a definir uma lógica de data flexível e como as colunas calculadas e as medidas desempenham suas respectivas funções: uma para a estrutura e a outra para a análise dinâmica. Ao longo do caminho, a gente analisou casos de uso reais, desde cortes de folha de pagamento até calendários de varejo, e aprendeu como evitar armadilhas comuns do DAX, como aspas mal utilizadas ou perda de contexto de linha.

Da próxima vez que você estiver criando um painel do Power BI que lida com datas, pense além do calendário padrão. Personalize sua semana, destaque os fins de semana e trate os dias úteis como as métricas de primeira classe que eles merecem ser. Com esses padrões DAX no seu kit de ferramentas, seus relatórios não vão só mostrar o tempo, mas também a evolução do tempo( ) conforme sua organização o vive.

Torne-se um analista de dados do Power BI

Domine a ferramenta de business intelligence mais popular do mundo.

Comece a aprender de graça

Oluseye Jeremiah's photo
Author
Oluseye Jeremiah
LinkedIn

Escritor técnico especializado em IA, ML e ciência de dados, tornando ideias complexas claras e acessíveis.

Tópicos

Aprenda com o DataCamp

Curso

Introdução ao site DAX no Power BI

3 h
144.9K
Aprimore seu conhecimento em Power BI aprendendo os fundamentos de DAX, como colunas calculadas, tabelas e medidas.
Ver detalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado

blog

9 projetos do Power BI para você desenvolver suas habilidades

Explore nossa lista de projetos do Power BI para alunos iniciantes e intermediários em vários setores e casos de uso diferentes.
Jess Ahmet's photo

Jess Ahmet

8 min

Tutorial

Criando e personalizando tabelas dinâmicas no Power BI

Saiba como criar tabelas dinâmicas personalizáveis no Power BI com formatação condicional avançada e algumas dicas de otimização.
Joleen Bothma's photo

Joleen Bothma

Tutorial

Como criar tabelas de datas no Power BI Tutorial

Saiba como criar tabelas de datas no Power BI com este tutorial visual passo a passo.
Kafaru Simileoluwa's photo

Kafaru Simileoluwa

Tutorial

Tutorial do Power BI para iniciantes

Aprenda os conceitos básicos do Power BI e como criar um relatório básico com este tutorial passo a passo.
DataCamp Team's photo

DataCamp Team

Tutorial

Painéis e relatórios do Power BI: Um guia abrangente

Explore as principais diferenças e os recursos exclusivos dos painéis e relatórios do Power BI. Saiba como aproveitar as duas ferramentas de forma eficaz para análise de dados, visualização e tomada de decisões.
Maarten Van den Broeck's photo

Maarten Van den Broeck

Tutorial

Hierarquias do Power BI: Um guia abrangente

Saiba como criar, editar, excluir e implementar hierarquias no Power BI.
Joleen Bothma's photo

Joleen Bothma

Ver maisVer mais