Forum Discussion
Ayuda de Max Count
Tengo datos que muestran la ubicación, el turno y el día de la semana, y el ID del cliente.
Lo que estoy tratando de lograr es encontrar el número máximo de clientes en cualquier día y cualquier turno para determinar el límite máximo de clientes en una ubicación.
Así que puedo decir que en cualquier turno y en cualquier día esta ubicación puede albergar x cantidad de clientes. En el ejemplo siguiente, el máximo sería 3 en la ubicación A. Si puedo hacer esto en una Medida, eso sería preferible. Cualquier ayuda es muy apreciada.
Mis datos se ven a continuación:
| Ubicación | Turno | Día laborable | ID de cliente | Máx. (Salida deseada) |
| A | 1 | Lunes | 1 | 3 |
| A | 1 | Lunes | 2 | 3 |
| A | 1 | Lunes | 3 | 3 |
| A | 1 | Martes | 4 | 3 |
| A | 2 | Lunes | 5 | 3 |
| A | 2 | Martes | 6 | 3 |
| A | 2 | Martes | 7 | 3 |
Esta versión debería ser más simple y eficiente:
MaxCustomers = MAXX ( SUMMARIZE ( CALCULATETABLE ( Data, ALLEXCEPT ( Data, Data[Location] ) ), Data[Location], Data[Shift], Data[Weekday], "@Count", COUNT ( Data[Customer ID] ) ), [@Count] )Esto debería funcionar como una medida o una columna calculada.
3 Replies
- Syndicate_Admin
Administrator
Hola
Por favor, compruebe la imagen de abajo y el archivo pbix adjunto.
Salida máxima deseada: =
VAR add_customerscount =ADDCOLUMNS (TODOS ( Datos ),"@customerscount",CALCULAR (VAR currentlocation =MAX ( Datos[Ubicación] )VAR currentshift =MAX ( Datos[Shift] )VAR currentweekday =MAX ( Datos [Día de la semana] )VAR newtable =FILTRO (TODOS ( Datos ),Datos[Ubicación] = ubicación actual&& Data[Shift] = currentshift&& Data[Weekday] = currentweekday)DEVOLUCIÓNCOUNTROWS ( newtable )))VAR findmax_customerscount =GROUPBY (add_customerscount,Datos[Ubicación],"@maxcustomerscount", MAXX ( CURRENTGROUP (), [@customerscount] ))DEVOLUCIÓNMAXX ( findmax_customerscount, [@maxcustomerscount] )- Syndicate_Admin
Administrator
Esto parece que funciona, pero mi tabla tiene ~ 500k filas. No parece óptimo para esto. ¿Algún otro pensamiento o sugerencia?
- Syndicate_Admin
Administrator
Esta versión debería ser más simple y eficiente:
MaxCustomers = MAXX ( SUMMARIZE ( CALCULATETABLE ( Data, ALLEXCEPT ( Data, Data[Location] ) ), Data[Location], Data[Shift], Data[Weekday], "@Count", COUNT ( Data[Customer ID] ) ), [@Count] )Esto debería funcionar como una medida o una columna calculada.