Pular para o conteúdo
officetuning.aiofficetuning.ai
TreinamentosConsultoriaBibliotecaFerramentasConteúdoPortfólio
Entrar
officetuning.aiofficetuning.ai

Treinamento, consultoria e mentoria para decidir, construir e aprender nas quatro frentes da marca.

AI · Data · Productivity · Dev · São Paulo
contato@officetuning.ai
TreinamentosPower BIExcelSQLPowerPointIA + ProdutividadeTodos os treinamentos
PortalConsultoriaBibliotecaPortfólioBackground BuilderDashboard CanvasConteúdo
InstitucionalPolítica de privacidadeInformações legais
© 2026 officetuning.ai · São Paulo
  1. Biblioteca
  2. DAX
  3. Como usar as funções

Como usar as funções

DAX

Sumário

  1. 1. Requisitos
  2. 2. Gravar uma função no modelo
  3. 3. Tipos de parâmetro
  4. 4. Documentar a função
  5. 5. Listar as funções do modelo
  6. 6. Limitações
  7. Fontes

1. Requisitos

Funções DAX definidas pelo usuário (UDFs) estão disponíveis de forma geral no Power BI Desktop e no Power BI Service desde a versão de junho de 2026 e exigem nível de compatibilidade do banco 1702 ou superior.

2. Gravar uma função no modelo

  1. Abra a DAX Query View, cole o Código completo da função e execute (o EVALUATE do fim testa a função).
  2. Clique em Update model with changes para gravar todas as funções da consulta, ou em Update model: Add new function acima de uma função para gravar só ela.
  3. A função aparece no Model explorer, no nó Functions.

Na TMDL view, use createOrReplace com function no lugar de FUNCTION. Num Power BI Project, as funções ficam em functions.tmdl.

3. Tipos de parâmetro

TipoAvaliaçãoUse quando
ANYVAL, SCALAR, TABLE (com subtipo INT64, STRING, DATETIME, NUMERIC...)val: uma vez, na chamadaA função só usa o valor recebido. Aceita medida, variável ou expressão
ANYREF, MEASUREREF, COLUMNREF, TABLEREF, CALENDARREFexpr: dentro da funçãoA função precisa avaliar o argumento em outro contexto, como dentro de CALCULATE

Atenção Parâmetro expr é reavaliado a cada uso dentro da função. Se a função só faz conta com o valor, prefira ANYVAL ou NUMERIC.

4. Documentar a função

Use /// acima de FUNCTION, com @param e @returns: a descrição aparece no IntelliSense. Comentários // e /* */ não aparecem.

DAX
DEFINE
    /// Diferença entre o valor atual e o do ano anterior.
    /// @param {ANYVAL} Valor - Valor atual.
    /// @param {ANYVAL} ValorAA - Valor do ano anterior.
    /// @returns Valor − ValorAA, ou BLANK se um dos dois estiver em branco.
    FUNCTION Delta.Absoluto =
        ( Valor : ANYVAL, ValorAA : ANYVAL ) =>
        IF ( ISBLANK ( Valor ) || ISBLANK ( ValorAA ), BLANK (), Valor - ValorAA )

EVALUATE
{ Delta.Absoluto ( 120, 100 ) }

5. Listar as funções do modelo

DAX
EVALUATE
INFO.USERDEFINEDFUNCTIONS ()

6. Limitações

  • Sem recursão, sem sobrecarga e sem tipo de retorno explícito.
  • Funções não vão para pastas de exibição e não podem ser ocultadas.
  • Segurança em nível de objeto (OLS) não passa para a função: uma função que usa uma medida protegida não fica protegida.

Fontes

  • DAX user-defined functions
  • INFO.USERDEFINEDFUNCTIONS
Biblioteca