antonioDF
Hola a todos,
Estoy luchando con la función GROUPBY(). Me gustaría agrupar mis datos por ARTÍCULO y hacer un promedio en el volumen. La tabla se filtra mediante una segmentación en la fecha mínima. Parece que la función GROUPBY no está considerando el contexto del filtro ya que el volumen promedio es el mismo con o sin la segmentación de fechas.
Tabla:
ARTÍCULO | FECHA | VOLUMEN
A; 01/01/2013; 50
A; 01/05/2013; 60
A; 01/05/2015; 70
B; 01/01/2013; 50
B; 02/06/2013; 50
B; 03/05/2015; 40
Aquí está el código que estoy usando.
= AGRUPADO (
Tabla;
Tabla[ITEM];
«Volumen medio por artículo»;
PROMEDIOX(
GRUPOACTUAL();
Tabla[Volume]
)
)
Me gustaría que GROUPBY() agrupe la tabla ya filtrada con la segmentación de fechas, por ejemplo Fecha > 01/01/2017.
Debería terminar con esto:
ARTÍCULO | VOLUMEN PROMEDIO
A; 70
B; 40
No es el caso y parece que GROUPBY está ignorando el contexto del filtro.
¿Cuál sería la forma correcta de hacerlo?
Muchísimas gracias.
Alba
En respuesta a antonioDF
Hola @AnthonyDF
En este caso, debe usar solo el nombre de la columna, sin el nombre de la tabla:
SUMX( Grupo_Max; [Max volume] )
Marque la pregunta como resuelta cuando haya terminado y considere dar felicitaciones si las publicaciones son útiles.
Salud
Alba
Hola @AnthonyDF
Parece que estás creando una tabla calculada. Eso es estático y no se verá afectado por el contexto del filtro en absoluto. Intente crear una tabla visual en su lugar, con la medida adecuada
Marque la pregunta como resuelta cuando haya terminado y considere dar felicitaciones si las publicaciones son útiles.
Salud
antonioDF
En respuesta a Alba
Hola AIB, gracias por tu ayuda.
¿Es su función que podría usar en esta medida en lugar de GROUPBY para promediar en el mismo «ARTÍCULO»?
Alba
En respuesta a antonioDF
@AnthonyDF
¿Qué tal tú solo?
1. Coloque la tabla[ITEM] en las filas de una matriz visual
2. Coloca esta sencilla medida en el visual
Measure = AVERAGE( Table[Volume] )
3. Usa una cortadora para la fecha
¿Eso no produciría lo que estás buscando lejos o estoy completamente mal entendido?
Marque la pregunta como resuelta cuando haya terminado y considere dar felicitaciones si las publicaciones son útiles.
Salud
antonioDF
En respuesta a Alba
Ok, entiendo lo que quieres decir ahora, pero necesito una tabla como salida. Estoy haciendo más cálculos basados en esta tabla groupby.
Alba
En respuesta a antonioDF
Puede crear una tabla dentro de una medida que se verá afectada por el contexto del filtro
medida =
Var AuxTable_ = //Tu código anterior (GROUPBY)
REGRESO
// El resto del código usando esa tabla aquí
antonioDF
En respuesta a Alba
Hola @AlB,
Gracias por su respuesta. Estoy tratando de probar su solución y creo que podría hacer el trabajo, pero estoy luchando con la sintaxis.
¿Cómo recuerda una columna creada en la función GROUPBY almacenada en la variable?
VAR
Running_date= MAX(Calendario[date])
VAR
Filtered_table_to_date= FILTRO(Tabla1; Tabla1[date]<=fecha_ejecutable)
VAR
Grupo_Max=
AGRUPAR POR(
Filtered_table_to_date;
Tabla 1[Item];
«Maximo volumen»; MAXX(GRUPO ACTUAL(); Tabla1[Volume]
REGRESO
SUMX(Grupo_Max; Grupo_Max[Max volume])
¿Cómo se debe escribir en la función SUMX?
Rgds,
Alba
En respuesta a antonioDF
Hola @AnthonyDF
En este caso, debe usar solo el nombre de la columna, sin el nombre de la tabla:
SUMX( Grupo_Max; [Max volume] )
Marque la pregunta como resuelta cuando haya terminado y considere dar felicitaciones si las publicaciones son útiles.
Salud
antonioDF
En respuesta a Alba
Muchas gracias, funciona perfectamente!