Forum Discussion

Brajos's avatar
Brajos
Regular Visitor
3 years ago

Optimizar Medida

Hola a todos, 

Estoy tratando de generar una medida tal que me indique el numero de materiales que conforman el 80% de venta dado un segmento para todos los clientes, luego cuando filtro por cliente me indique cuantos materiales que ese cliente tiene asignados se encuentran dentro de los materiales 8020 antes calculados. Eh encontrado una solucion pero la medida tarda mucho en calcularse, por lo que intento optimizarla. La medida es:

Medida =
VAR MontoGanado = CALCULATE(Medidas[Medida Monto Ganado], ALLSELECTED(Facturacion[Segmento]),ALLSELECTED(Facturacion[Cliente]))
VAR Tabla1 = CALCULATETABLE(FILTER(VALUES(Facturacion[Material]),DIVIDE(SUMX(TOPN(Medidas[Medida Rank],CALCULATETABLE(VALUES(Facturacion[Material]),ALLSELECTED(Facturacion[Material])),[Medida Monto Ganado]),Medidas[Medida Monto Ganado]),IF(NOT(ISBLANK(MontoGanado)),CALCULATE([Medida Monto Ganado],ALLSELECTED(Facturacion[Material]))))<0.8),ALL(Facturacion[Cliente]))
VAR MedidaNumeroMateriales8020_Total = COUNTROWS(Tabla1)
VAR Tabla2 = FILTER(CALCULATETABLE(FILTER(VALUES(Facturacion[Material]),DIVIDE(SUMX(TOPN(Medidas[Medida Rank],CALCULATETABLE(VALUES(Facturacion[Material]),ALLSELECTED(Facturacion[Material])),[Medida Monto Ganado]),Medidas[Medida Monto Ganado]),IF(NOT(ISBLANK(MontoGanado)),CALCULATE([Medida Monto Ganado],ALLSELECTED(Facturacion[Material]))))<0.8),ALL(Facturacion[Cliente]),Medidas[Medida Monto Ganado]>0)
VAR MedidaNumeroMateriales8020_Cliente = COUNTROWS(Tabla2)
RETURN
DIVIDE(MedidaNumeroMateriales8020_Cliente,MedidaNumeroMateriales8020_Total)

donde unicamente tomamos una medida llamada Medida Rank que se calculo anteriormente definida como:

Medida Rank = IF(HASONEVALUE(Facturacion[Material]),RANKX(ALL(Facturacion[Material]),Medidas[Medida Monto Ganado]),BLANK())

como optimizo la medida ya que al inegrar todo, es decir, colocando la medida rank dentro de la medida del calculo me da valores distintos o si existe alguna manera distinta de lograr hacer que se calculo la medida mas rapido