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
Syndicate_Admin
Administrator
Administrator

Obtenga valores sin filtrar de la tabla One Side of relationship mientras mantiene el filtro de fin de semana.

hola

Estoy luchando mucho para que esto funcione. Tengo dos mesas con una a muchas relaciones. Quiero trazar una línea en el gráfico combinado usando SUM de una columna del lado único de la tabla en la relación. La dirección del filtro es de Uno a Muchos. Cuando agrego la columna de una tabla de un lado, obteré la SUMA total trazada a través de X-Axis. Lo que quiero es que la línea muestre los valores acumulados (SUM) para cada fecha de viernes de finalización de semana (por ejemplo, 29 de la tabla disponibilidad para cada semana que termina independientemente de los datos). Si utilizo filtrado bidireccional entonces creo que me estoy acercando, pero la línea entonces muestra diferentes figuras como 26, 24., 29, etc. He adjuntado los datos de muestra y PBIX a continuación. En el informe, he añadido dos páginas; una página con relación unidireccional predeterminada y la segunda con relación bidireccional establecida a través de la función CROSSFILTER. He tratado de mostrar lo que está sucediendo en la captura de pantalla del gráfico a continuación. La línea constante amarilla es la salida que quiero mostrar. La línea de poda es cómo se está trazando ahora si uso filtrado bidireccional.

kevindmonte_0-1620725929555.png




Agradecería si alguien puede aconsejar el camino. (Actualización: He adjuntado los archivos de ejemplo en la publicación a continuación:)

2 ACCEPTED SOLUTIONS

No @kevindmonte,

Cree una medida como se indica a continuación:

Measure = 
IF(ISFILTERED('Availbility'[Resource Name]),CALCULATE(SUM('Availbility'[Available FTE per Week]),FILTER(ALL(Availbility),'Availbility'[Resource Name]=SELECTEDVALUE(Availbility[Resource Name])&&'Availbility'[W.E.Fri]=MAX('Availbility'[W.E.Fri]))),CALCULATE(SUM('Availbility'[Available FTE per Week]),FILTER(ALL(Availbility),'Availbility'[W.E.Fri]=MAX('Availbility'[W.E.Fri]))))

Y verás:

v-kelly-msft_0-1620954391628.png

Para el archivo .pbix relacionado, pls ver adjunto.

Saludos
Kelly

¿Respondí a tu pregunta? ¡Marca mi puesto como solución!

View solution in original post

No @kevindmonte,

Debe modificar parte de su medida:

CALCULATE (
SUM ( 'Availbility'[Available FTE per Week] ),
FILTER (
ALL ( Availbility ),
'Availbility'[W.E.Fri] = MAX ( 'Availbility'[W.E.Fri] )
)
)

como se muestra a continuación:

CALCULATE (
SUM ( 'Availbility'[Available FTE per Week] ),
FILTER (
ALLSELECTED ( Availbility ),
'Availbility'[W.E.Fri] = MAX ( 'Availbility'[W.E.Fri] )
)
)

Si utiliza "All", significa eliminar todos los filtros en el campo, pero "Allselected "es lo contrario, reflejará el filtro que hizo en el campo.

Saludos
Kelly

¿Respondí a tu pregunta? ¡Marca mi puesto como solución!

View solution in original post

9 REPLIES 9
Syndicate_Admin
Administrator
Administrator

disculpas, no hay suerte con el formato del código en mi respuesta anterior, pero aquí está la captura de pantalla en el código final.

kevindmonte_0-1620994576944.png

No @kevindmonte,

Debe modificar parte de su medida:

CALCULATE (
SUM ( 'Availbility'[Available FTE per Week] ),
FILTER (
ALL ( Availbility ),
'Availbility'[W.E.Fri] = MAX ( 'Availbility'[W.E.Fri] )
)
)

como se muestra a continuación:

CALCULATE (
SUM ( 'Availbility'[Available FTE per Week] ),
FILTER (
ALLSELECTED ( Availbility ),
'Availbility'[W.E.Fri] = MAX ( 'Availbility'[W.E.Fri] )
)
)

Si utiliza "All", significa eliminar todos los filtros en el campo, pero "Allselected "es lo contrario, reflejará el filtro que hizo en el campo.

Saludos
Kelly

¿Respondí a tu pregunta? ¡Marca mi puesto como solución!

Syndicate_Admin
Administrator
Administrator

¿Puede alguien aconsejar qué opción de formato utilizan al agregar código DAX a la pregunta. Probé diferentes formatos, pero al publicar obteré este error "Su publicación se ha cambiado porque html no válido se encontró en el cuerpo del mensaje. Se ha eliminado el HTML no válido. Revise el mensaje y envíe el mensaje cuando esté satisfecho." . No me permitirá presentar los cambios en absoluto.

No @kevindmonte,

Haga clic en el botón de abajo para borrar el formato existente:

v-kelly-msft_0-1620987358874.png

Actualice la página y vuelva a pegar el código.

Saludos
Kelly

¿Respondí a tu pregunta? ¡Marca mi puesto como solución!

Syndicate_Admin
Administrator
Administrator

No @kevindmonte,

¿Puede aconsejarme la lógica de cálculo para obtener el resultado de 29?


Saludos
Kelly

¿Respondí a tu pregunta? ¡Marca mi puesto como solución!

Hola @v-kelly-msft por lo que básicamente 29 en este caso es el recuento total de todas las personas disponibles en una semana determinada terminando el viernes desde la tabla dimension (disponibilidad). Me han dicho que ese valor será igual en todas las semanas y por lo tanto quieren trazar ese valor como una línea a través del Eje Y (repartido durante la semana que termina los viernes que se muestran en el eje X). Cuando no se selecciona ningún nombre de recurso en la segmentación por sectores, la línea mostrará 29. Cuando se seleccionan uno o varios nombres de recursos, debe mostrar la suma de la disponibilidad de estos recursos seleccionados. ¿Espero que esto tenga sentido? (Creo que logré obtener esta última parte, pero cuando no hay ningún recurso seleccionado, la línea va zig-zag posiblemente debido al filtrado cruzado).

No @kevindmonte,

Cree una medida como se indica a continuación:

Measure = 
IF(ISFILTERED('Availbility'[Resource Name]),CALCULATE(SUM('Availbility'[Available FTE per Week]),FILTER(ALL(Availbility),'Availbility'[Resource Name]=SELECTEDVALUE(Availbility[Resource Name])&&'Availbility'[W.E.Fri]=MAX('Availbility'[W.E.Fri]))),CALCULATE(SUM('Availbility'[Available FTE per Week]),FILTER(ALL(Availbility),'Availbility'[W.E.Fri]=MAX('Availbility'[W.E.Fri]))))

Y verás:

v-kelly-msft_0-1620954391628.png

Para el archivo .pbix relacionado, pls ver adjunto.

Saludos
Kelly

¿Respondí a tu pregunta? ¡Marca mi puesto como solución!

Hola @v-kelly-msft que hizo el truco. Lo único que tenía que hacer era que la medida seguía devolviendo 29 cuando agregué la segmentación de nombres de recursos y seleccioné algunos recursos. Para controlarlo cambié un poco el código para controlar los valores seleccionados y si había más que en los valores seleccionados. A continuación se muestra el código modificado. Muchas gracias por su ayuda en esto. Esto ha sido un dolor para mí para conseguir mi cabeza alrededor de él.


Kelly Medida 2 =
IF (
ISFILTERED ( 'Disponibilidad'[Nombre del recurso]),
IF (
Modifiqué para agregar la condición siguiente para comprobar si el usuario ha seleccionado uno o varios valores de recurso y, a continuación, devolver los valores de disponibilidad en consecuencia.
HASONEVALUE ( disponibilidad[Nombre del recurso] ),
CALCULAR (
SUM ( 'Disponibilidad'[FTE disponible por semana] ),
FILTRO (
ALLSELECTED (Disponibilidad),
'Disponibilidad'[Nombre del recurso] = SELECTEDVALUE ( Disponibilidad[Nombre del recurso] )
& 'Disponibilidad'[W.E.Fri] = MAX ( 'Disponibilidad'[W.E.Fri] )
)
),
CALCULAR (
SUM ( 'Disponibilidad'[FTE disponible por semana] ),
FILTRO (
ALLSELECTED (Disponibilidad),
'Disponibilidad'[Nombre del recurso]
IN VALUES ( Disponibilidad[Nombre del recurso] )
& 'Disponibilidad'[W.E.Fri] = MAX ( 'Disponibilidad'[W.E.Fri] )
)
)
), --Volver al código de Kelly.
CALCULAR (
SUM ( 'Disponibilidad'[FTE disponible por semana] ),
FILTRO (
ALL ( disponibilidad ),
«Disponibilidad»[W.E.Fri] = MAX ( «Disponibilidad»[W.E.Fri] )
)
)
)

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