Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
4 years ago
Solved

Countrows de otra tabla

Hola

He estado trabajando en este cálculo durante un tiempo y no pude obtener los resultados correctos. Por favor, ayuda.

Cuadro 1

Archivo de notificación
B28346 F12
E46284 B05
B28346 F12
B28346 D98
FG4782 B05
B29390 ---
Heke20 --

Cuadro 2

Notificación
B28346
E46284
B28346
B28346
FG4782

Estas dos tablas son relaciones de muchos a muchos. Necesito crear un cálculo en la Tabla 2.
Para encontrar el recuento de archivos por notificación, si el archivo es nulo, el resultado debe ser 0.

He intentado:
1) CALCULATE(COUNTROWS(DISTINCT(table1[FILE])),ALLEXCEPT('table1','table1'[notificación]),FILTER(Pictures,Pictures[FILE] <> ""))
2) CALCULAR(SUMA(tabla1[count_of_id]),ALLEXCEPT(tabla1,tabla1[NOTIFication]))

Gracias por su ayuda.

  • @Kylie1920 ,

    Estos son los pasos que puede seguir:

    1. Cree una columna calculada en la Tabla 1.

    COUNT = CALCULATE(DISTINCTCOUNT('Table1'[File]),FILTER(ALL(Table1),'Table1'[Notification]=EARLIER('Table1'[Notification])))

    vyangliumsft_0-1649641970393.png

    2. Cree una columna calculada en la Tabla 2.

    Column =
    IF(
        'Table2'[Notification] IN SELECTCOLUMNS('Table1',"1",'Table1'[Notification]),
    CALCULATE(MAX('Table1'[COUNT]),FILTER(ALL(Table1),'Table1'[Notification]='Table2'[Notification]))
       ,0)

    3. Resultado:

    vyangliumsft_1-1649641970393.png

    Haga clic aquí para ver el archivo pbix

    Saludos

    Liu Yang

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

3 Replies

  • @Kylie1920 ,

    Estos son los pasos que puede seguir:

    1. Cree una columna calculada en la Tabla 1.

    COUNT = CALCULATE(DISTINCTCOUNT('Table1'[File]),FILTER(ALL(Table1),'Table1'[Notification]=EARLIER('Table1'[Notification])))

    vyangliumsft_0-1649641970393.png

    2. Cree una columna calculada en la Tabla 2.

    Column =
    IF(
        'Table2'[Notification] IN SELECTCOLUMNS('Table1',"1",'Table1'[Notification]),
    CALCULATE(MAX('Table1'[COUNT]),FILTER(ALL(Table1),'Table1'[Notification]='Table2'[Notification]))
       ,0)

    3. Resultado:

    vyangliumsft_1-1649641970393.png

    Haga clic aquí para ver el archivo pbix

    Saludos

    Liu Yang

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

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Hola Liu,

      Pude crear el "conteo" y la "columna" para las tablas 1 y 2. Sin embargo, el problema se produce cuando la tabla 2 tiene más de un registro de notificaciones. Los resultados del cálculo tienden a multiplicarse por la línea de registros.

      Por ejemplo:

      Tabla 1:

      Archivo de notificación "contar"

      B2834 83746 1

      Tabla 2:

      Notificación "columna"

      B2834 6

      ¿Cómo evito que la "columna" se multiplique? Los datos del cuadro 2 contienen 6 registros de notificaciones B2834.

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        Por favor, ignore la respuesta anterior. Me acabo de dar cuenta de que tenía "suma" como resumen.