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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Cómo conseguir el año ISO en DAX, mientras que la semana ISO parece tan fácil que esto parece ser difícil

Creé un calendario usando DAX.

Por ejemplo, para el valor 3-1-2021 obteré la semana 53 usando debajo de la fórmula DAX

"YearWeeknumber", FORMATO ([Fecha], "AAAA" ) & "/" & FORMATO (WEEKNUM ([Fecha],21), "00"),
Pero el año que se remonta es 2021, mientras que debería ser el año 2020/53.
Esperemos que sea muy simple, ¿podría dar una pista? es apreciado.
1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Hey @Spiedo ,

usted puede comprobar cuando el mes = 1 y el WEEKNUM > 50 entonces usted debe utilizar año - 1, de lo contrario año.

¿Desea utilizarla como columna calculada o como medida?

Si necesitas ayuda, por favor avísame.
Si respondiera a su pregunta, estaría feliz si pudiera marcar mi publicación como una solución ✔️ y darle un pulgar hacia arriba 👍
Saludos
Denis

View solution in original post

11 REPLIES 11
Syndicate_Admin
Administrator
Administrator

Estoy en una situación similar, pero necesito calcular el primer día de la ISO con la semana que comienza el domingo. Por ejemplo (en Mes/Día/Año):

El primer día del año ISO 2016 = 27/12/2015
El primer día del año ISO 2017 = 25/12/2016
El primer día del año ISO 2018 = 31/12/2017
etc.

He calculado el año ISO y las semanas ISO (es decir, si WEEKNUM = 53, entonces cuéntalo como la primera semana del año siguiente), pero cualquiera de las funciones MIN o MINX que he intentado calcular el primer día del año ISO solo está devolviendo el primer día del año para el primer año ISO (es decir, 12/27/2015 se devuelve para todos los años como la primera fecha ISO de el año).

Por favor, haga caso omiso. Pude resolver mi problema calculando manualmente el comienzo de la semana en función del primer día del año. Mi problema fue calcular una cantidad móvil basada en el comienzo del año ISO hasta el final de la semana actual (totales semanales móviles) por año (es decir, cuando comienza el próximo año ISO, la cantidad móvil se reinicia en $ 0.00). Terminé usando las fórmulas a continuación para calcular el total móvil por año en caso de que alguien más necesite hacer algo similar.

WeekEnd = 
'Date'[Date] +
(
    7 - WEEKDAY(
        'Date'[Date],1
    )
)

YearStartDateTest = 
var _Date = IF(
    WEEKNUM(
        'Date'[Date]
    ) = 53,
    DATE(
        YEAR(
            'Date'[Date]
        )+1,
        1,
        1
    ),
    STARTOFYEAR(
        'Date'[Date]
    )
)
return
_Date -
(
    WEEKDAY(
        _Date,
        2
	)
)

RollingAmount = 
var _YearStartDate = SELECTEDVALUE(
    'Date'[YearStartDateTest]
)
var _WeekEndDate = SELECTEDVALUE(
    'Date'[WeekEnd]
)
return
CALCULATE(
    SUM(
        ''[Amount]
    ),
    FILTER(
        ALL(
            'Date'[Date]
        ),
        'Date'[Date] >= _YearStartDate &&
        'Date'[Date] <= _WeekEndDate
    )
)

Syndicate_Admin
Administrator
Administrator

Hey @Spiedo ,

usted puede comprobar cuando el mes = 1 y el WEEKNUM > 50 entonces usted debe utilizar año - 1, de lo contrario año.

¿Desea utilizarla como columna calculada o como medida?

Si necesitas ayuda, por favor avísame.
Si respondiera a su pregunta, estaría feliz si pudiera marcar mi publicación como una solución ✔️ y darle un pulgar hacia arriba 👍
Saludos
Denis

Hola a todos,

Estoy preparando una nueva mesa calander en mi modelo power bi,

Por favor, ¿podría aconsejarme como para calcular "Fecha ISO" en cualquier calendario en power BI. Realmente necesito esta columna, por favor ayúdame.

Gracias. Estaba tratando de implementarlo, pero el ADDCOLUMNS( ) no parece apreciar la declaración IF. Parece que una columna bajo el capó de ADDCOLUMNS() no puede ser una instrucción IF porque la reescribió en una instrucción IF muy simple primero. Sin embargo, creo que esta solución alternativa ayudará

Hey @Spiedo ,

también debería ser posible con ADDCOLUMN. ¿Puedes compartir tu medida?

Saludos

Denis

Este es el comienzo de los addcolumns, se trata específicamente de esta columna
"YearWeeknumber", FORMATO ([Fecha], "AAAA" ) & "/" & FORMATO (WEEKNUM ([Fecha],21), "00"),
Si encivo un IF, comprueba las fechas sin FORMATO únicamente utilizando las funciones de la parte IF, no se acepta. Incluso si utilizo una culatón IF muy simple como IF(1>0;1;0) no se acepta. Utilizo el escritorio PBI octubre 2020 porque usamos este servidor de informes powerbi
Calendario = ADDCOLUMNS
(
CALENDARIO (MIN(vCheckin_SupportCallList[Abierto]),
Ahora()),
"DateAsInteger", FORMATO ( [Fecha], "AAAAMMDD"),
"Año", AÑO ( [Fecha] ),
"Monthnumber", FORMATO ( [Fecha], "MM"),
"Weeknumber", FORMATO(WEEKNUM ([Fecha],21),00),
"YearWeeknumber", FORMATO ([Fecha], "AAAA" ) & "/" & FORMATO (WEEKNUM ([Fecha],21), "00"),
"YearMonthnumber", FORMATO ( [Fecha], "AAAA/MM"),

Hey @Spiedo ,

pruebe el siguiente enfoque:

Kalender = 
ADDCOLUMNS(
        CALENDAR (MIN(vCheckin_SupportCallList[Opened]), Now()),
        "DateAsInteger", FORMAT ( [Date], "YYYYMMDD" ),
        "Year", YEAR ( [Date] ),
        "Monthnumber", FORMAT ( [Date], "MM" ),
        "Weeknumber", FORMAT(WEEKNUM ([Date],21),00),
        "YearWeeknumber", FORMAT ([Date], "YYYY" ) & "/" & FORMAT(WEEKNUM ([Date],21), "00"),
        "YearMonthnumber", FORMAT ( [Date], "YYYY/MM" ),
        "YearWeeknumber_New",
            SWITCH(TRUE(),
                MONTH([Date]) = 1 && WEEKNUM ([Date],21) > 50, YEAR([Date]) -1,
                MONTH([Date]) = 12 && WEEKNUM ([Date],21) = 1, YEAR([Date])+1,
                YEAR([Date])
            ) & "/" & FORMAT(WEEKNUM ([Date],21), "00")
)

Esto le dará el nuevo año si la semana es la semana 1 en el año anterior:

selimovd_0-1622394005241.png

Y también te mostrará el año viejo cuando la semana es el número del año anterior:

selimovd_1-1622394119224.png

Si necesitas ayuda, por favor avísame.
Si respondiera a su pregunta, estaría feliz si pudiera marcar mi publicación como una solución ✔️ y darle un pulgar hacia arriba 👍
Saludos
Denis

buenos dias

a qué se refiere con "vCheckin_SupportCallList[Opened]" ??

 

Saludos

 

Ese es el nombre de una vista de base de datos que contiene muchos campos, también campos de fecha

¡Muchas gracias!

IVA:

Esto también resuelve la primera semana del año si es en el año anterior, gracias por este ajuste adicional!

Muy especial, no hay un año ISO mientras que una semana ISO está disponible

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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

Top Solution Authors