DAX · UDF
Between
Testa se um valor está entre dois limites, inclusive, em qualquer ordem.
Categoria: LógicaTipo: UDFVersão: v1.1.0Fonte: Paulo André Jesus — OfficeTuningAtualizado em: 25/09/2026
Documentação completa na Function Library →Sintaxe
Between ( pFirstValue, pLastValue, pValue )Argumentos
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| pFirstValue | ANYVAL | Sim | Um dos limites. |
| pLastValue | ANYVAL | Sim | O outro limite. |
| pValue | ANYVAL | Sim | Valor testado. |
Retorno
Verdadeiro/falso
Código completo
DEFINE
/// Testa se um valor está entre dois limites (inclusive), em qualquer ordem.
/// @param {ANYVAL} pFirstValue - Um dos limites.
/// @param {ANYVAL} pLastValue - O outro limite.
/// @param {ANYVAL} pValue - Valor testado.
/// @returns TRUE se pValue estiver entre os limites.
FUNCTION Between =
( pFirstValue : ANYVAL, pLastValue : ANYVAL, pValue : ANYVAL ) =>
VAR vMin = MIN ( pFirstValue, pLastValue )
VAR vMax = MAX ( pFirstValue, pLastValue )
RETURN
pValue >= vMin && pValue <= vMax
EVALUATE
{ Between ( 5, 10, 7 ), Between ( 10, 5, 7 ), Between ( DATE ( 2026, 1, 1 ), DATE ( 2026, 3, 31 ), DATE ( 2026, 4, 1 ) ) } // TRUE · TRUE · FALSEExemplos
No Trimestre = Between ( DATE ( 2026, 1, 1 ), DATE ( 2026, 3, 31 ), MAX ( 'TabDimCalendario'[Data Referência] ) )
EVALUATE { Between ( 10, 5, 7 ) }
// TRUEDicas e observações
💡 Funciona com número, data ou texto. ⚠️ Limite em branco vale 0 na comparação (regra do MIN/MAX de dois argumentos).