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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Chanleakna123
Post Prodigy
Post Prodigy

Columna personalizada a la semana

Hola a todos

¿Alguien puede ayudarme con el código? en el año 2021 es lo diferente entre el año pasado.

como calculo el número de semana utilicé el código : if Date.WeekOfYear([Fecha],6)>52 entonces 52
else Date.WeekOfYear([Date],6) ,

Aunque quiero establecer una condición , Si el año 2021 , el día comienza de 01/01/2021 a 01/08/2021 - 1 más se ejecutará tan normal como se muestra la fórmula y luego se ejecutará automáticamente semana a semana. Mientras que actualmente 01/01/2021 - cae en la semana 1 .

A continuación se muestra mi Mcode para el calendario de mi empresa :

Dejar
Origen: Número.From(#date(2010,1,1)).. Number.From(#date(2021,12,31))
"Convertido a la tabla" - Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
"Columnas renombradas" - Table.RenameColumns('Converted to Table",'Column1', 'Date" ?),
"Changed Type1" á Table.TransformColumnTypes('"Columnas renombradas",'Fecha', tipo date'),
"Añadido Personalizado" - Table.AddColumn(-"Changed Type1", "Week Day Name", each Date.ToText([Date], "dddd")),
"Añadido Custom3" - Table.AddColumn(-"Added Custom", "Year", each Date.Year([Date])),
"Filas ordenadas" - Table.Sort(-"Added Custom3","Fecha", Order.Descending-),
"Añadido Custom1" - Table.AddColumn(-"Filas ordenadas", "Número de Semana", cada uno if Date.WeekOfYear([Fecha],6)>52 luego 52
else Date.WeekOfYear([Date],6)),
"Añadido Custom2" - Table.AddColumn(-"Added Custom1", "Month No", cada uno si [Número de Semana]>0 y [Número de Semana]<5 y luego 1
si [Número de semana]>4 y [Número de semana]<9 y luego 2
si [Número de semana]>8 y [Número de semana]<14 y luego 3
si [Número de semana]>13 y [Número de semana]<18 y luego 4
si [Número de semana]>17 y [Número de semana]<22 y luego 5
si [Número de semana]>21 y [Número de semana]<27 y luego 6
si [Número de semana]>26 y [Número de semana]<31 entonces 7
si [Número de semana]>30 y [Número de semana]<35 entonces 8
si [Número de semana]>34 y [Número de semana]<40 y luego 9
si [Número de semana]>39 y [Número de semana]<44 y 10
si [Número de semana]>43 y [Número de semana]<48 y 11
si [Número de semana]>47 y [Número de semana]<53 y 12
más 0),
"Tipo de cambio" - Table.TransformColumnTypes('Added Custom2'",'Year", Int64.Type', ''Month No', Int64.Type'),
"Added Custom4" á Table.AddColumn(-"Changed Type", "Month", each Date.ToText(DateTime.Date(#datetime([Year], [Month No], 1, 00, 00, 00)),"MMM")),
"Added Custom5" á Table.AddColumn('Added Custom4', 'Month Year', each Date.ToText(DateTime.Date(#datetime([Year], [Month No], 1, 00, 00, 00)),"MMM-yy")),
"Añadido Custom6" - Table.AddColumn(-"Added Custom5", "Quaters", cada uno si [Mes No]> 1 y [Mes No]<4 entonces 1
si [Mes No]> 4 y [Número de semana]<7 y luego 2
si [Mes No]> 7 y [Mes No]<10 entonces 3
si [Mes No]>-10 y [Mes No]<13 entonces 4
otra cosa 2),
"Changed Type2" á Table.TransformColumnTypes('Added Custom6'",'Número de semana', escriba texto'),
"Añadido Custom7" - Table.AddColumn(-"Changed Type2", "Custom", each Text.Combine('[Month]," ","W",[Número de semana]-)),
"Columnas renombradas1" - Table.RenameColumns('Added Custom7",'Custom", 'Week/Month' ))
En
"Columnas renombradas1"

Capture 1.PNG

1 ACCEPTED SOLUTION
AlB
Super User
Super User

@Chanleakna123

Actualícelo de la siguiente manera:

#"Added Custom1" = Table.AddColumn(#"Sorted Rows", "Week Number", each if Date.WeekOfYear([Date],6)>52 then 52
else if ([Year]=2021 and List.Contains({1,2}, Date.WeekOfYear([Date],6))) then 1
esle if [Year]=2021 then (Date.WeekOfYear([Date],6)-1) else Date.WeekOfYear([Date],6))

Por favor, marque la pregunta resuelta cuando haya terminado y considere dar un pulgar hacia arriba si las publicaciones son útiles.

Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.

Salud

SU18_powerbi_badge

View solution in original post

9 REPLIES 9
AlB
Super User
Super User

@Chanleakna123

Actualícelo de la siguiente manera:

#"Added Custom1" = Table.AddColumn(#"Sorted Rows", "Week Number", each if Date.WeekOfYear([Date],6)>52 then 52
else if ([Year]=2021 and List.Contains({1,2}, Date.WeekOfYear([Date],6))) then 1
esle if [Year]=2021 then (Date.WeekOfYear([Date],6)-1) else Date.WeekOfYear([Date],6))

Por favor, marque la pregunta resuelta cuando haya terminado y considere dar un pulgar hacia arriba si las publicaciones son útiles.

Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.

Salud

SU18_powerbi_badge

Chanleakna123
Post Prodigy
Post Prodigy

@v-stephen-msft , hola , nuevo número de semana mostrar 53 , no está bien querido.

tenemos sólo 52 semanas, podemos hacerlo en Mcode columna bastante calculado ?

v-stephen-msft
Community Support
Community Support

No @Chanleakna123 ,

Podría probar dos columnas calculadas.

Week Num = 
WEEKNUM ( [Date] + 1, 1 )
New Week Num = 
IF (
    [Date] <= DATE ( 2021, 1, 8 )
        && [Date] >= DATE ( 2021, 1, 1 ),
    1,
    IF (
        [Date] > DATE ( 2021, 1, 8 )
            && [Date] <= DATE ( 2021, 12, 31 ),
        [Week Num] - 1,
        [Week Num]
    )
)

32.png

Puede consultar más detalles desde aquí.

Saludos

Stephen Tao

Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

AlB
Super User
Super User

@Chanleakna123

Entonces, ¿cuál es el resultado esperado en la foto anterior?? No entiendo el requisito. Por favor, detalla el número de semana que desea para cada uno de esos días (y otros si es relevante)

Por favor, marque la pregunta resuelta cuando haya terminado y considere dar un pulgar hacia arriba si las publicaciones son útiles.

Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.

Salud

SU18_powerbi_badge

hola @AlB , como i círculo muestra el número es "Semana" , a continuación está la fórmula que recomienda fijar en 01/01/2021-01/08/2021 es la semana 1 , y hemos arreglado que , pero en 01/09/2021-01/15/2021 muestra la semana 3 , pero debe ser la semana 2 ,

AlB
Super User
Super User

No @Chanleakna123

Usted necesita modificar este paso:

#"Added Custom1" = Table.AddColumn(#"Sorted Rows", "Week Number", each if Date.WeekOfYear([Date],6)>52 then 52
else if ([Year]=2021 and List.Contains({1,2}, Date.WeekOfYear([Date],6))) then 1
else Date.WeekOfYear([Date],6))

Por favor, marque la pregunta resuelta cuando haya terminado y considere dar un pulgar hacia arriba si las publicaciones son útiles.

Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.

Salud

SU18_powerbi_badge

hola @AlB @amitchandak está recurriendo a la semana 1 , y debe ser que se ejecuta en la semana siguiente , por la semana 2 y semana 3 semana 4 semana 5.....

porque en este momento no tenía la semana 2 .
¿Puede ayudar en este . Ya casi llegamos.

4.PNG

amitchandak
Super User
Super User

@Chanleakna123 , ¿Puede compartir datos de ejemplo y salida de ejemplo en formato de tabla? O una muestra de pbix después de eliminar datos confidenciales.

si estos pueden ayudar a

Cualquier semana de día de la semana - Comience desde cualquier día de la semana
https://community.powerbi.com/t5/Community-Blog/Any-Weekday-Week-Decoding-Date-and-Calendar-2-5-Powe...

Semana que se restablece anualmente
https://community.powerbi.com/t5/Community-Blog/Week-That-Resets-Yearly-Decoding-Date-and-Calendar-3...

no @amitchandak

https://www.dropbox.com/s/flw231yuqes4048/445%20Calendar.pbix?dl=0

arriba es 445 Calendario , ya que tengo calendario propio, aunque todos los calendarios basados en el cálculo, los que giran a la derecha.
Pero debido a que en el año 2021 es diferente tengo el problema con la semana 1 :

Quiero establecer una condición , Si el año 2021 , el día comienza de 01/01/2021 a 01/08/2021 - Será en la semana 1 , y luego toda la fecha se está ejecutando después de que la semana 1 , semana 2 , semana 3 etc ...

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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

Top Solution Authors