Code Library

DAX · UDF

Formato.Escala

Cadeia de formato com escala automática: mil, mi e bi. Para usar em formato dinâmico de medida; o valor continua numérico.

Categoria: FormataçãoTipo: UDFVersão: v1.0.0Fonte: Paulo André Jesus — OfficeTuningAtualizado em: 03/10/2026
Documentação completa na Function Library →

Sintaxe

Formato.Escala ( valor [, decimais] )

Argumentos

NomeTipoObrigatórioDescrição
valorNUMERICSimValor que será exibido; na medida, SELECTEDMEASURE ().
decimaisINT64NãoCasas decimais. Padrão 1.

Retorno

Texto

Código completo

DEFINE
    /// Cadeia de formato com escala automática (mil, mi, bi).
    /// Use no formato dinâmico da medida: Formato.Escala ( SELECTEDMEASURE () ).
    /// @param {NUMERIC} valor - Valor que será exibido
    /// @param {INT64} [decimais] - Casas decimais; padrão 1
    /// @returns Cadeia de formato (texto) para a propriedade de formato
    FUNCTION Formato.Escala =
        ( valor : NUMERIC, decimais : INT64 = 1 ) =>
            VAR _abs = ABS ( valor )
            VAR _casas = IF ( decimais > 0, "." & REPT ( "0", decimais ), "" )
            RETURN
                SWITCH (
                    TRUE (),
                    ISBLANK ( valor ), "#,0",
                    ROUND ( _abs / 1000000000, decimais ) >= 1, "#,0,,," & _casas & """ bi""",
                    ROUND ( _abs / 1000000, decimais ) >= 1, "#,0,," & _casas & """ mi""",
                    ROUND ( _abs / 1000, decimais ) >= 1, "#,0," & _casas & """ mil""",
                    "#,0" & _casas
                )

EVALUATE
    ADDCOLUMNS (
        { 950, 12345, 999950, 4567890, 1234567890 },
        "Formato", Formato.Escala ( [Value] ),
        "Exibido", FORMAT ( [Value], Formato.Escala ( [Value] ) )
    )
-- Esperado em modelo pt-BR: 950,0 | 12,3 mil | 1,0 mi | 4,6 mi | 1,2 bi

Exemplos

-- Medida Total de Vendas → Formato: Dinâmico → expressão:
Formato.Escala ( SELECTEDMEASURE () )

-- Com 0 casas decimais:
Formato.Escala ( SELECTEDMEASURE (), 0 )

Dicas e observações

💡 A cadeia usa os símbolos invariantes (vírgula de milhar, ponto decimal); o Power BI exibe conforme o idioma do modelo. Cada vírgula imediatamente à esquerda do ponto decimal divide por mil: #,0,.0 = mil, #,0,,.0 = milhão. A faixa é escolhida pelo valor já arredondado (999.950 vira 1,0 mi). ⚠️ A validar em modelo real: esta função ainda não foi testada num modelo. 💡 Fonte extra: https://learn.microsoft.com/power-bi/create-reports/desktop-custom-format-strings