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
tim_m15
Resolver I
Resolver I

Mostrar días antes y después de la fecha máxima de Date-Slicer

¡Hola, amigos!

Mi objetivo es implementar una medida que funcione un "Filtro en este Fisual" con una prueba lógica (1 para ResultTrue y 0 para ResultFalse) que devuelve 1 en mi tabla con un resultado, que muestra solo las filas con Ventas en este intervalo de fechas seleccionado.

Primer enfoque:

Mi primer enfoque es que creé un ParameterTable en mi conjunto de datos (Rango 0-365 que significa los días para su comprensión) con una medida relacionada máx. de este rango.

En mi informe quiero recoger este ParameterTable como un "Menos que o igual a"-Date-Slicer-Filter y quiero insertar aquí un valor 0-365 por ejemplo 5.

Como mi MaxDate es 31.10.2019 y mi parámetro en este Date-Slicer-Filter es 5 (Días), sólo quiero ver solo las filas de esta tabla de 31.10.2019 menos 5 días (viene de[ParameterValueFromDataSet]) (26.10.2019) hasta 31.10.2019 más 5 días (5.11.2019)

Esto no funciona:

Medida:

IF (ABS(DATEDIFF(LASTDATE(Zeit[Date]);FIRSTNONBLANK(all(Zeit[Date]);TRUE());DAY)<='[ParameterValueFromDataSet]);1;0) 

Segundo enfoque:

Mi segundo enfoque es implementar una segunda tabla de fechas en mi conjunto de datos que se filtra desde mi primera DateTable (1-*). Luego voy a mi informe y establezco un Date-Slicer con la tabla de la primera fecha con un rango entre 1.1.19 - 31.12.19 y un segundo Date-Slicer con mi segunda tabla de fechas para seleccionar aquí solo 1 fecha (como 01.04.19).

Aquí, mi "Filtro en este Fisual"-Medida que funciona en una mesa. Parece que:

Medida2 ?

VAR selectedDate = CALCULATE(MAX(SecondDateTable[Date]);ALL(FirstDateTable[Date]))

RETURN

if(AND(MAX(FirstDateTable[Date]) >= SecondDateTable[Date] -[ParameterValueFromDataSet]; MAX(FirstDateTable[Date]) <= SecondDateTable[Date] +[ParameterValueFromDataSet]);1;0)

Ejemplo:

MAX(FirstDateTable[Date] á 31.12.2019

SecondDateTable[Fecha] - 01.04.2019

[ParameterValueFromDataSet] á 5

En el sentido figurado:

Medida2 ?

VAR selectedDate á 01.04.2019

devolución

if(AND(Date> á 01.04.2019 menos 5 días que es el resultado 27.03.2019; Fecha <-01.04.2019 más 5 días que es el resultado 06.04.2019 );1;0)

Aquí quiero mostrar solo estas filas con ventas en mi Tabla, que están entre 27.03 - 06.04 aunque mi Date Calender muestra más Días.

Gracias por tu ayuda.

2 ACCEPTED SOLUTIONS
v-deddai1-msft
Community Support
Community Support

Hola @tim_m15 ,

¿Podría mostrarnos algunos datos de muestra o estructura de tabla? Según su descripción, entiendo que tiene dos segmentaciones de datos para la fecha, otra para ParameterValueFromDataSet. Desea mostrar los valores de un período de tiempo basado en estos dos valores seleccionados Si algo se malinterpreta, por favor dígame.

Le sugiero que utilice la siguiente medida:

Measure =

VAR selecteddate =

    SELECTEDVALUE ( SecondDateTable[Date] )

VAR p =

    SELECTEDVALUE ( ParameterValueFromDataSet[ParameterValueFromDataSet] )

RETURN

    IF (

        MAX ( FirstDateTable[Date] ) >= selecteddate - p

            && MAX ( FirstDateTable[Date] ) <= selecteddate + p,

        1,

        0

    )

He creado algunos datos de prueba, se puede hacer referencia al archivo pbix : https://qiuyunus-my.sharepoint.com/:u:/g/personal/pbipro_qiuyunus_onmicrosoft_com/EaTYxoZJG5VGoKewGV...

Saludos

Dedmon Dai

View solution in original post

Hola Demonio,

gracias por su respuesta y su consejo se ve útil!

Ahora podría resolver este desafío yo mismo. Implemento una segunda tabla de fechas como una segmentación como he descrito y otra segmentación con el Parametertable y escribo la siguiente medida en una función de un filtro visual en una condición true-/false

Measure:

VAR SelectedDate = CALCULATE( MAX( Date[SecondDateTable] ); ALL( Date[FirstDateTable] ) )

RETURN
IF( AND( MAX(Sales[BookingDate] ) >=  SelectedDate - [ParameterTableValue] ; MAX(Sales[BookingDate]) <= SelectedDate + [ParameterTableValue] );
    1;
         0)

A partir de entonces pongo las Ventas y el BookingDate en mi Tabla y filtro el filtro visual con "1" y funciona.

Saludos

Tim

View solution in original post

2 REPLIES 2
v-deddai1-msft
Community Support
Community Support

Hola @tim_m15 ,

¿Podría mostrarnos algunos datos de muestra o estructura de tabla? Según su descripción, entiendo que tiene dos segmentaciones de datos para la fecha, otra para ParameterValueFromDataSet. Desea mostrar los valores de un período de tiempo basado en estos dos valores seleccionados Si algo se malinterpreta, por favor dígame.

Le sugiero que utilice la siguiente medida:

Measure =

VAR selecteddate =

    SELECTEDVALUE ( SecondDateTable[Date] )

VAR p =

    SELECTEDVALUE ( ParameterValueFromDataSet[ParameterValueFromDataSet] )

RETURN

    IF (

        MAX ( FirstDateTable[Date] ) >= selecteddate - p

            && MAX ( FirstDateTable[Date] ) <= selecteddate + p,

        1,

        0

    )

He creado algunos datos de prueba, se puede hacer referencia al archivo pbix : https://qiuyunus-my.sharepoint.com/:u:/g/personal/pbipro_qiuyunus_onmicrosoft_com/EaTYxoZJG5VGoKewGV...

Saludos

Dedmon Dai

Hola Demonio,

gracias por su respuesta y su consejo se ve útil!

Ahora podría resolver este desafío yo mismo. Implemento una segunda tabla de fechas como una segmentación como he descrito y otra segmentación con el Parametertable y escribo la siguiente medida en una función de un filtro visual en una condición true-/false

Measure:

VAR SelectedDate = CALCULATE( MAX( Date[SecondDateTable] ); ALL( Date[FirstDateTable] ) )

RETURN
IF( AND( MAX(Sales[BookingDate] ) >=  SelectedDate - [ParameterTableValue] ; MAX(Sales[BookingDate]) <= SelectedDate + [ParameterTableValue] );
    1;
         0)

A partir de entonces pongo las Ventas y el BookingDate en mi Tabla y filtro el filtro visual con "1" y funciona.

Saludos

Tim

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.