Learn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now
Hola
Estoy intentando crear una segmentación de datos personalizada para un informe. De forma predeterminada, la segmentación de datos debe filtrarse a los últimos 30 días a partir de la fecha actual. He agregado una condición a los filtros del objeto visual para limitarlos a los últimos 30 días.
Pero tengo que seleccionar entre la fecha de inicio y la fecha de finalización. Si aplico la condición de filtro anterior, solo permite seleccionar entre ese período de tiempo de 30 días.
Lo he hecho usando parámetros en tableau. Soy nuevo en Power BI y alguien puede ayudar a hacer esto usando parámetros en Power Bi.
Gracias de antemano por su ayuda.
Hola, @Meera556
En función de su información, creo una tabla de ejemplo:
Primero, crea una tabla de calendario que incluya todas las fechas que necesitas:
Calendar = CALENDAR(MIN('Table'[Date]), MAX('Table'[Date]))
A continuación, cree una medida, aquí está la expresión DAX:
Measure =
VAR cc=MAX('Calendar'[Date])
RETURN CALCULATE(SUM('Table'[Value]),FILTER('Table','Table'[Date]>=cc-30&&'Table'[Date]<=cc))
Cree una segmentación, coloque la fecha del calendario en esta segmentación. Al seleccionar una fecha, la tabla muestra los datos de los últimos 30 días.
Cómo obtener respuestas rápidas a su pregunta
Saludos
Yongkang Hua
Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.
Hola @Meera556 , Puedes lograr esto usando medidas
Asegúrese de tener una tabla de fechas y, si no, cree usando
DateTable =
ADDCOLUMNS (
CALENDARIO (FECHA(2020, 1, 1), FECHA(2025, 12, 31)),
"Año", AÑO([Fecha]),
"Mes", MES ([Fecha]),
"Día", DÍA([Fecha]),
"MonthName", FORMAT([Fecha], "MMMM"),
"YearMonth", FORMAT([Fecha], "AAAA-MM")
)
A continuación, cree una medida para los últimos 30 días
IsLast30Days =
VAR Hoy = HOY()
VAR Última30Días = Hoy - 30
DEVOLUCIÓN
SI (
'DateTable'[Date] >= Last30Days && 'DateTable'[Date] <= Hoy,
1,
0
)
A continuación, cree una medida para el intervalo de fechas seleccionado
SelectedStartDate =
MIN('DateTable'[Fecha])
SelectedEndDate =
MAX('DateTable'[Fecha])
Última medida para filtrar los datos en función del rango seleccionado
IsInSelectedDateRange =
VAR StartDate = [SelectedStartDate]
VAR EndDate = [SelectedEndDate]
DEVOLUCIÓN
SI (
'YourDataTable'[Date] >= StartDate && 'YourDataTable'[Date] <= EndDate,
1,
0
)
Agregue una segmentación de datos para la selección del intervalo de fechas:
Arrastre la columna Fecha de la tabla de fechas al objeto visual de segmentación.
Establezca la segmentación en el modo "Entre" para permitir que los usuarios seleccionen una fecha de inicio y finalización.
Agregue una segmentación de datos para los últimos 30 días:
Arrastre la medida IsLast30Days a un objeto visual de segmentación.
Configure la segmentación en el modo "Selección única" y seleccione "1" para filtrar durante los últimos 30 días.
Aplicar el filtro a los objetos visuales
Agregue el objeto visual de datos (por ejemplo, tabla, gráfico) al informe.
Aplique un filtro de nivel visual mediante la medida IsInSelectedDateRange:
Arrastre la medida IsInSelectedDateRange al panel de filtros de nivel visual.
Establezca el filtro en "1" para mostrar solo los datos dentro del intervalo de fechas seleccionado.
Hola @bhanu_gautam ,
Gracias por su respuesta.
Al intentar crear una medida para IsInSelectedDateRange, no está tomando mi columna de fecha de tabla de fechas, solo acepta medidas allí y no puedo crear la medida IsLast30Days que obtiene un error cerca de 'DateTable' [Date].
¿Puedes ayudarme con esto, por favor?
Simplemente comparta algunos datos de muestra con el mismo nombre de columna y tabla, lo probaré y compartiré el archivo PBIX con usted