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

Next up in the FabCon + SQLCon recap series: The roadmap for Microsoft SQL and Maximizing Developer experiences in Fabric. All sessions are available on-demand after the live show. Register now

Reply
Syndicate_Admin
Administrator
Administrator

Aclarar cómo funciona la propagación (adiciones de matriz y fila vacía inesperada)

Esta es una pregunta que he visto muchas veces, pero las respuestas proporcionadas en otras publicaciones no me ayudan a comprender qué es lo que está potencialmente mal.

El propósito del siguiente ejemplo es aclarar cualquier confusión que pueda tener en torno al concepto de propagación, por lo tanto, usemos el siguiente ejemplo.

Supongamos que tengo la siguiente sales_table:

Fecha de venta de productos

03/01/2024A3
03/02/2024A5
03/03/2024A8
03/04/2024A20
03/05/2024A2
03/04/2024A0
03/05/2024A7
03/06/2024A7
03/07/2024A11
03/08/2024A12
03/09/2024A6
03/10/2024A8
03/11/2024A18
03/12/2024A2
03/13/2024A5
03/14/2024A9
03/15/2024A6
03/03/2024B70
03/07/2024B75
03/08/2024B80
03/12/2024C40
03/14/2024C48

Quiero filtrar (obtener en un formato de matriz) las ventas a nivel de producto utilizando otra tabla como capa de filtración y para cualquier valor no coincidente para obtener un valor EN BLANCO. Continuando con el ejemplo anterior, supongamos que, con fines ilustrativos, quiero obtener las ventas a nivel de producto para un conjunto predefinido de fechas (sin una regla en particular):

Aquí está la tabla de filtración proporcionada que estoy usando:

cdate

03/01/2024
03/02/2024
03/03/2024
03/07/2024
03/08/2024
03/09/2024
03/14/2024
03/15/2024
03/20/2024
03/21/2024

Y la relación entre las dos tablas:

PowerBeeTree_1-1710793499138.png

Por lo que entiendo, la relación debe ser de uno a muchos desde el "custom_dates" hasta el "sales_table", ya que el "cdate" único se propagará siguiendo la dirección de la flecha y filtrará las fechas en la columna "date" del sales_table. Sin embargo, la salida agrega una fila adicional en la parte superior que captura las ventas de las fechas de la tabla "custom_dates" que no existían en el "sales_table". Además, algunas de las fechas de los "cdates" que no existen en la columna "date" no se rellenan con valores en blanco para cada uno de los productos.

PowerBeeTree_2-1710793589399.png

Cuando cambio la cardinalidad a muchos:muchos, el resultado está más cerca de lo esperado, ya que la fila vacía desaparece, aunque el total del producto C sigue incluyendo los valores no coincidentes (también las fechas no coincidentes aún no muestran valores vacíos). Sin embargo, creo que esto debería ser incorrecto, ya que especifiqué anteriormente que los "cdates" son valores únicos y, por lo tanto, siempre deben ser el lado "uno" de la cardinalidad.

PowerBeeTree_3-1710794045737.png

Como resultado, juzgo por lo anterior que podría estar perdiendo algo en términos de cómo funciona la filtración y la propagación.

¿Alguien puede ayudar por favor (obviamente soy principiante)?

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

@پاوربیٹری @پاوربیٹری ,

Tal vez puedas probar esto:

En primer lugar, cree una nueva tabla para fusionar estas dos tablas con el dax:

Table =
SELECTCOLUMNS (
    FILTER (
        CROSSJOIN ( 'sales_table', 'custom_dates' ),
        'sales_table'[date] = 'custom_dates'[cdate]
    ),
    "cdate", [cdate],
    "product", [product],
    "sales", [sales]
)

vyilongmsft_0-1710832453912.png

Luego crea una matriz, el resultado es el siguiente:

vyilongmsft_1-1710832478314.png

Saludos

Yilong Zhou

Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Gracias, parece que tendré que fusionar las dos tablas con una de las funciones JOIN que proporciona DAX.

También aquí hay otra solución alternativa:

Después de investigar y experimentar un poco, parece que, de forma predeterminada, Power BI mostrará todas las filas, independientemente del tipo de conexión entre dos tablas. La única forma de eliminar los no deseados es abordarlos a través de los filtros. Al eliminar los espacios en blanco de las filas para el objeto visual específico, obtengo todos los valores que espero en las filas y el total en la parte inferior es correcto.

Esto es en caso de que alguien lo encuentre útil.

Syndicate_Admin
Administrator
Administrator

Descubrí cómo mostrar las filas EN BLANCO para los días que no coinciden. Tuve que activar el siguiente campo.

PowerBeeTree_0-1710800177185.png

Sin embargo, la pregunta principal sigue siendo, ¿por qué se agrega esa fila adicional en la parte superior? ¿No debería la propagación de la cardinalidad 1:Many proporcionar, por definición, una solución para ella?

Helpful resources

Announcements
New to Fabric survey Carousel

New to Fabric Survey

If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.

Join our Fabric User Panel

Join our Fabric User Panel

Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.

March Power BI Update Carousel

Power BI Community Update - March 2026

Check out the March 2026 Power BI update to learn about new features.

Top Kudoed Authors