Code Library

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

NomeTipoObrigatórioDescrição
pFirstValueANYVALSimUm dos limites.
pLastValueANYVALSimO outro limite.
pValueANYVALSimValor 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 · FALSE

Exemplos

No Trimestre = Between ( DATE ( 2026, 1, 1 ), DATE ( 2026, 3, 31 ), MAX ( 'TabDimCalendario'[Data Referência] ) )

EVALUATE { Between ( 10, 5, 7 ) }
// TRUE

Dicas 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).