Clasificación ABC Dinámica. Paso a paso vs DAX Pattern de SQLBI

 In DAX Avanzado, Destacado, Power Bi

Clasificación ABC Dinámica.

 

 

 

La clasificación ABC de clientes o de productos es un indicador muy importante para desarrollar nuestra labor de gestión de control. En el siguiente vídeo aprenderemos paso a paso como llegar a clasificar las ventas por clientes dentro del ABC, creando la tabla de clasificación y los cálculos necesarios para realizarla, obteniendo el % acumulado de ventas a partir del cual se realiza la clasificación.

En el vídeo, lo explicamos a través de fórmulas como RANKX y TOPN para obtener las ventas acumuladas por cliente en sentido descendente, desde el que más nos compra al que menos, capital para la realización de la clasificación.

Pero finalmente nos decantamos por el uso de la fórmula del DAX Pattern por motivos de rendimiento. La formula del DAX PATTERN utiliza tablas virtuales y un sólo cálculo que nos devuelve el resultado infinitamente más rápido que nuestros cálculos paso a paso.

La fórmula del DAX PATTERN es la siguiente:

Ventas Clientes ABC =

CALCULATE (    [MedidaVentas];    VALUES ( DimClientes[IdDimCliente] ); FILTER ( CALCULATETABLE ( ADDCOLUMNS ( ADDCOLUMNS ( VALUES(DimClientes[IdDimCliente]); «ValorVentasOut»; [MedidaVentasVentas] ); «PorcentajeAcumulado»; DIVIDE ( SUMX ( FILTER ( ADDCOLUMNS ( VALUES ( DimClientes[IdDimCliente]); «ValorVentasIn»; [Ventas] ); [ValorVentasIn] >= [ValorVentasOut] ); [ValorVentasIn] ); CALCULATE ( [Ventas]; VALUES ( DimClientes[IdDimCliente] ) ) ) ); ALL (DimClientes) );        [PorcentajeAcumulado] > [MinimoInferior]            && [PorcentajeAcumulado] <= [MaximoSuperior]    ))

 

Esta fórmula la podéis encontrar explicada, en inglés, en la página de los dax pattern:  https://www.daxpatterns.com/abc-classification-dynamic/

 

 

 

Recommended Posts
Showing 4 comments
  • Ricardo

    Hola Francisco,
    Una consulta

  • Ricardo

    Hola Francisco, he aplicado mis ganancias (CGP total) vs CGPabc, no son iguales hay campos vacíos deben ser por que tengo importes negativos, en tu ejemplo todos son positivos.
    como modificar el dax y pueda completar, adjunto imagen.

    https://jumpshare.com/v/BwxFE8yEQZ7NagAtFIbM

    gracias

  • Ricardo

    Hola Francisco, el Dax de tu ejemplo ventas ABC no me resulta por que mi columna de ventas tengo importes negativos como modificarlo para que me acepte los negativos.
    Gracias

  • Alberto Herrera

    Hola Francisco,
    muy interesante el artículo.
    Pero lo he reproducido 3 veces, de las 2 maneras que explicas y el problema que siempre me sucede es cada cliente me aparece con clasificación A y C a la vez. Es decir, se duplica.
    ¿Alguna solución?