Ayuda formulas DAX Calculo Incentivos

Etiquetado: ,

  • dat2190671559
    Participante

      Estoy haciendo un proyecto de cálculo de incentivos algo complejo y estoy un poco encallada.

      Tengo una tabla de ventas con 42 columnas que aportan información de ventas al detalle de producto. En esta tabla tengo el ID de cliente que conecta con la tabla de clientes donde está toda la información relativa a clientes y los responsables de cuenta.

      Por otro lado, tengo una tabla de empleados con los tipos de incentivos a aplicar. Supongamos que son 5 (hay alguno más, pero lo importante es avanzar en como seguir). Los tipos de incentivos son en base a parámetros de la tabla de cliente. Es decir, un empleado puede tener un incentivo en base a la entidad, es decir calcularíamos un % y una escala en función de las ventas obtenidas para la entidad indicada. Otros empleados pueden tener un incentivo por region, otros por region y tipo de cuenta. Y así.

      Estas ventas se compararan con el presupuesto y en base a la diferencia se le aplicará un % de éxito. Por ejemplo, si una región ha superado el presupuesto en un 5% la escala será 108% sobre el % de incentivo (que es una parte variable del salario especificada a nivel empleado). Lo primero que necesito hacer es traer las ventas según los incentivos por empleado, y además necesito mostrar resultados mensualizados y en el informe serán Year To Date.

      Para hacer esto he hecho una tabla sumarizada de ventas trayendo los diferente parámetros de cliente que necesito para el cálculo de incentivos (incluyendo también año y mes). Luego he hecho las fórmulas de 3 de los parámetros y funcionan correctamente.

      Sales Bonus Region = CALCULATE( SUM('Sales Summary'[Sales]), FILTER( 'Sales Summary', 'Sales Summary'[Region] IN VALUES('Incentives Base'[Region 1]) || 'Sales Summary'[Region] IN VALUES('Incentives Base'[Region 2]) -- Add conditions for other region columns as needed ) )

       

      Sales Bonus Region & Account Type = CALCULATE( SUM('Sales Summary'[Sales]), FILTER( 'Sales Summary', 'Sales Summary'[Region] IN VALUES('Incentives Base'[Region 1]) && -- Add conditions for other region columns as needed ('Sales Summary'[Account Type] IN VALUES('Incentives Base'[Account Type]) ) ) )

       

      Sales Bonus Region & Account Type & Category = CALCULATE( SUM('Sales Summary'[Sales]), FILTER( 'Sales Summary', 'Sales Summary'[Region] IN VALUES('Incentives Base'[Region 1]) && ('Sales Summary'[Account Type] IN VALUES('Incentives Base'[Account Type]) && ('Sales Summary'[Category] IN VALUES('Incentives Base'[Category]) ) ) ) )

       

      Estas fórmulas funcionan correctamente. Pero no sé como es la forma más eficiente para el modelo para simplificarla solo en una. Y que en funcion del Bonus type de empleado me calcule una o la otra... ¿Alguna idea?

    • dlom
      Participante

        Hola! Sí es algo avanzado esto que estás buscando, principalmente porque entran bastantes variables y tablas en consideración.

         

        Entiendo que la tabla resumida de ventas que mencionas está como tabla en el reporte, ¿cierto? Esa es la manera correcta de trabajarlo en Power BI.

         

        Lo que podrías hacer es ir separando el resultado final que estás buscando, en pequeñas partes. Cada parte sería una medida DAX. E ir viendo cómo se va comportando el resultado usando la medida DAX previa en el cálculo en cada medida.

         

        Así puedes ir asegurando que el resultado final es el correcto.

         

        Ahora, ¿por qué estás usando la función IN y VALUES de DAX? ¿Esto no lo puedes controlar con relaciones entre las tablas?

      Viendo 1 respuesta (de un total de 1)
      • El debate ‘Ayuda formulas DAX Calculo Incentivos’ está cerrado y no admite más respuestas.