Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now
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"
Solved! Go to Solution.
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
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
@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 ?
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]
)
)
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.
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
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 ,
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
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.
@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...
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 ...
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.