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
gbrunnerbi
Advocate I
Advocate I

Problema de contexto de función /filtro DE DAX

Hola

Necesito ayuda con contextos de filtro y fórmulas dax.

Mi configuración es la siguiente:

Tengo un EndQuarter - ENDDATE - selector (slicer) (por ejemplo, 9/30/2019) - que filtra todos los valores de mi tabla de datos - esto es seleccionado por el usuario en el lienzo (ver Captura de pantalla 1 o 2)


Quiero resumir todos los valores de una determinada columna desde una fecha de inicio determinada - STARTDATE - que almaceno en una medida, por ejemplo, 10/1/2018 esto es dinámico) hasta la fecha seleccionada en el lienzo (por la segmentación)

es decir, la suma desde, por ejemplo, 10/1/2018 hasta lo que el usuario selecciona, pero digamos 9/30/2019

Esta es mi medida:

ResultMeasure ?
Resultado del VAR ?
CALCULAR (
SUM ( 'tabla'[COL10] ),
KEEPFILTERS ( 'table'[DDIM01GRP28] á "1" ),
KEEPFILTERS (NO 'tabla'[DDIM01GRP23]
EN EL
"211111",
"211112",
"211113",
"211114",
"211117",
"211118",
"211119",
"211120",
"211121",
"211122",
"211123",
"211131",
"211132",
"211133",
"211134"
} ),
KEEPFILTERS ( NO 'table'[DDIM01GRP25] IN ? "2112", "2113" ) ),
KEEPFILTERS ( NO 'table'[DDIM01GRP26] IN ? "212", "213", "221", "222" ) ),
KEEPFILTERS ( 'table'[DDIM01GRP27] IN ? "11", "12", "21" ) ),
DATESBETWEEN ( Dates[Date], [FirstDateMeasure], [LastDateMeasure] )
)
devolución
Resultado

Hace todo lo que se imagina, obtengo la cantidad correcta.

Sin embargo, lo que lucho es mostrar esta cantidad a lo largo del tiempo en un gráfico que termina en la fecha seleccionada en la segmentación de datos.

Cuando tengo la obtención de detalles de la segmentación de datos (EndofQuarter) en el gráfico - sólo me muestra los 3 meses en el trimestre porque filtra el trimestre que seleccioné (con los valores correctos) - Traté de salir de esto con REMOVEFILTERS o TODO, pero no funcionó ya que las sumas terminarían mal.

Captura de pantalla1:

screen1.PNGCaptura de pantalla 1 - filtrar en

Cuando desactivo la interacción en la segmentación de datos me da todos los datos, también correctamente calculados, pero no termina en endofQuarter como seleccionado (9/30/2019) sino en la última fecha del conjunto de datos (en 2020 - lo que tiene sentido, por supuesto) - y no puedo utilizar el valor de la segmentación EndofQuarter como seleccionado ya que no existe dentro del contexto del filtro?

Captura de pantalla2:

screen2.pngCaptura de pantalla 2 - filtrar

Quiero terminar con un objeto visual como este (termina en el trimestre /fecha que seleccioné) pero todavía calcula la cantidad correctamente - sumando todos los valores desde una fecha determinada hasta la fecha en el contexto del filtro (cada mes básicamente)

Captura de pantalla3

screen3.png

¿Alguna idea?

5 REPLIES 5
gbrunnerbi
Advocate I
Advocate I

Sólo pude resolver esto:

-He creado una nueva tabla (básicamente duplicando una de mis consultas)

-Añadido una columna calculando los valores que necesito (tienes que adaptarla ya que no es una medida, por supuesto, como eliminar agregadores y reemplazarlos por las columnas reales de tu tabla)

Ahora he creado una medida que debería mostrarse en mi objeto visual.

por ejemplo, CALCULATE ( SUM ('tabla'[Valor))

Usé REMOVEFILTERS para deshacerme de la selección de la segmentación de datos (esta selección me obligó a permanecer dentro del trimestre que el usuario seleccionó)

Y ahora podría usar DATESBETWEEN('Dates'[Date] , FIRSTDATE('Table'[Date]) , LASTDATE('Dates'[Date] )

para obtener realmente el período de tiempo que quería mirar, en mi visual.

Ahora, cualquier trimestre que el usuario seleccione será el último punto de datos en mi objeto visual.

Si alguien tiene un problema similar y mi solución no está clara, por favor pm me

v-zhenbw-msft
Community Support
Community Support

Hola @gbrunnerbi ,

Podemos usar los siguientes pasos para cumplir con sus requisitos.

1. La fecha del gráfico de líneas en función de la fecha de la tabla, pero la fecha de segmentación de datos basada en la fecha de la tabla de fechas.

No hay ninguna relación entre la tabla y la tabla de fechas.

Dax 1.jpg

2. Luego podemos crear una medida para obtener el valor del gráfico de líneas antes de Fin de mes. El resultado así,

Measure = IF(SELECTEDVALUE(Dates[Date]),CALCULATE(SUM('Table'[result]),FILTER('Table','Table'[date]<=SELECTEDVALUE(Dates[Date]))),CALCULATE(SUM('Table'[result])))

Dax 2.jpg

Dax 3.jpg

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

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

Cargue sus archivos en OneDrive Para la Empresa y comparta el enlace aquí. Por favor, no contenga ninguna Información Confidencial o Datos Reales en su respuesta.

BTW, pbix como adjunto.

Saludos

Equipo de Apoyo comunitario _ zhenbw

Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Necesito mantener los filtros en su lugar (están filtrando mi tabla de datos)

y

No puedo usar una tabla desconectada, sino que tengo que resolverla con una fórmula DAX.

No es tan sencillo...

amitchandak
Super User
Super User

@gbrunnerbi , que utilizan el filtro de fecha de la fecha en la que está tratando de eliminar, eso es lo que entendí.

Intente filtrar como

filter(all(Date), Dates[Date]>'[FirstDateMeasure] && Dates[Date]<' [LastDateMeasure] )

O use otra fecha para filtrar

Compruebe https://www.youtube.com/watch?v=duMSovyosXE

Por favor, vea/me gusta/comparte mi seminario web sobre Time Intelligence: https://community.powerbi.com/t5/Webinars-and-Video-Gallery/PowerBI-Time-Intelligence-Calendar-WTD-Y...
Mis consejos de Youtube en: https://www.youtube.com/playlist?list=PLPaNVDMhUXGYrm5rm6ME6rjzKGSvT9Jmy

Aprecia tus Felicitaciones.

Gracias, pero si uso su fórmula obtengo las cantidades equivocadas, no es resumir los valores correctamente

Creo que hay una diferencia inherente entre FILTER y DATESBETWEEN

Estoy intentando algo como usar ALL(DATE) como la tabla para mi función DATESBETWEEN que no funciona aunque creo?

Quiero salir del contexto de filtro dentro de la medida (como con removefilters) y luego seguir siendo capaz de usar DATESBETWEEN, pero eso no es posible hasta ahora?

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.