Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
Buenos días a todos,
Estoy trabajando junto con una tabla de transacciones en la que tengo las ventas por cliente como abajo
Cliente | Fecha | Producto | Suma |
Cliente 1 | 1/2/2010 | Producto 1 | 10 |
Cliente 1 | 1/3/2010 | Producto 2 | 30 |
Cliente 1 | 1/4/2010 | Producto 2 | 30 |
Cliente 2 | 1/5/2010 | Producto 2 | 30 |
Cliente 2 | 1/6/2010 | Producto 2 | 30 |
Cliente 2 | 1/7/2010 | Producto 2 | 30 |
Cliente 2 | 1/8/2010 | Producto 2 | 30 |
Cliente 2 | 1/9/2010 | Producto 2 | 30 |
Cliente 2 | 1/10/2010 | Producto 1 | 10 |
Cliente 3 | 1/11/2010 | Producto 2 | 30 |
Cliente 3 | 1/12/2010 | Producto 2 | 30 |
Cliente 3 | 1/13/2010 | Producto 2 | 30 |
Cliente 3 | 1/14/2010 | Producto 2 | 30 |
Cliente 3 | 1/15/2010 | Producto 3 | 10 |
Quiero calcular la compra total promedio por parte de los clientes en 2010.
cuando no filtro por producto esto es muy sencillo.
El problema que tengo es cuando filtro por producto.
Si filtro Producto - Producto 1, me gustaría el gasto promedio en el año de mis clientes que compraron el Producto 1
Hasta ahora estoy teniendo un gasto promedio de 10 igual al producto 1 aunque debe 115.
¡Gracias por tu ayuda!
Salud
Solved! Go to Solution.
Hola, @Vincem35
Puede crear una tabla calculada y modificar la medida como se muestra a continuación. El archivo pbix se adjunta al final.
Tabla calculada:
Product = DISTINCT('Table'[Product])
Medida:
Avg =
var tab =
SUMMARIZE(
FILTER(
ALL('Table'),
YEAR([Date])=2010
),
'Table'[Client],
"Flag",
COUNTROWS(
FILTER(
'Table',
[Product] in DISTINCT('Product'[Product])
)
),
"Result",
SUM('Table'[Sum])
)
return
AVERAGEX(
FILTER(
tab,
[Flag]>0
),
[Result]
)
A continuación, utilice la columna 'Producto' de la tabla 'Producto' para filtrar el resultado.
Saludos
Allan
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola, @Vincem35
Puede intentar reemplazar 'ALL('Table')' por 'ALLSELECTED('Table')' para ver si funciona.
Saludos
Allan
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola, @Vincem35
Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.
Mesa:
Puede crear una medida como se indica a continuación.
Avg =
var tab =
SUMMARIZE(
FILTER(
ALLSELECTED('Table'),
YEAR([Date])=2010
),
'Table'[Client],
"Result",
SUM('Table'[Sum])
)
return
AVERAGEX(
tab,
[Result]
)
Resultado:
Saludos
Allan
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Gracias Allan por tu ayuda
Desafortunadamente, esto no es exactamente lo que estoy buscando
Por ejemplo, una vez que selecciono Producto 1 debería ser capaz de obtener el gasto promedio total para los clientes que compraron el Producto 1: en ese caso la cantidad promedio para los Clientes 1 y 2 : 115$
No debería obtener sólo la cantidad gastada para el producto 1, sino para todos los productos.
Espero que aclare
Muchas gracias
Hola, @Vincem35
Puede crear una tabla calculada y modificar la medida como se muestra a continuación. El archivo pbix se adjunta al final.
Tabla calculada:
Product = DISTINCT('Table'[Product])
Medida:
Avg =
var tab =
SUMMARIZE(
FILTER(
ALL('Table'),
YEAR([Date])=2010
),
'Table'[Client],
"Flag",
COUNTROWS(
FILTER(
'Table',
[Product] in DISTINCT('Product'[Product])
)
),
"Result",
SUM('Table'[Sum])
)
return
AVERAGEX(
FILTER(
tab,
[Flag]>0
),
[Result]
)
A continuación, utilice la columna 'Producto' de la tabla 'Producto' para filtrar el resultado.
Saludos
Allan
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Thanks a lot Allan,
it works well on my full transaction tables but what would be your advice if i would like to passs some filters such as Market... etc
I guess i need to change
ALL('Table'),
Thanks
Hola, @Vincem35
Puede intentar reemplazar 'ALL('Table')' por 'ALLSELECTED('Table')' para ver si funciona.
Saludos
Allan
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
@Vincem35 , Crear una columna de año en la tabla
Nueva columna
Año á año(Tabla[Fecha])
Y probar una medida como
medida :
var _tab - summarize(table,table[client], table[Year], "_pur",[total purchase])
devolución
averageX(values(_tab[client]),_pur)
Gracias Amit
¿Qué sugieres en lugar de agrupar por año ya que tengo varios períodos de tiempo dinámico para estos cálculos: P12M, P3M, etc...