Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
dimes
Helper I
Helper I

El filtro de segmentación muestra valores de tabla distintos

Hola

siguiente escenario... Tengo una lista de proyectos con un campo de fecha "último cambio":

image.png

entonces he creado una tabla de fechas calculada:
image.png

Ahora quiero usar esta fecha como segmentación de datos y solo mostrar la última entrada de proyecto (solo una línea) antes de la fecha seleccionada. Por ejemplo, si selecciono 01.05.2020 sólo quiero ver la línea marcada en amarillo:

image.png

¿Cómo puedo lograrlo?

11 REPLIES 11
amitchandak
Super User
Super User

@dimes, pruebe una medida como

Medida ?
Var _max ámaxx(allselected(Table),Table[Date])
devolución
calculate(max(Table[Score]), filter(all(Table),Table[date]<-_max && Table[date] - _max) álastnonblankvalue(Table[project_id],max(Table[Date])))

Añádalo a visual

@amitchandak

Recibo este error:

image.png

Lo siento, no soy un experto de DAX....

Greg_Deckler
Super User
Super User

Creo que necesitará lo que yo llamo un selector complejo para esto. Se basa en mi Selector Inverso que se encuentra aquí: https://community.powerbi.com/t5/Quick-Measures-Gallery/Inverse-Selector/m-p/648290.

He adjuntado un ejemplo. Básicamente en su caso, usted tomaría la fecha como:

Fecha más reciente: MAXX(FILTER(ALLEXCEPT('Table',[Project ID]),[Last changed] < MAX('Calendar'[Date]),[Last changed])

Por lo tanto, leyendo eso en inglés, obtenga toda su tabla excepto respetar el filtro en el IDENTIFICADOR del proyecto. Ahora filtre esa tabla a donde la columna Last changed es menor que el valor seleccionado para la fecha del calendario. Obtenga el valor máximo de Last changed, que es la fecha más reciente que es menor que la fecha seleccionada.

Compararía esta medida con el valor actual de la línea de fecha y si son iguales a retorno 1, en caso contrario 0. A continuación, utilice esto como filtro.


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
Mastering Power BI 2nd Edition

DAX is easy, CALCULATE makes DAX hard...
nandukrishnavs
Super User
Super User

@dimes

Crear una medida

FilterMeasure = 
var _selectedDate= SELECTEDVALUE('Date'[Date])
var _selectedLastchange= SELECTEDVALUE(Projects[Last change])
var _max= MAXX(FILTER(ALL(Projects[Last change]),Projects[Last change]<_selectedDate),Projects[Last change])
var _result= IF(_selectedLastchange=_max,"show","hide")
return IF(ISBLANK(_selectedDate),"show",_result)

A continuación, aplique esta medida como un filtro de nivel visual.

show.JPG

1.JPG

Puede eliminar esta medida del campo de valor, sólo tiene que mantenerla en el campo de filtro.



¿Respondí a tu pregunta? ¡Marca mi puesto como solución!
Apreciar con un kudos
🙂


Regards,
Nandu Krishna

@nandukrishnavs ¡Va en la dirección correcta!

Si selecciono, por ejemplo, 08.05.2020 funciona:

image.png

si selecciono un dato entre, por ejemplo, 01.05.2020, esperaría la segunda entrada...

image.png

aquí está mi cálculo de medida:

Snapshot_filter 2 = 
var _selectedDate= SELECTEDVALUE('Date'[Date])
var _selectedLastchange= SELECTEDVALUE(project[Date_Of_Last_Change])
var _max= MAXX(FILTER(ALL(project[Date_Of_Last_Change]);project[Date_Of_Last_Change]<_selectedDate);project[Date_Of_Last_Change])
var _result= IF(_selectedLastchange=_max;"show";"hide")
return IF(ISBLANK(_selectedDate);"show";_result)

@dimes

Prueba esto

Snapshot_filter 2 = 
var _selectedDate= MIN('Date'[Date])
var _selectedLastchange= SELECTEDVALUE(project[Date_Of_Last_Change])
var _max= MAXX(FILTER(ALL(project[Date_Of_Last_Change]);project[Date_Of_Last_Change]<_selectedDate);project[Date_Of_Last_Change])
var _result= IF(_selectedLastchange=_max;"show";"hide")
return _result



¿Respondí a tu pregunta? ¡Marca mi puesto como solución!
Apreciar con un kudos
🙂


Regards,
Nandu Krishna

@nandukrishnavs

Ahora es al revés 🙂

28.04.2020, 29.04.2020, 08.05.2020 es trabajo, pero 01.05.2020 o 30.04.2020 no funciona.

image.png

Hice un pequeño cambio en el calccualtion (... [Date_Of_Last_Change]<o_selectedDate...) 😞

Snapshot_filter 2 = 
var _selectedDate= MIN('Date'[Date])
var _selectedLastchange= SELECTEDVALUE(project[Date_Of_Last_Change])
var _max= MAXX(FILTER(ALL(project[Date_Of_Last_Change]);project[Date_Of_Last_Change]<=_selectedDate);project[Date_Of_Last_Change])
var _result= IF(_selectedLastchange=_max;"show";"hide")
return IF(ISBLANK(_selectedDate);"show";_result)

@dimes ¿Puede compartir la tabla de ejemplo a la que se refiere?


Regards,
Nandu Krishna

Hola

acaba de hacer algunas pruebas adicionales y está funcionando! No sé qué/por qué no funcionó ayer... ¡Muchas gracias!

@nandukrishnavs si incluyo la medida en otro gráfico de columnas apiladas y filtro (panel de filtro) en esta medida (sólo mostrar) que no funciona... Veo todavía el valor total... ¿Sabes por qué?

@dimes Intente cambiar ese objeto visual en la tabla y, a continuación, agregue la medida también. A continuación, devuelva la variable una por una y vea cuál está devolviendo el valor incorrecto.


Regards,
Nandu Krishna

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors