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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

entre la segmentación de datos para obtener dos rotaciones basadas en el precio start end vs precio en fecha

Estimados todos,

Leí muchas publicaciones, pero no pude encontrar ninguna situación similar que me ayudara.

Creé un conjunto de datos ficticio para explicar mi resultado esperado.

Tengo esas tablas que deberían explicarse por sí mismas.

aso_be_0-1663227023622.png

Y aquí está el resultado esperado con explicación

aso_be_2-1663227704216.png

- start_price : busca el precio del id en la fecha de inicio (rojo) dentro de la TABLA DE PRECIOS + total (que es el promedio de la columna anterior)

- start_price : busca el precio del id en la fecha de finalización (verde) dentro de la TABLA DE PRECIOS + total (que es el promedio de los anteriores

- quantity_sold : cantidad vendida para ese período dentro de la TABLA DE VENTAS + total (que es la suma de la columna anterior)

- turnover_start_date_price : es el quantity_sold multiplicar por el start_price + total (que es la suma de la columna anterior)

- turnover_end_date_price : es el quantity_sold multiplicar por el total end_price+ (que es la suma de la columna anterior)

¡Pude obtener todos los datos correctos EXCEPTO el total, que no es la cantidad correcta!

Puede descargar este archivo ficticio aquí: https://docs.google.com/spreadsheets/d/1bJ6QMG2ui1iy9OHSU2A9NDfe7d6ajL2-/edit?usp=sharing&ouid=10108...

Gracias de antemano por su valiosa ayuda

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Curiosamente, no pude reproducirlo con mi pbix real. Pero gracias a su intento, pude encontrar una manera de trabajar para obtener las medidas correctas.


De hecho, me perdí VALUES('PRODUCT TABLE'[id]) de purchase_price_start_date que parecía ser la razón por la que mi total estaba equivocado.



- start_price = CALCULAR (PROMEDIO('TABLA DE PRECIOS'[precio]),'TABLA DE PRECIOS[price_date]=MIN('TABLA DE CALENDARIO'[fecha]))
- end_price =CALCULAR (PROMEDIO('TABLA DE PRECIOS'[precio]),'TABLA DE PRECIOS[price_date]=MAX('TABLA DE CALENDARIO'[fecha]))
- quantity_sold = CALCULAR(SUMA(TABLA DE VENTAS[sales_quantity]))

- purchase_turnover_start_date =
SUMX(VALORES(«CUADRO DE PRODUCTOS»[id]),
[start_price ] * [quantity_sold]
)
- purchase_turnover_start_date =
SUMX(VALORES(«CUADRO DE PRODUCTOS»[id]),
[end_price ] * [quantity_sold]
)

View solution in original post

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

Curiosamente, no pude reproducirlo con mi pbix real. Pero gracias a su intento, pude encontrar una manera de trabajar para obtener las medidas correctas.


De hecho, me perdí VALUES('PRODUCT TABLE'[id]) de purchase_price_start_date que parecía ser la razón por la que mi total estaba equivocado.



- start_price = CALCULAR (PROMEDIO('TABLA DE PRECIOS'[precio]),'TABLA DE PRECIOS[price_date]=MIN('TABLA DE CALENDARIO'[fecha]))
- end_price =CALCULAR (PROMEDIO('TABLA DE PRECIOS'[precio]),'TABLA DE PRECIOS[price_date]=MAX('TABLA DE CALENDARIO'[fecha]))
- quantity_sold = CALCULAR(SUMA(TABLA DE VENTAS[sales_quantity]))

- purchase_turnover_start_date =
SUMX(VALORES(«CUADRO DE PRODUCTOS»[id]),
[start_price ] * [quantity_sold]
)
- purchase_turnover_start_date =
SUMX(VALORES(«CUADRO DE PRODUCTOS»[id]),
[end_price ] * [quantity_sold]
)
Syndicate_Admin
Administrator
Administrator

Hola

Puede descargar mi archivo PBI desde aquí.

Espero que esto ayude.

Untitled.png

Syndicate_Admin
Administrator
Administrator

@aso_be ,

Creo que este es el resultado que quieres:

vyadongfmsft_0-1663550423339.png

Pruebe el siguiente DAX:

Start price = IF(
    ISINSCOPE('Price table'[id]),
    CALCULATE(MIN('Price table'[price]),FILTER(ALLSELECTED('Price table'[price_date]),'Price table'[price_date] = MIN('Price table'[price_date]))),
    CALCULATE(AVERAGE('Price table'[price]),FILTER(ALLSELECTED('Price table'[price_date]),'Price table'[price_date] = MIN('Price table'[price_date])))
    )

End price = IF(
    ISINSCOPE('Price table'[id]), 
    CALCULATE(MAX('Price table'[price]),FILTER(ALLSELECTED('Price table'[price_date]),'Price table'[price_date] = MAX('Price table'[price_date]))),
    CALCULATE(AVERAGE('Price table'[price]),FILTER(ALLSELECTED('Price table'[price_date]),'Price table'[price_date] = MAX('Price table'[price_date])))
    )

Quantity_sold = CALCULATE(SUM('Sales table'[sales_quantity]),FILTER('Sales table','Sales table'[sales_date] IN VALUES('Price table'[price_date])))

Quantity_sold2 = SUM('Sales table'[sales_quantity]) - CALCULATE(SUM('Sales table'[sales_quantity]),FILTER('Sales table','Sales table'[sales_date] = MAX('Sales table'[sales_date])))

turnover_start_date_price = IF(
    ISINSCOPE('Price table'[id]),
    [Start price]*[Quantity_sold],
    SUMX(FILTER('Price table','Price table'[price_date] = MIN('Price table'[price_date])),[Start price]*[Quantity_sold2])
    )

turnover_end_date_price = IF(
    ISINSCOPE('Price table'[id]),
    [End price]*[Quantity_sold],
    SUMX(FILTER('Price table','Price table'[price_date] = DATE(2022,1,3)),[Start price]*[Quantity_sold2])
    )

Saludos

Yadong Fang

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Syndicate_Admin
Administrator
Administrator

@aso_be ,

La relación entre dos tablas:

vyadongfmsft_0-1663311109139.png

Pruebe el siguiente DAX:

Start price = CALCULATE(MIN('Price table'[price]),FILTER(ALLSELECTED('Price table'[price_date]),'Price table'[price_date] = MIN('Price table'[price_date])))

End price = CALCULATE(MAX('Price table'[price]),FILTER(ALLSELECTED('Price table'[price_date]),'Price table'[price_date] = MAX('Price table'[price_date])))

Quantity_sold = CALCULATE(SUM('Sales table'[sales_quantity]),FILTER('Sales table','Sales table'[sales_date] IN VALUES('Price table'[price_date])))

turnover_start_date_price = [Start price]*[Quantity_sold]

turnover_end_date_price = [End price]*[Quantity_sold]

El resultado que desea:

vyadongfmsft_1-1663311285315.png

Saludos

Yadong Fang

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

@v-yadongf-msft,

Gracias por su rápida respuesta.

Desgraciadamente el total no es correcto 😞

Obtuviste ese resultado

aso_be_0-1663316361374.png

Pero deberíamos ver esos números. 🙂

aso_be_1-1663316399194.png

¿Tienes una solución alternativa? ¿Alguien más?

Gracias de nuevo

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

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.