Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
DataUsurper
Helper II
Helper II

Error en la medida DateDiff con variables

Hola compañeros guerreros en casa,

Estoy tratando de construir una fecha diferente medida para tener en cuenta una gama de datos de fechas malas que abarca un par de décadas en total. Sé qué línea está creando el problema, y me está diciendo que tiene algo que ver con el tipo de datos (formato) de la función lógica. He intentado usar las siguientes conversiones para corregir pero obtener errores, por lo general los mismos:

  • Formato, "número general"
  • Valor
  • Datevalue
  • No envolverlo en absoluto

Aquí está mi código:

Test Begin Date = 
var YrTo = YEAR( tbl_Orders_DatesDays[BILLTO_DATE] ) 
var YrFrom = YEAR( tbl_Orders_DatesDays[BILLFROM_DATE] )
var YrToday = YEAR( TODAY() ) + 1
var YrRet = YEAR( tbl_Orders_DatesDays[RETURN_DATE] )
var YrCreated = YEAR( tbl_Orders_DatesDays[CREATED_DATE] )
VAR YrShp = YEAR( tbl_Orders_DatesDays[SHIP_DATE] )

RETURN

DATE( 
    SWITCH( TRUE() , 
        ABS( FORMAT( ( ( YrFrom - ( YrCreated - 5 ) ) ) , "General Number" ) ) > 5  , YrShp ,
        AND ( YrFrom < YrCreated , YrShp < YrCreated ) , YrCreated ,
        AND ( YrFrom < YrCreated , YrShp > YrCreated ) , YrShp , 
        YrFrom > YrToday , YrToday , 
        YrFrom ) , 
    MONTH( tbl_Orders_DatesDays[BILLFROM_DATE] ) , 
    DAY( tbl_Orders_DatesDays[BILLFROM_DATE] ) 
    )

La línea con "ABS" es donde continuamente obtengo errores, si tuviera que quitar esa parte lógica que la medida completa.

El error más común que recibo es: "Un argumento de lafunción 'DATE' tiene el tipo de datos incorrecto o el resultado es demasiado grande o demasiado pequeño."

Gracias por la ayuda.

3 REPLIES 3
Greg_Deckler
Community Champion
Community Champion

Así que FORMAT devuelve texto no sé por qué estás usando eso en esa fórmula.



Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
DAX For Humans

DAX is easy, CALCULATE makes DAX hard...

Es uno de los intentos de corregir para el tipo de datos, ya que no estoy seguro de cómo evitarlo. Disparé en la oscuridad.

Anonymous
Not applicable

HI @DataUsurper,

Como Greg_Deckler dicho, la función de formato actual solo admite devolver valores de texto, por lo que no se puede utilizar para convertir texto en número. (obtendrá valores de texto de formato de valor numérico)

Puede intentar utilizar la siguiente fórmula de medida si es adecuada para su escenario:

Test Begin Date =
VAR billFrom =
    MAX ( tbl_Orders_DatesDays[BILLFROM_DATE] )
VAR YrFrom =
    YEAR ( billFrom )
VAR YrCreated =
    YEAR ( MAX ( tbl_Orders_DatesDays[CREATED_DATE] ) )
VAR YrShp =
    YEAR ( MAX ( tbl_Orders_DatesDays[SHIP_DATE] ) )
VAR _year =
    IF (
        ABS ( YrFrom - YrCreated - 5 ) > 5,
        YrShp,
        IF (
            2 * YrCreated > YrShp + YrFrom,
            YrCreated,
            IF (
                YrFrom < YrCreated
                    && YrShp > YrCreated,
                YrShp,
                MIN ( YEAR ( TODAY () ) + 1, YrFrom )
            )
        )
    )
RETURN
    DATE ( _year, MONTH ( billFrom ), DAY ( billFrom ) )

Si por encima no ayuda, me gustaría que se probaran algunos datos ficticios. Es difícil probar una fórmula Dax sin ningún dato de muestra.

Cómo obtener respuesta rápida a su pregunta

saludos

Xiaoxin Sheng

Helpful resources

Announcements
July PBI25 Carousel

Power BI Monthly Update - July 2025

Check out the July 2025 Power BI update to learn about new features.

Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.