Promeedio Ponderado

Hola a todos! les pido ayuda con este tema, tengo 2 tablas de registros de venta que estan relacionadas, en un modelo de datos de power pivot. Una tabla tiene el listado de comprobantes y la otra tiene el detalle de los articulos de cada comprobante, el campo que relaciona las tablas es el Nro de comprobante. les paso los campos de cada tabla:

Campos                          Tipo
Nro Comprobante           Entero
Tipo Comprobante          Entero
Subtipo Comprobante    Entero
CodVendedor                 Entero
CodCliente                     Texto
Fecha                             Fecha
    
Campos    Tipo
Nro Comprobante           Entero
CodArt                             Entero
Unidades                         Doble


Necesito una medida que me indique (para un periodo determinado) el promedio ponderado de articulos por cliente. 

Actualmente lo que tengo son medidas que usan DISTINCTCOUNT para contar la cantidad de articulos distintos (llamada Mix) y la cantidad de clientes distintos (llamada Cobertura), con lo cual diviendo cantidad de articulos por cantidad de clientes, obtengo "cantidad de articulos por cliente" en un periodo determinado.

Fecha : 17/11/2020

Mix    Cobertura    Articulos x Cliente
179    15                11,9


por lo que la ponderacion la hago manualmente, hago 2 tablas auxiliares, una listando los clientes con la cantidad de articulos comprados, y a partir de esa una contabilidazando la cantidad de clientes para cada caso de cantidad de articulos:

Fecha    17/11/2020
    
CodCliente        Mix
111025-0           38
115654-0          18
117950-0          12
118861-0          13
118952-0          19
119546-0          21
121008-0         19
121117-0          14
121243-0         22
121322-0         5
122033-0         34
122424-0         16
123692-0         16
123863-0         1
124783-0         4
Total general   179

Cantidad de articulos    Cantidad de clientes    Ponderacion (Cant. Art x Cant Clientes)
1                                    1                                      1
4                                    1                                      4
5                                    1                                      5
12                                  1                                      12
13                                  1                                      13
14                                  1                                      14
16                                  2                                      32
18                                  1                                      18
19                                  2                                      38
21                                  1                                      21
22                                  1                                      22
34                                  1                                      34
38                                  1                                      38
                                     15                                    252
        
Promedio ponderado        
Ponderacion / Cantidad de clientes        16,8

espero haberme explicado, y que puedan ayudarme.

muchas gracias, saludos.

Hola Marcelo,

no parece muy complicado... Te hago una propuesta inicial, a ver... Parto de una hipótesis que no sé si es cierta: existe una tabla calendario que es sobre la cual aplicas el filtro temporal (con un segmentador o como quieras). En estas circunstancias te debería funcionar algo tan simple como:

Ratio =

VAR TotalUnidades = SUM(Detalle[Unidades])

VAR NumClientes = DISTINCTCOUNT(Comprobantes[Cod Cliente])

RETURN DIVIDE(TotalUnidades, NumClientes)

He supuesto también que los nombres de las tablas son "Comprobantes" y "Detalle". Dime que tal

CRB

Hola CRB, gracias por tu respuesta. si bien no es lo que estaba buscando, en el intento de explicarme en profundidad me encontre con la solucion, utilizando las mismas medidas que ya tenia:

 

VAR NumClientes = DISTINCTCOUNT(Comprobantes[CodCliente])

VAR Mix= DISTINCTCOUNT(Detalle[CodArt])

 

en lugar de RETURN DIVIDE(Mix, NumClientes) como en otras palabras habia planteado en el primer lugar, uso

 

VAR Mix ponderado por cliente= DIVIDE(SUMX(Comprobantes, NumClientes * Mix), NumClientes) .

 

de esta manera, obtengo el promedio de codigos de articulos que compran en promedio los clientes, sin utilizar el promedio lineal.

Muchas gracias por tu respuesta nuevamente!

Enviado por Marcelo Cordoba el Mié, 18/11/2020 - 17:20