Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Cálculo de la contribución incremental

Hola Comunidad,

Tengo un caso que para mí es bastante difícil de empezar. Explicaré el escenario y luego terminaré con algunos de mis propios pensamientos sobre cómo estructurar esto.

Escenario:

Dadas las selecciones de segmentación de datos de un usuario, genere una lista de productos, ordenada por cantidad de ventas, luego calcule la "contribución única" a las ventas. Entonces, al calcular el monto de ventas para el producto # 2, tengo que excluir a los clientes que compraron el producto # 1, para el producto # 3 excluiría a los clientes que compraron # 1 y # 2.

Puedo hacer esto estáticamente calculando una tabla con usuarios que compraron # 1 y usarla como filtro para # 2, pero hacerlo dinámicamente para que la medida reconozca todos los productos relevantes y 'ciclo' a través de ellos me tiene un poco perplejo.

Esencialmente, ¿cómo clasifico una lista de productos y luego los reviso y calculo el monto de ventas excluyendo los clientes de productos anteriores?

Espero haberme explicado con relativa claridad, de lo contrario, no dude en pedir más información.

7 REPLIES 7
Syndicate_Admin
Administrator
Administrator

Hola de nuevo,

Intenté agregar la clasificación a mi dimensión a través de mi DW ya que el calc. col era demasiado para ejecutar en mi modelo.

El problema es que hacerlo de esta manera elimina la capacidad de cortar a tiempo, ya que el valor en el que estoy clasificando debe cambiar a medida que el usuario mueve la segmentación de tiempo.

Puedo clasificar dinámicamente, pero no puedo encontrar una manera de trabajar con esas clasificaciones ya que EARLY() solo acepta una referencia de col

¿Tienes una idea para esto?

Además, gracias hasta ahora por su tiempo y conocimiento.

Syndicate_Admin
Administrator
Administrator

@BIANON ,

Sí, intente con la columna calculada

Syndicate_Admin
Administrator
Administrator

Hola de nuevo,

He intentado implementar su patrón, pero hacer la primera medida como una columna calculada bloqueó completamente a mi cliente, así que tuve que agregarlo a la tabla en mi DW.

Ahora estoy tratando de implementar su segunda medida, pero de repente me golpeó; Hacer una clasificación estática como esta no admite el filtrado a tiempo, ¿verdad?
Filtrar en algo como la categoría está bien porque un producto solo puede pertenecer a una categoría, pero cuando mis usuarios comienzan a cambiar la hora, ¿cambia el valor y, por lo tanto, la clasificación?

¿Tiene que haber una manera de trabajar con rankings en PBI que sea dinámica?

Syndicate_Admin
Administrator
Administrator

Gracias una vez más.

La medida [Rango del producto], ¿tendría que ser una columna calculada?

Syndicate_Admin
Administrator
Administrator

@BIanon ,

Compruebe las medidas a continuación

Product Rank = RANKX(TODO('TuMesa'[ProductID]), SUMA('TuMesa'[SalesAmount]), , DESC, Saltarse)

o

Acumulativo Ventas = 
SUMX(
   FILTRO(
      TODO('TuMesa'),
      'TuMesa'[Product Rank] <= ANTERIOR('TuMesa'[Product Rank])
   ),
   'TuMesa'[SalesAmount]
)

Por favor, acepte como solución si resolvió su problema!!!

Syndicate_Admin
Administrator
Administrator

Hola y gracias por su respuesta.

Actualmente estoy probando su método, pero estoy experimentando que la suma es acumulativa en el orden alfabético de mis ProductID (desafortunadamente son cadenas de texto).

Necesito la suma acumulada para comenzar desde el producto con la mayor cantidad de ventas y luego bajar de rango. ¿Es esto alcanzable?

También continuaré viendo si puedo resolverlo yo mismo

Syndicate_Admin
Administrator
Administrator

Hola, pruebe los pasos a continuación:

  1. reate a measure to calculate the cumulative sales amount for each product:

    DAX

     

    Cumulative Sales = CALCULATE(SUM(Sales[Amount]), FILTER(ALLSELECTED(Products), Products[ProductID] <= MAX(Products[ProductID])))

     

    Esta medida calcula el importe de ventas acumulado sumando el importe de ventas de todos los productos hasta el producto actual en función de su ProductID.

    1. Create a measure to calculate the unique contribution to sales for each product:

      DAX

       

      Unique Contribution = [Cumulative Sales] - CALCULATE(SUM(Sales[Amount]), FILTER(ALLSELECTED(Products), Products[ProductID] < MAX(Products[ProductID])))
       

      Esta medida resta el monto de ventas de los productos anteriores del monto de ventas acumulado para calcular la contribución única.

@BIanon

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.