Agrupar datos por semana y los lunes

Un usuario Pregunto ✅

rachaelwalker

Estoy tratando de agrupar datos por semana/lunes. Tengo una tabla de datos de fechas y otra tabla de datos llamada Informes de iAuditor. En la tabla de fechas, tengo una columna de «semana inicial» para calcular los lunes usando la siguiente fórmula

Inicio de la semana = IF(DÍA DE LA SEMANA(‘Consulta2′[Date],2)=1,’Consulta2′[Date],DATEADD(‘Consulta2′[Date],-DÍA DE LA SEMANA(‘Consulta2′[Date],2)+1,DÍA))

Las tablas se relacionan mediante el campo de fecha.

sin embargo, cuando creé un gráfico de barras básico o una tabla visual, no parece que estén relacionados (imagen derecha). La imagen de la izquierda solo usa datos de la tabla iauditor. El objeto visual de la derecha usa datos de ambas tablas.

poder bi visuals.png

tabla.png

¿Hay alguna fórmula que deba usar para crear una columna de semana/lunes de inicio en mi tabla iauditor? Lo siento de antemano si me expliqué horrible. Soy un principiante.

rachaelwalker

En respuesta a parar2k

@parry2k te envié un enlace a tu correo electrónico

rachaelwalker

En respuesta a rachaelwalker

@parry2k Gracias por tomarse el tiempo para resolver este problema. Agradecido de que haya sido una solución fácil y aprecio que todos se hayan tomado el tiempo.

Resolución: el campo de fecha en la tabla iauditor no se configuró en el tipo de datos «Fecha».

Hola @rachaelwalker,

Por favor, consulte su tabla de fechas, si comienza el lunes.

Si no comienza el lunes, la columna Semana tendrá un valor en blanco, como en la siguiente captura de pantalla.

G1.jpg

G2.jpg

Tal vez consulte este método, cree una columna de cálculo para obtener la fecha mínima de cada semana.

1. Cree una columna de año y una columna de número de semana en la tabla de fechas.

Year = YEAR(Query2[Date])
weeknum = WEEKNUM(Query2[Date],2)

G3.jpg

2. Luego cree una nueva columna de inicio de semana.

New Week starting = CALCULATE(MIN(Query2[Date]),FILTER(Query2,Query2[weeknum]=EARLIER(Query2[weeknum]) && Query2[Year]=EARLIER(Query2[Year])))

G4.jpg

3. Por fin, cree una relación de muchos a uno entre la tabla de hechos y la tabla de fechas.

G5.jpg

G6.jpg

Si no cumple con sus requisitos, ¿podría proporcionar una muestra de maqueta basada en datos falsos o describir simplemente los campos de cada tabla y las relaciones entre tablas?

Será útil si puede mostrarnos el resultado esperado exacto basado en las tablas.

Cargue sus archivos en OneDrive para empresas y comparta el vínculo aquí. No incluya información confidencial ni datos reales en su respuesta.

Atentamente,

Equipo de apoyo comunitario _ zhenbw

Si esta publicación ayuda, entonces por favor considere Acéptalo como la solución. para ayudar a los otros miembros a encontrarlo más rápidamente.

Por cierto, pbix como adjunto.

parar2k

@rachaelwalker, ¿puedes compartir la relación entre estas dos mesas?

parar2k

En respuesta a parar2k

@rachaelwalker, esto es raro, ¿puedes cambiar la dirección del filtro cruzado a uno solo, en lugar de ambos? No se recomienda tener una relación de dirección con ambos.

rachaelwalker

En respuesta a parar2k

Cambié el filtro cruzado y aparece igual

parar2k

En respuesta a rachaelwalker

@rachaelwalker, ¿su tabla de calendario tiene todas las fechas para el año 2020?

Consulte esta publicación para ver la tabla del calendario, aunque ya la tiene, pero asegúrese de tener fechas en la tabla del calendario para cubrir las fechas de la tabla del auditor.

https://perytus.com/2020/05/22/create-a-basic-date-table-in-your-data-model-for-time-intelligence-ca…

me gustaría Prestigio si mi solución ayudó. 👉 Si puede dedicar tiempo a publicar la pregunta, también puede hacer esfuerzos para dar Kudos a quien haya ayudado a resolver su problema. ¡Es una muestra de agradecimiento!

Visitanos en https://perytus.com, su ventanilla única para proyectos/capacitación/consultoría relacionados con Power BI.

rachaelwalker

En respuesta a parar2k

@parry2k sí, tiene todas las fechas hasta 2025. ¿Sería así como tengo configurada mi tabla de fechas? Creé una función personalizada (consulta 1) y otra consulta personalizada para llamar a la consulta uno para las fechas

fx personalizado – consulta 1

= (StartDate como fecha, EndDate como fecha, FYStartMonth como número) como tabla =>
dejar
DayCount = Duración.Días(Duración.Desde(FechaFinal – FechaInicio)),
Fuente = List.Dates(StartDate,DayCount,#duration(1,0,0,0)),
TableFromList = Table.FromList(Fuente, Splitter.SplitByNothing()),
ChangedType = Table.TransformColumnTypes(TableFromList,{{«Column1», escriba fecha}}),
RenamedColumns = Table.RenameColumns(ChangedType,{{«Column1», «Date»}}),
InsertYear = Table.AddColumn(RenamedColumns, «Year», each Date.Year([Date]),teclee el texto),
InsertYearNumber = Table.AddColumn(RenamedColumns, «YearNumber», each Date.Year([Date])),
Insertar Trimestre = Table.AddColumn(InsertYear, «QuarterOfYear», each Date.QuarterOfYear([Date])),
InsertMonth = Table.AddColumn(InsertQuarter, «MonthOfYear», each Date.Month([Date]), teclee el texto),
InsertDay = Table.AddColumn(InsertMonth, «DayOfMonth», each Date.Day([Date])),
InsertDayInt = Table.AddColumn(InsertDay, «DateInt», each [Year] * 10000 + [MonthOfYear] * 100 + [DayOfMonth]),
InsertMonthName = Table.AddColumn(InsertDayInt, «MonthName», each Date.ToText([Date], «MMMM»), escriba texto),
InsertCalendarMonth = Table.AddColumn(InsertMonthName, «MonthInCalendar», each (try(Text.Range([MonthName],0,3)) de lo contrario [MonthName]) & » » & Número.AlTexto([Year])),
InsertCalendarQtr = Table.AddColumn(InsertCalendarMonth, «QuarterInCalendar», cada «Q» & Number.ToText([QuarterOfYear]) & » » & Número.AlTexto([Year])),
InsertDayWeek = Table.AddColumn(InsertCalendarQtr, «DayInWeek», each Date.DayOfWeek([Date])),
InsertDayName = Table.AddColumn(InsertDayWeek, «DayOfWeekName», each Date.ToText([Date], «dddd»), escriba texto),
InsertWeekEnding = Table.AddColumn(InsertDayName, «WeekEnding», each Date.EndOfWeek([Date]), escriba la fecha),
InsertWeekNumber= Table.AddColumn(InsertWeekEnding, «Week Number», each Date.WeekOfYear([Date])),
InsertMonthnYear = Table.AddColumn(InsertWeekNumber,»MonthnYear», each [Year] * 10000 + [MonthOfYear] * 100),
InsertarAñoCuaternario = Table.AddColumn(InsertMonthnYear,»QuarternYear», each [Year] * 10000 + [QuarterOfYear] * 100),
ChangedType1 = Table.TransformColumnTypes(InsertQuarternYear,{{«QuarternYear», Int64.Type},{«Week Number», Int64.Type},{«Year», type text},{«MonthnYear», Int64.Type}, { «DateInt», Int64.Type}, {«DayOfMonth», Int64.Type}, {«MonthOfYear», Int64.Type}, {«QuarterOfYear», Int64.Type}, {«MonthInCalendar», type text}, {» QuarterInCalendar», escriba texto}, {«DayInWeek», Int64.Type}}),
InsertarAñoCorto = Tabla.AgregarColumna(TipoCambiado1, «AñoCorto», cada Texto.End(Texto.Desde([Year]), 2), escriba texto),
AddFY = Table.AddColumn(InsertShortYear, «FY», each «FY»&(if [MonthOfYear]>=FYStartMonth luego Text.From(Number.From([ShortYear])+1) más [ShortYear]))
en
AddFY

consulta personalizada 2 (esto es lo que crea la tabla de fechas. Luego agregué una columna para comenzar la semana usando la fórmula en mi publicación original)

= Consulta1(#fecha(2019, 1, 1), #fecha(2025, 12, 31), 10)

parar2k

En respuesta a rachaelwalker

@rachaelwalker, ¿no debería importar cómo creaste la tabla de fechas? ¿Está abierto a enviar un archivo pbix, elimine la información confidencial antes de compartirla? Si eso no es posible, entonces podemos tener una reunión de Goto/Zoom y analizarlo. Estaré disponible en una hora más o menos.

rachaelwalker

En respuesta a parar2k

¿A qué correo electrónico debo enviarlo?

parar2k

En respuesta a rachaelwalker

@rachaelwalker no estoy seguro si durará el mensaje es para mí, puede compartirlo mediante un enlace de onedrive/google drive o enviarlo directamente, mi correo electrónico está en la firma.

rachaelwalker

En respuesta a parar2k

@parry2k te envié un enlace a tu correo electrónico

rachaelwalker

En respuesta a rachaelwalker

@parry2k Gracias por tomarse el tiempo para resolver este problema. Agradecido de que haya sido una solución fácil y aprecio que todos se hayan tomado el tiempo.

Resolución: el campo de fecha en la tabla iauditor no se configuró en el tipo de datos «Fecha».

En respuesta a rachaelwalker

Hola @rachaelwalker,

Puedes subir tu muestra a OneDrive para empresas y comparte el enlace aquí.

No incluya información confidencial ni datos reales en su respuesta.

Atentamente,

Equipo de apoyo comunitario _ zhenbw

Si esta publicación ayuda, entonces por favor considere Acéptalo como la solución. para ayudar a los otros miembros a encontrarlo más rápidamente.

rachaelwalker

2020-08-03 09_02_04-Panel de tecnología - Power BI Desktop.png

No estoy seguro de por qué mis capturas de pantalla desaparecieron de la publicación original, pero aquí es para mostrar la relación

amichandak

En respuesta a rachaelwalker

@rachaelwalker, espero que esto pueda ayudar

Cualquiera de los 7 días como inicio o fin de semana

https://community.powerbi.com/t5/Community-Blog/Any-Weekday-Week-Decoding-Date-and-Calendar-2-5-Powe…

Mi suposición es tener una tabla de fechas.

rachaelwalker

En respuesta a amichandak

¡Artículo súper útil! Pude agregar una columna a mi tabla de fechas para mostrar el lunes como la fecha de inicio de la semana. Son las imágenes/relación entre las mesas lo que me está dando problemas.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *