Forum Discussion
Syndicate_Admin
Administrator
5 years agoDAX 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 ...
- 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] )
Syndicate_Admin
Administrator
5 years agoSí, experimenté con el envoltorio con un cálculo adicional que resuelve el problema del contexto ... pero en cuanto al rendimiento, parece ser solo un cabello mejor que SUMMARIZE().
- Syndicate_Admin5 years ago
Administrator
¿Cómo se relacionan sus tablas? Además, ¿tiene alguna tabla de dimensiones relevante que no haya mencionado?
- Syndicate_Admin5 years ago
Administrator
Detalles del evento (* a 1) Sitios (1 a *) BridgeTbl (* a *)Cuentas >
- Syndicate_Admin5 years ago
Administrator
¿Qué columna relaciona detalles de eventos y sitios?