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

Filtrado de tablas en orden inverso.

Hola equipo,

Espero que a todos les vaya bien.

Tengo dos tablas, digamos tabla1 y tabla2. La relación es algo así como la tabla1 de filtros tabla2 como se muestra a continuación.

Angith_Nair_0-1638185732618.png

Estoy usando la medida como

Medida =
CALCULAR(
SUMA(Tabla1[Valores]),
Filtro(Cuadro2,Tabla2[País] = "India")
)

Ahora, según tengo entendido, la tabla2 no filtrará la tabla1 ya que la dirección del filtro es de la tabla 1 a la tabla2. Pero desafortunadamente, estoy obteniendo la suma de valores como 10 para la India, lo que significa que la tabla 2 también está filtrando la tabla1. ¿Cómo es esto posible?

Gracias de antemano por sus esfuerzos...

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

@Angith_Nair ,

Según la descripción oficial.

Para las relaciones de uno a muchos, la dirección del filtro cruzado es siempre desde el lado "uno" y, opcionalmente, desde el lado "muchos" (bidireccional). Para las relaciones uno a uno, la dirección del filtro cruzado es siempre de ambas tablas. Por último, para las relaciones de muchos a muchos, la dirección del filtro cruzado puede ser desde una de las tablas o desde ambas tablas. Observe que cuando el tipo de cardinalidad incluye un lado "uno", los filtros siempre se propagarán desde ese lado.

Y para las relaciones uno a muchos, la expansión de la tabla se lleva a cabo de los lados "muchos" a "uno" mediante el uso de la semántica LEFT OUTER JOIN. Cuando no existe un valor coincidente del lado "muchos" al "uno", se agrega una fila virtual en blanco a la tabla auxiliar "uno".

La expansión de la tabla también se produce para las relaciones de grupo de origen uno a uno, pero mediante el uso de la semántica FULL OUTER JOIN. Garantiza que se agreguen filas virtuales en blanco a cada lado, cuando sea necesario.

Las filas virtuales en blanco son efectivamente Miembros desconocidos. Los miembros desconocidos representan violaciones de integridad referencial donde el valor de lado "muchos" no tiene el valor de "un" lado correspondiente. Idealmente, estos espacios en blanco no deberían existir, y se pueden eliminar limpiando o reparando los datos de origen.

A continuación se muestra cómo funciona la expansión de la tabla con un ejemplo animado:

animation-expanded-table.gif

Y su caso, si de acuerdo con la descripción oficial, si su dax en sql, al igual que:

select *from tableA A 

                     left join tableB B  on A.country=B.country 

                                     where B.Country="India"

¿Respondí a su pregunta? ¡Marca mi post como solución!


Saludos

Lucien

View solution in original post

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Hola

No conozco el contenido de la Tabla2, pero parece que la Tabla 2 (como la Tabla 1) es una tabla de hechos. Si mi suposición es correcta, entonces debería haber una tercera y cuarta tabla llamada Productos y País. Estas 2 nuevas tablas deben estar relacionadas con la Tabla1 y la Tabla 2 (Muchas a Una y Una Sola). A todas sus imágenes, debe arrastrar Producto y País desde estas 2 nuevas tablas.

Espero que esto ayude.

Syndicate_Admin
Administrator
Administrator

@Angith_Nair ,

Según la descripción oficial.

Para las relaciones de uno a muchos, la dirección del filtro cruzado es siempre desde el lado "uno" y, opcionalmente, desde el lado "muchos" (bidireccional). Para las relaciones uno a uno, la dirección del filtro cruzado es siempre de ambas tablas. Por último, para las relaciones de muchos a muchos, la dirección del filtro cruzado puede ser desde una de las tablas o desde ambas tablas. Observe que cuando el tipo de cardinalidad incluye un lado "uno", los filtros siempre se propagarán desde ese lado.

Y para las relaciones uno a muchos, la expansión de la tabla se lleva a cabo de los lados "muchos" a "uno" mediante el uso de la semántica LEFT OUTER JOIN. Cuando no existe un valor coincidente del lado "muchos" al "uno", se agrega una fila virtual en blanco a la tabla auxiliar "uno".

La expansión de la tabla también se produce para las relaciones de grupo de origen uno a uno, pero mediante el uso de la semántica FULL OUTER JOIN. Garantiza que se agreguen filas virtuales en blanco a cada lado, cuando sea necesario.

Las filas virtuales en blanco son efectivamente Miembros desconocidos. Los miembros desconocidos representan violaciones de integridad referencial donde el valor de lado "muchos" no tiene el valor de "un" lado correspondiente. Idealmente, estos espacios en blanco no deberían existir, y se pueden eliminar limpiando o reparando los datos de origen.

A continuación se muestra cómo funciona la expansión de la tabla con un ejemplo animado:

animation-expanded-table.gif

Y su caso, si de acuerdo con la descripción oficial, si su dax en sql, al igual que:

select *from tableA A 

                     left join tableB B  on A.country=B.country 

                                     where B.Country="India"

¿Respondí a su pregunta? ¡Marca mi post como solución!


Saludos

Lucien

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.