Forum Discussion
Bucle Date.AddDays
@v-yueyunzh-msft Simplemente no lo estoy entendiendo y estoy más confundido que nunca. ¿Tal vez podría proporcionar una muestra de pbix?
- Syndicate_Admin3 years agoAdministrator
Hi, @Qotsa
Gracias por su rápida respuesta, los últimos dos días fueron fin de semana por lo que no puedo responderle de inmediato.
Para su pregunta, ¿puede conectar su fuente de datos desde Mysql y hacer que la tabla de retorno sea así?
Luego puede darme todas las capturas de pantalla de su interfaz del Editor de Power Query (quiero ver la columna si es la misma que yo), incluidos sus campos y los pasos que generó.
Y debe copiarme todo el código M en el "Editor avanzado" de esta consulta en el Editor de Power Query.
Si puedes, también puedes subir el. pbix a OneDrive y comparte tu enlace conmigo.
Gracias por su tiempo y uso compartido, y gracias por su apoyo y comprensión de PowerBI.
Saludos
Aniya Zhang
Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
- Syndicate_Admin3 years agoAdministrator
@v-yueyunzh-msft TY por su asistencia hasta la fecha.
My Advanced Editor tiene el siguiente código.
dejar
Source = MySQL.Database("34.252.51.71", "powerbi114", [ReturnSingleDatabase=true]),
powerbi114_cmCarerAvailability = Source{[Schema="powerbi114",Item="cmCarerAvailability"]}[Data],
#"Valor reemplazado" = Table.ReplaceValue(powerbi114_cmCarerAvailability,",","",Replacer.ReplaceText,{"day"}),
#"Changed Type" = Table.TransformColumnTypes(#"Replacement Value",{{"day", Int64.Type}}),
#"Columnas eliminadas" = Table.RemoveColumns(#"Tipo cambiado",{"created", "createdBy", "deleted", "deletedBy", "updated", "updatedBy", "companyId", "locationId", "adjustedStartDate", "startTime", "endTime"}),
#"Added Custom" = Table.AddColumn(
test, "start_Monday", (x)=>Date.AddDays(Date.StartOfWeek(x[startDate]),1)
),
#"Added Custom1" = Table.AddColumn(#"Added Custom", "Accumul_list", (x)=>
if x[week]=0 then null else if x[week]=1 then {0..( Duration.Days(Date.AddDays(Date.EndOfWeek(x[endDate]),1)-x[start_Monday])+1)/7-1}else if x[week]=2 then
List.Generate(()=>0,each _<=(Number.RoundUp((Duration.Days(Date.AddDays(Date.EndOfWeek(x[endDate]),1)-x[start_Monday])+1)/7/2)-1)*2,each _+2) else 1),
#"Added Custom2" = Table.AddColumn(#"Added Custom1", "Need List", (x)=>
if x[Accumul_list]<> null then List.Sort(List.TransformMany(x[day_list],each x[Accumul_list],(x,y)=>y*7+x)) else x[endDate]
),
#"Added Custom3" = Table.AddColumn(#"Added Custom2", "End List", (x)=>
probar
List.Select(List.Accumulate(x[Need List],{},(a,b)=> a& {Date.AddDays(Date.From(x[start_Monday]) ,b)} ),(z)=>z<=x[endDate])
de lo contrario x[Lista de necesidades])
en
#"Añadido personalizado3"PBIX -> https://1drv.ms/u/s!AiX0_cACeSxJgSqVYOQ7GmGUY8FG?e=dH6kJG
- Syndicate_Admin3 years agoAdministrator
Hi , @Qotsa
¡Gracias por su rápida respuesta!
No puedo conectarme a su fuente de datos, por lo que debe probar en su lado.
De acuerdo con su código M proporcionado, puede intentar usar este código M para poner en el "Editor avanzado":
let Source = MySQL.Database("34.252.51.71", "powerbi114", [ReturnSingleDatabase=true]), powerbi114_cmCarerAvailability = Source{[Schema="powerbi114",Item="cmCarerAvailability"]}[Data], #"Replaced Value" = Table.ReplaceValue(powerbi114_cmCarerAvailability,",","",Replacer.ReplaceText,{"day"}), #"Changed Type" = Table.TransformColumnTypes(#"Replaced Value",{{"day", Int64.Type}}), #"Removed Columns" = Table.RemoveColumns(#"Changed Type",{"created", "createdBy", "deleted", "deletedBy", "updated", "updatedBy", "companyId", "locationId", "adjustedStartDate", "startTime", "endTime"}), #"Added Custom" = Table.AddColumn(#"Removed Columns", "start_Monday", (x)=>Date.AddDays(Date.StartOfWeek(x[startDate]),1)), #"Added Custom1" = Table.AddColumn(#"Added Custom", "Accumul_list", (x)=> if x[week]=0 then null else if x[week]=1 then {0..(Duration.Days(Date.AddDays(Date.EndOfWeek(x[endDate]),1)-x[start_Monday])+1)/7-1}else if x[week]=2 then List.Generate(()=>0,each _<=(Number.RoundUp((Duration.Days(Date.AddDays(Date.EndOfWeek(x[endDate]),1)-x[start_Monday])+1)/7/2)-1)*2,each _+2) else 1), #"Added Custom2" = Table.AddColumn(#"Added Custom1", "Need List", (x)=> if x[Accumul_list]<> null then List.Sort(List.TransformMany(x[day_list],each x[Accumul_list],(x,y)=>y*7+x)) else x[endDate] ), #"Added Custom3" = Table.AddColumn(#"Added Custom2", "End List", (x)=> try List.Select(List.Accumulate(x[Need List],{},(a,b)=> a& {Date.AddDays(Date.From(x[start_Monday]) ,b)} ),(z)=>z<=x[endDate]) otherwise x[Need List] ) in #"Added Custom3"Si esto también devuelve el código de error, puede compartirme el código de error para actualizar este código M.
Gracias por su tiempo y uso compartido, y gracias por su apoyo y comprensión de PowerBI.
Saludos
Aniya Zhang
Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.