DAX · UDF
Date.ISOWeekNumber
Número da semana ISO 8601.
Categoria: Data e horaTipo: UDFVersão: v1.1.0Fonte: Paulo André Jesus — OfficeTuningAtualizado em: 25/09/2026
Documentação completa na Function Library →Sintaxe
Date.ISOWeekNumber ( pDate )Argumentos
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| pDate | DATETIME VAL | Sim | Data. |
Retorno
Número inteiro
Código completo
DEFINE
/// Número da semana ISO 8601 (semana começa na segunda; semana 1 contém a primeira quinta-feira do ano).
/// @param {DATETIME} pDate - Data.
/// @returns Número da semana, de 1 a 53.
FUNCTION Date.ISOWeekNumber =
( pDate : DATETIME VAL ) =>
-- Quinta-feira da mesma semana decide o ano ISO
VAR vThursday = pDate - WEEKDAY ( pDate, 2 ) + 4
RETURN
INT ( ( vThursday - DATE ( YEAR ( vThursday ), 1, 1 ) ) / 7 ) + 1
EVALUATE
{ Date.ISOWeekNumber ( DATE ( 2025, 1, 5 ) ), Date.ISOWeekNumber ( DATE ( 2027, 1, 1 ) ) } // 1 · 53Exemplos
EVALUATE { Date.ISOWeekNumber ( DATE ( 2025, 1, 5 ) ), Date.ISOWeekNumber ( DATE ( 2027, 1, 1 ) ) }
// 1 · 53Dicas e observações
💡 Semana começa na segunda; a semana 1 contém a primeira quinta-feira do ano. 💡 Dá o mesmo resultado que o nativo WEEKNUM(data, 21). ⚠️ 01/01/2027 é da semana 53 de 2026: para rotular, combine com o ano ISO (ano da quinta-feira).