Forum Discussion

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

DAX optimizando SUMMARIZE()

Objetivo: Para cada cuenta, estoy tratando de encontrar el número promedio de días (day_as_timestamp) que cada usuario tiene actividad para sujeto a una restricción de fecha de una tabla relacionada ...
  • Syndicate_Admin's avatar
    5 years ago

    Recomendaría llevar el cálculo mínimo fuera del iterador FILTER si es posible. Tal vez así:

    app_days_per_user =
    VAR User_days =
        ADDCOLUMNS (
            SUMMARIZE ( 'Event Detail', 'Event Detail'[user_id] ),
            "app_days",
                CALCULATE (
                    VAR MinStart =
                        CALCULATE ( MIN ( 'SecDB Sites'[EffSubStartDate] ) )
                    RETURN
                        CALCULATE (
                            DISTINCTCOUNT ( 'Event Detail'[day_as_timestamp] ),
                            FILTER (
                                VALUES ( 'Event Detail'[day_as_timestamp] ),
                                'Event Detail'[day_as_timestamp] > MinStart
                            )
                        )
                )
        )
    RETURN
        AVERAGEX ( User_days, [app_days] )