Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Administrator
9 months ago
Solved

Pregunta de UDF

Creé una función de definición de usuario y parece estar funcionando, pero cuando la uso en una medida, está volviendo a reclamar un valor incorrecto.

Aquí está mi función:
función fnFYTDAverage =
(_Medir) =>
PROMEDIOX(
DATESYTD('Calendario'[Fecha], "9/30"),
_Medir
)
Luego creé una medida:
DiscutussedFYTD = fnFYTDAverage([~PercentDiscussedWithEmployee])

También creo una medida que incluye lo mismo que la función:
PercentDiscussedFYTD_AVG =
PROMEDIOX(
DATESYTD('Calendario'[Fecha], "9/30"),
[~ Porcentaje discutido con el empleado]
)
fnFYTDAverage y PercentDiscussedFYTD_AVG devolver valores diferentes.

4 Replies

  • Hola

    Según un vistazo rápido, el DiscussedFYTD debería ser fnFYTDAverage([~PercentDiscussedWithEmployee]), ¿es esta la causa?

  • Hi @tomperro ,

    Tu argumento _Measure (PercentDiscussedFYTD_AVG) devuelve texto, no un número porque lo envolviste con la función FORMAT().

    En DAX, FORMAT() convierte un valor numérico en una cadena (texto). Cuando intenta usar ese valor de texto dentro de un iterador como AVERAGEX, DAX lo trata como en blanco o produce un error en la conversión implícita, lo que da lugar a resultados incorrectos.

    Crear una medida numérica (sin FORMAT)

    PercentDiscussedFYTD_AVG =

    PROMEDIOX(

    DATESYTD('Calendario'[Fecha], "9/30"),

    [~ Porcentaje discutido con el empleado]

    )

    Úselo en su medida basada en funciones

    DiscutussedFYTD = fnFYTDAverage([PercentDiscussedFYTD_AVG])

    Si desea mostrarlo como un porcentaje con 2 decimales, formatee la medida final en el modelo o en el objeto visual.

    DiscutidoFYTD =

    VAR _Result = fnFYTDAverage([PercentDiscussedFYTD_AVG])

    DEVOLUCIÓN

    FORMAT(_Result, "0.00%")

    establezca la cadena de formato de la medida en "0,00 %" en el modelo en lugar de usar FORMAT() en DAX.

    Si mi respuesta resolvió su problema, acepte mi respuesta como solución y felicite

    Gracias

    Dinesh