Compartir a través de


Funciones definidas por el usuario de DAX (versión preliminar)

Nota:

Las funciones definidas por el usuario de DAX se encuentran actualmente en versión preliminar.

Las funciones definidas por el usuario (UDF) de expresiones de análisis de datos (DAX) permiten empaquetar lógica DAX reutilizable y con parámetros en los modelos, lo que facilita la escritura, el mantenimiento y el uso compartido del código DAX. En lugar de repetir fórmulas entre medidas, columnas calculadas y objetos visuales, las UDF proporcionan flexibilidad de estilo de programación a los modelos semánticos, lo que le permite definir funciones una vez y usarlas en todas partes compatibles con DAX. Para más información, consulte Funciones definidas por el usuario de DAX.

¿Por qué usar funciones definidas por el usuario?

  • Reutilización y coherencia: defina un cálculo una vez y reutilítelo en todas partes.
  • Mantenimiento: actualice la lógica en un solo lugar para corregir o evolucionar reglas.
  • Creación más segura: las sugerencias de tipo opcionales y los asistentes de comprobación de tipos admiten código predecible y resistente a errores.
  • Objetos de modelo de primera clase: las UDF residen en el modelo y se pueden ver en el Explorador de modelos.

Comienza

Para probar UDF en escritorio:

  1. Vaya a Opciones de archivo > y opciones de configuración>.
  2. Seleccione Características de vista previa y compruebe las funciones definidas por el usuario de DAX.
  3. Seleccione Aceptar y reinicie Power BI Desktop.

Definición de una función

Puede definir una función definida por el usuario en Power BI Desktop mediante la vista de consulta DAX (DQV) o la vista TMDL.

Sintaxis general

La sintaxis general de una UDF es:

/// Optional description above the function
FUNCTION <FunctionName> = ( <ParameterName>: <ParameterType>, ... ) => <FunctionBody>

Ejemplo: Función fiscal simple

Este es un ejemplo sencillo de DQV que agrega impuestos al importe especificado. También puede evaluar UDF en DQV.

DEFINE
    /// AddTax takes in amount and returns amount including tax
    FUNCTION AddTax = (
            amount : NUMERIC
        ) =>
        amount * 1.1

EVALUATE
{ AddTax ( 10 ) }
// Returns 11

Una vez definida una UDF, puede actualizar el modelo o usar la lente de código para agregar la función al modelo.

Captura de pantalla de la vista de consulta DAX en Power BI Desktop, donde se resaltan dos ubicaciones donde puede guardar una función definida por el usuario. La primera es el botón Actualizar modelo con cambios en la parte superior de la vista. La segunda es una línea de estado en el editor de código con la etiqueta Update model( Modelo de actualización: Agregar nueva función).