Forum Discussion

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

Problema con Groupby

Hola

Estoy tratando de escribir a continuación DAX para una medida que no está funcionando para mí según los requisitos-

TestMeasure =
VAR a =
    COUNTROWS (
        FILTER (
            SUMMARIZE (
                'Transaction',
                'Transaction'[Pname],
                'Transaction'[Pcode],
                'Transaction'[Status],
                'Product'[ProductID]
            ),
            'Transaction'[Status] = "Y"
                && 'Transaction'[Code] = 1
        )
    )
VAR b =
    CALCULATE ( DISTINCTCOUNT ( 'Product'[ProductID] ) )
RETURN
     ( a / b ) / 12


El desafío es que las tablas Transacción y Producto no están conectadas directamente entre sí, pero están presentes en el modelo y puede haber alguna conexión indirecta entre estas tablas.


No se supone que cambie la relación que existe en el modelo, necesito corregir el DAX anterior para poder usar 'Product'[ProductID] en mi función GroupBy.

Cada vez que intento escribir un DAX como el anterior, no puedo ver Product[Id] en GroupBY (), solo toma algunas otras tablas relacionadas con la tabla Transaction.

Por favor, aconseje, ¿cómo puedo lograr el DAX anterior, si quiero hacer GroupBy con las columnas que están presentes en dos tablas separadas y no hay ninguna relación directa entre las tablas.

Gracias

  • @Amit_PowerBIPro ,

    TestMeasure =
    VAR a =
    COUNTROWS (

    RESUMEN (FILTRO ('Transacción'[Estado] = "Y"
    && 'Transacción'[Código] = 1
    ),
    'Transacción',
    'Transacción'[Pname],
    'Transacción'[Pcode],
    'Transacción'[Estado],'Producto'[ProductID]

    )

    )
    VAR b =
    CALCULATE ( countx (values('Product'[ProductID]), 'Product'[ProductID] ) )
    devolución
    ( a / b ) / 12

3 Replies

  • @Amit_PowerBIPro ,

    TestMeasure =
    VAR a =
    COUNTROWS (

    RESUMEN (FILTRO ('Transacción'[Estado] = "Y"
    && 'Transacción'[Código] = 1
    ),
    'Transacción',
    'Transacción'[Pname],
    'Transacción'[Pcode],
    'Transacción'[Estado],'Producto'[ProductID]

    )

    )
    VAR b =
    CALCULATE ( countx (values('Product'[ProductID]), 'Product'[ProductID] ) )
    devolución
    ( a / b ) / 12

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Gracias, @amitchandak, no puedo entender el FILTRO () ya que podemos dar una tabla o expresión que da como resultado una tabla a una función de filtro, ¿verdad?

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        No@Amit_PowerBIPro,

        FILTER() devuelve una tabla que representa un subconjunto de otra tabla o expresión. Puede usar FILTER para reducir el número de filas de la tabla con la que está trabajando y utilizar solo datos específicos en los cálculos. FILTER no se utiliza de forma independiente, sino como una función incrustada en otras funciones que requieren una tabla como argumento.

        Espero que ayude.

        Saludos

        Caitlyn Yan