GCGradwell
Hola a todos,
Estoy tratando de generar una columna de ingresos promedio por cliente en Power BI. Tengo datos sobre cada venta realizada a un cliente, incluido su ID de cliente, los ingresos generados por la venta, en qué Departamento se realizó la venta y el tipo de paquete de suscripción que se compró.
Dado que algunos clientes solo compran un artículo y otros compran varios, el Los ingresos medios por cliente deben ser por único cliente.
Si utilizo la función ‘promedio’ del menú desplegable en la sección ‘Valores’, supongo que divide los ingresos totales por el recuento de campos de ingresos. Quiero el total dividido por el número único de clientes.
Gracias por adelantado
GCGradwell
En respuesta a v-haibl-msft
Hola a todos,
La solución fue mucho más simple de lo que pensaba y fue una solución de 2 pasos.
Todo lo que tenía que hacer era crear una medida: Distinctcount Clientes = DISTINCTCOUNT (ID de cliente)
Luego creé una segunda medida que usó esta medida en ella:
Ingresos promedio por cliente = SUM (facturas[Revenue]) /[Distinctcount Customers]
Todavía soy muy nuevo en el software, ¡así que disculpas por perderme este!
Gracias,
Greg
v-haibl-msft
@GCGradwell
Supongo que tiene un conjunto de datos como el siguiente. Si desea obtener las ventas promedio por cliente, puede utilizar la siguiente fórmula.
Average_Per_Customer = CALCULATE ( AVERAGE ( MyData[Sales] ), ALLEXCEPT ( MyData, MyData[Customer ID] ) )
Si desea obtener las ventas promedio de todos los clientes, puede usar otra fórmula como se muestra a continuación.
Average_All_Customers = CALCULATE ( SUM ( MyData[Sales] ) / DISTINCTCOUNT ( MyData[Customer ID] ), ALL ( MyData ) )
Atentamente,
Herbert
Habib
Cree una medida personalizada utilizando DAX … algo como esto
newMeasure = CALCULATE (SUM (Ventas)) / DISTINCTCOUNT (Clientes), ALLSELECTED (YourTable)
GCGradwell
En respuesta a Habib
Gracias por las sugerencias hasta ahora chicos. He tenido cierto éxito, pero aún no del todo correcto.
Estoy usando esta fórmula: Cliente de ingresos promedio = Facturas_Feb[Revenue]/ DISTINCTCOUNT (Facturas_Feb[Customer_ID])
La columna de ingresos se suma automáticamente en Power BI, por lo que no la incluí en la fórmula de DAX.
Esto me ha proporcionado el ingreso promedio por cliente (ARC) correcto para el ARC general (ARC para todos los clientes en todos los departamentos y todos los paquetes de suscripción). Sin embargo, los valores de ARC para los departamentos individuales y los paquetes de suscripción son incorrectos: todos son demasiado pequeños.
Descubrí que cuando Power BI calcula el ARC para un subconjunto del total de clientes (es decir, ARC para los clientes que compraron productos de un departamento), calcula correctamente los ingresos para ese departamento pero luego divide ese número por el número total de clientes. .
Si esto no está claro, aquí hay un ejemplo de lo que está sucediendo en Power BI con números inventados:
Suma de ingresos totales = $ 80 000
Recuento distinto de todos los clientes = 4000
ARC en todos los departamentos = 80,000 / 4000 = $ 20
Hasta ahora, todo esto es correcto. El problema se produce a continuación una vez que se utiliza un subconjunto de clientes / ingresos:
Lo que quiero que suceda:
Suma de ingresos por almacenamiento = $ 15 000
Recuento distinto de clientes que compraron almacenamiento = 1500
ARC de clientes que compraron almacenamiento = 15,000 / 1,500 = $ 10
Qué hace Power BI:
ARC de clientes que compraron almacenamiento = 15,000 / 4000 = $ 3.75
Como puede ver, los ingresos derivados de las ventas de almacenamiento se han calculado correctamente, pero luego se dividen por el recuento distinto de total clientes, no solo los clientes que compraron almacenamiento, lo que devuelve un ARC más bajo porque el número total de clientes es mayor que el subconjunto de clientes de almacenamiento.
¡Espero que esto quede claro!
Gracias,
Greg
v-haibl-msft
En respuesta a GCGradwell
@GCGradwell
Pruebe con las siguientes fórmulas de medida.
Average_Per_Depart = DIVIDE ( CALCULATE ( SUM ( MyData[Sales] ), ALLEXCEPT ( MyData, MyData[Department] ) ), CALCULATE ( DISTINCTCOUNT ( MyData[Customer ID] ), ALLEXCEPT ( MyData, MyData[Department] ) ) )
Average_Per_Package = DIVIDE ( CALCULATE ( SUM ( MyData[Sales] ), ALLEXCEPT ( MyData, MyData[Subscription Package] ) ), CALCULATE ( DISTINCTCOUNT ( MyData[Customer ID] ), ALLEXCEPT ( MyData, MyData[Subscription Package] ) ) )
Atentamente,
Herbert
GCGradwell
En respuesta a v-haibl-msft
Hola a todos,
La solución fue mucho más simple de lo que pensaba y fue una solución de 2 pasos.
Todo lo que necesitaba hacer era crear una medida: Distinctcount Clientes = DISTINCTCOUNT (ID de cliente)
Luego creé una segunda medida que usó esta medida en ella:
Ingresos promedio por cliente = SUM (facturas[Revenue]) /[Distinctcount Customers]
Todavía soy muy nuevo en el software, ¡así que disculpas por perderme este!
Gracias,
Greg
SergeiStPete
En respuesta a GCGradwell
Greg, supongo que debes filtrar los cálculos de los clientes, algo así como CALCULATE (DISTICTCONT (Table[CustomerID], CALCUALATETABLE (relatedTable, relatedTable[Column]> 0)) – cualquier criterio que tenga. Solo una idea, no jugué con tu modelo.