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

Limitar el eje X

Tengo un gráfico de líneas: está filtrado (filtros en esta página) por columna de fecha. El filtro de la página se establece en fecha relativa y muestra los elementos cuando el valor está en los últimos 7 días.

El gráfico muestra solo los datos de los últimos 7 días, sin embargo, muestra el resto de los días como 0 (1 de mayo de 2022 - 9 de mayo de 2022 y 17 de mayo - 31 de mayo de 2022); lo cual es incorrecto:

1) Hay datos del 1 de mayo de 2022 al 9 de mayo de 2022

2) Del 17 al 31 de mayo es en el futuro.

¿Hay alguna manera de mostrar solo los 7 días en el gráfico?

Gracias

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Para futuros espectadores y referencia, parece que tengo una medida con IF (ISBLANK) para dar cuenta de una de las categorías para mostrar 0 y no . Así que el gráfico sin ningún dato para el resto de las fechas, mostró 0. Quitando eso solo se mostrará el gráfico de 7 días en el eje x.

No es realmente una solución, pero, más o menos, la causa del problema y la solución.

View solution in original post

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Para futuros espectadores y referencia, parece que tengo una medida con IF (ISBLANK) para dar cuenta de una de las categorías para mostrar 0 y no . Así que el gráfico sin ningún dato para el resto de las fechas, mostró 0. Quitando eso solo se mostrará el gráfico de 7 días en el eje x.

No es realmente una solución, pero, más o menos, la causa del problema y la solución.

Syndicate_Admin
Administrator
Administrator

Hola @Noob2022 ,

No estoy seguro de si entendí correctamente, pero parece que no estás usando una dimensión de Calendario "adecuada"; Si está utilizando la columna de fecha de la tabla de hechos, le recomendaría que cree una tabla de fechas (la razón por la que debe usar una tabla de fechas o un calendario de fechas se explica completamente en este artículo por el brillante Reza Rad: ¿Necesita una dimensión de fecha? - RADACAD).

Dicho esto, hay varias formas de crear una tabla de fechas que puede; mi favorito es (tenga en cuenta que este código no es mío, pero no estoy seguro de a quién debo felicitar, pero siempre se usa en la empresa en la que trabajo: Devscope). Si sabes cómo hacerlo, salta al paso 7 o después 🙂
De todos modos, aquí va:
1- Copie este código (el 3er paso le permite cambiar entre "en- US" o "pt-PT" si necesita tenerlo en portugués por alguna razón 🙂 😞

dejar
P_Today = DateTime.LocalNow(),
P_StartDate = #date(2018, 1, 1),
P_EndDate = #date(Fecha.Año(P_Today),12,31),
P_Culture = "en-EN",
P_FirstDayOfWeek = 1,
P_IsCarnivalHoliday = verdadero,
Vacaciones = si P_Culture = "pt-PT" entonces "Feriado" de lo contrario "Vacaciones",
Cuarto = si P_Culture = "pt-PT" entonces "T" de lo contrario "Q",
Semana = si P_Culture = "pt-PT" entonces "S" más "W",
Fin de semana = si P_Culture = "pt-PT" entonces "Fim de Semana" de lo contrario "Fin de semana",
WorkDay = si P_Culture = "pt-PT" entonces "Dia Útil" else "Work Day",
DayCount = Duration.Days(Duration.From(P_EndDate - P_StartDate)) + 1,
Fuente = List.Dates(P_StartDate, DayCount, #duration(1, 0, 0, 0)),
TableFromList = Table.FromList(Source, Splitter.SplitByNothing()),
ChangedType = Table.TransformColumnTypes(TableFromList, {{"Column1", tipo date}}),
RenamedColumns = Table.RenameColumns(ChangedType, {{"Column1", "Date"}}),
InsertId = Table.AddColumn(RenamedColumns, "DateId", cada Date.Year([Date])*10000 + Date.Month([Date])*100 +Date.Day([Date])),
InsertYear = Table.AddColumn(InsertId, "Year", cada Date.Year([Date])),
InsertQuarter = Table.AddColumn(InsertYear, "Quarter", cada Date.QuarterOfYear([Date])),
InsertSemester = Table.AddColumn(InsertQuarter, "Semestre", cada uno si [Trimestre] < 3 y luego 1 más 2),
InsertMonth = Table.AddColumn(InsertSemester, "Month (#)", cada Date.Month([Date])),
InsertWeek = Table.AddColumn(InsertMonth, "Week", cada Date.WeekOfYear([Date], P_FirstDayOfWeek)),
InsertDay = Table.AddColumn(InsertWeek, "Day", cada Date.Day([Date])),
InsertMonthName = Table.AddColumn(InsertDay, "Month (Long)", cada Date.ToText([Date], "MMMM", P_Culture), escriba texto),
InsertShortMonthName = Table.AddColumn(InsertMonthName, "Month", cada try(Text.Range([#"Month (Long)"],0,3)) de lo contrario [#"Month (Long)"]),
InsertCalendarWeek = Table.AddColumn(InsertShortMonthName, "Week (Year)", each Week & Number.ToText([Week]) & " " & Number.ToText([Year])),
InsertCalendarMonth = Table.AddColumn(InsertCalendarWeek, "Month (Year)", cada [#"Month"] & " " & Number.ToText([Year])),
InsertCalendarQtr = Table.AddColumn(InsertCalendarMonth, "Quarter (Year)", each Quarter & Number.ToText([Quarter]) & " " & Number.ToText([Year])),
InsertCalendarSem = Table.AddColumn(InsertCalendarQtr, "Semestre (Año)", cada "S" & Number.ToText([Semestre]) & " " & Number.ToText([Año])),
InsertDayWeek = Table.AddColumn(InsertCalendarSem, "Week Day (#)", cada Date.DayOfWeek([Date], P_FirstDayOfWeek ) + 1),
InsertDayName = Table.AddColumn(InsertDayWeek, "Week Day", cada Date.ToText([Date], "dddd", P_Culture), escriba texto),
InsertWeekYear = Table.AddColumn(InsertDayName, "WeekYearId", cada [Año] * 100 + [Semana]),
InsertMonthYear = Table.AddColumn(InsertWeekYear, "MonthYearId", cada [Año] *100 + [#"Mes (#)"]),
InsertStartWeek = Table.AddColumn(InsertWeekYear , "Inicio de la semana", cada Date.StartOfWeek([Date], P_FirstDayOfWeek), escriba date),
InsertEndWeek = Table.AddColumn(InsertStartWeek , "End of Week", cada Date.EndOfWeek([Date], P_FirstDayOfWeek), escriba date),
InsertQuarterYear = Table.AddColumn(InsertMonthYear, "QuarterYearId", cada [Año] * 100 + [Trimestre]),
InsertSemesterYear = Table.AddColumn(InsertQuarterYear, "SemesterYearId", cada [Año] * 100 + [Semestre]),
#"Capitalized Each Word" = Table.TransformColumns(InsertSemesterYear,{{"Month (Long)", Text.Proper}, {"Month", Text.Proper}, {"Month (Year)", Text.Proper}, {"Week Day", Text.Proper}}),
#"Relative (Year)" = Table.AddColumn(#"Capitalized Each Word", "Year (Relative)", each [Year] - Date.Year(P_Today)),
#"Relativo (Mes)" = Table.AddColumn(#"Relativo (Año)", "Mes (Relativo)", cada uno [#"Año (Relativo)"] * 12 + ([#"Mes (#)"] - Fecha.Mes(P_Today))),
#"Relative (Week)" = Table.AddColumn(#"Relative (Month)", "Week (Relative)", each Duration.TotalDays(DateTime.Date(Date.StartOfWeek([Date])) - DateTime.Date(Date.StartOfWeek(P_Today))) / 7),
#"Relative (Day)" = Table.AddColumn(#"Relative (Week)", "Day (Relative)", each Duration.TotalDays([Date] - DateTime.Date(P_Today))),
MergedHolidays = Table.NestedJoin(#"Relative (Day)",{"Date"},GetHoliday(P_StartDate,P_EndDate,P_Culture, P_IsCarnivalHoliday),{"Date"},"Holidays",JoinKind.LeftOuter),
ExpandedHolidays = Table.ExpandTableColumn(MergedHolidays, "Holidays", {"Holiday"}, {"Holiday"}),
AddedWorkDay = Table.AddColumn(ExpandedHolidays, "Work Day", cada uno if [Holiday] = null then (if [#"Week Day (#)"] > 5 then Weekend else WorkDay) else Holiday),
#"Columnas reordenadas" = Table.ReorderColumns(#"Relative (Day)", {"Date", "Day", "Week Day (#)", "Week Day", "Week", "Month (Long)", "Month", "Month (#)", "Quarter", "Semester", "Year", "Week (Year)", "Month (Year)", "Quarter (Year)", "Semester (Year)", "WeekYearId", "MonthYearId", "QuarterYearId", "SemesterYearId", "Day (Relative)", "Week (Relative)", "Month (Relative)", "Year (Relative)"}),
#"Changed Type" = Table.TransformColumnTypes(#"Reordered Columns", {{"Day", Int64.Type}, {"Week Day (#)", Int64.Type}, {"Week", Int64.Type}, {"Month (#)", Int64.Type}, {"Quarter", Int64.Type}, {"Semester", Int64.Type}, {"Year", Int64.Type}, {"Week (Year)", type text}, {"Quarter (Year)", type text}, {"Semester (Year)", type text}, {"WeekYearId", Int64.Type}, {"SemesterYearId", Int64.Type}, {"MonthYearId", Int64.Type}, {"QuarterYearId", Int64.Type}, {"Day (Relative)", Int64.Type}, {"MonthYearId", Int64.Type}, {"MonthYearId", Int64.Type}, {"MonthYearId", Int64.Type}, {"MonthYearId", Int64.Type}, {"Day (Relative)", Int64.Type}, {"MonthYearId", Int64.Type}, {"MonthYearId", Int64.Type}, {"MonthYearId", Int64.Type}, {"MonthYearId", Int64.Type}, {"MonthYearId", Int64.Type}, {"MonthYearId", Int64.Type}, {"QuarterYearId", Int64.Type}, {"Day (Relative)", Int64.Type}, {"MonthYearId", Int64.Type}, {"MonthYearId", Int64.Type}, {"QuarterYearId", Int64.Type}, {"Day (Relative)", Int64.Type}, {"MonthYearId", Int64.Type}, {"MonthYearId", Int64.Type}, {"MonthYearId", Int64.Type}, {"MonthYearId", Int64.Type}, {"QuarterYearId", Int64.Type}, {"MonthYearId", Int64.Type}, {"MonthYearId", Int64.Type}, {"QuarterYearId", Int64.Type}, {"Day (Relative)", Int64.Type}, {"MonthYearId", Int64.Type}, {"MonthYearId", Int64.Type}, {"QuarterYearId", Int64.Type}, {"Day (Relative)", Int64.Type}, {"MonthYearId", Int64.Type}, {"MonthYearId", Int (Relative)", Int64.Type}, {"Year (Relative)", Int64.Type}, {"DateId", Int64.Type}, {"Week (Relative)", Int64.Type}}),
ColumnPT = Table.RenameColumns(#"Changed Type", {{"Date", "Date"}, {"DateId", "DataId"}, {"Day", "Day"}, {"Week Day (#)", "Day Week (#)"}, {"Week Day", "Week Day"}, {"Week", "Week"}, {"Month (Long)", "Month (Extended)"}, {"Month", "Month"}, {"Month(#)", "Month (#)", "Month (#)"}, {"Quarter", "Quarter"}, {"Semester", "Semester"}, {"Year", "Year"}, {"Week (Year)", "Week (Year)"}, {"Month (Year)", "WeekAnoId"}, {"MonthYearId", "MesAnoId"}, {"QuarterYearId", "QuarterAnoId"}, {"SemesterYearId", "SemesterAnoId"}, {"Day (Relative)", "Day (Relative)"}, {"Month (Relative)", "Month (Relative)"}, {"Year (Relative)", "Year (Relative)"}, {"Week (Relative)", "Week (Relative)}}),
result = if P_Culture = "pt-PT" then ColumnPT else #"Changed Type"
en
resultado


2- Abra Power Query:

JoaoMarcelino_0-1652788882886.png

3- Crear una nueva consulta en blanco:

JoaoMarcelino_1-1652789003839.png

4- Haga clic en Advanced Editor -> eliminar el fragmento de código allí (dentro del "círculo" rojo):

JoaoMarcelino_0-1652794937009.png

5 - Pegue el código copiado previamente del paso 1 y cambie los pasos P_StartDate y P_EndDate en consecuencia (es decir, si desea que la fecha de inicio sea "2020, 1, 1" reemplace el año 2018 por 2020; si desea que la fecha de finalización sea el 31 de diciembre del año en curso, puede dejar que sea así, si desea que la fecha de finalización del calendario sea el año anterior, solo necesita insertar un "-1" después de Date.Year(P_Today)-1, 12, 31).

JoaoMarcelino_2-1652795130169.png

6- Haga clic en "Listo" a continuación, cambie el nombre de la consulta a "Calendario" y luego "cerrar y aplicar":

JoaoMarcelino_4-1652795565438.png

7- Crea una relación entre la tabla Calendario y tu tabla de hechos a través del campo "fecha".

JoaoMarcelino_5-1652795773725.png

8- O bien:
-Arrastre y suelte "Día (relativo)" a los filtros de página y elija el actual (0) y los últimos 7 (hasta -7):

JoaoMarcelino_6-1652796317954.png

O
- Arrastre y suelte la "fecha" archivada (desde la dimensión de la tabla) al filtro página en el panel de filtro y elija "relativo" -> en los últimos 7 días.

JoaoMarcelino_7-1652796493845.png


Sé que esto fue demasiado largo (lo siento por eso), pero creo que también puede servir como respuesta / tutorial para muchos otros que podrían necesitar ayuda con este tema. 🙂

¡Espero haber sido de ayuda!
Bien
Joao Marcelino
Ps- ¿Respondí a tu pregunta? ¡Marca mi post como solución! También se aprecian los elogios 🙂

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 Kudoed Authors