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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Syndicate_Admin
Administrator
Administrator

Agrupación/realización de cálculos

Todavía soy nuevo en Power BI y esperaba que la comunidad tuviera una idea que me ayudara a calcular los resultados que estoy buscando.

Tengo una larga lista de artículos. Algunos de estos elementos se duplican a propósito y son los elementos duplicados los que dificultan mi tarea.

En la siguiente tabla hay tres columnas

DURACIÓN DE LOS ARTÍCULOS EN UBICACIONES (días): la cantidad de días que un artículo ha permanecido en una ubicación.

UBICACIONES DISPONIBLES: el número de artículos en esas ubicaciones

LONGITUD*LOC ONHAND – esta columna multiplica los dos valores anteriores

UBICACIÓN TOTAL DISPONIBLE – Este valor es una SUMA de la columna "UBICACIÓN DISPONIBLE"

cswinimer_0-1650032430506.png

OBJETIVO - Realizar el siguiente cálculo en cada elemento (un valor😞 ponderado de envejecimiento

ENVEJECIMIENTO = LONGITUD*LOC A MANO / TOTAL DE UBICACIÓN A MANO

Ejemplo - En el gráfico anterior, para el artículo 00485-G tendríamos: 31 / 1933.25 = 0.016

Problema con el que necesito ayuda: En algunos casos, un elemento aparece varias veces, como en el ejemplo siguiente. Necesito SUMA LONGITUD*LOC ON HAND para cada artículo y luego dividirlo por UBICACIÓN TOTAL A MANO.

cswinimer_1-1650032478588.png

El ejemplo anterior se vería así:

(110 + 224) / 1933.25

Si no tuviera valores duplicados en la columna Elementos, esta sería una tarea fácil, pero no sé cómo crear un solo valor AGING para un elemento que aparece más de una vez. ¿Cuál sería su enfoque? Gracias de antemano por cualquier ayuda que pueda ofrecer.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Hay @cswinimer ,

Si desea lograr esto por columna, pruebe lo siguiente:

sumbygroup = 'Table'[LENGTH OF ITEMS IN LOCATION(days)]*'Table'[LOCATION ON HAND]
sumall = sum('Table'[sumbygroup])
percent = CALCULATE(SUM('Table'[sumbygroup]),ALLEXCEPT('Table','Table'[ITEM]))/'Table'[sumall]

Resultado de salida:

vluwangmsft_0-1650507571449.png

Y si desea lograr esto por medida, pruebe lo siguiente:

sumgroupmeasure = MAX('Table'[LENGTH OF ITEMS IN LOCATION(days)])*MAX('Table'[LOCATION ON HAND])
sumall2 = SUMX(all('Table'),[sumgroupmeasure])
per2 = SUMX(FILTER(all('Table'),'Table'[ITEM]=MAX('Table'[ITEM])),'Table'[sumbygroup])/[sumall2]

Salida fianl:

vluwangmsft_1-1650508144819.png

¿Respondí a su pregunta? ¡Marca mi post como solución!


Saludos

Lucien

View solution in original post

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Muchas gracias Lucien. Esto fue muy fácil de seguir y funcionó perfectamente. ¡Pasa un buen fin de semana!

Syndicate_Admin
Administrator
Administrator

Hay @cswinimer ,

Si desea lograr esto por columna, pruebe lo siguiente:

sumbygroup = 'Table'[LENGTH OF ITEMS IN LOCATION(days)]*'Table'[LOCATION ON HAND]
sumall = sum('Table'[sumbygroup])
percent = CALCULATE(SUM('Table'[sumbygroup]),ALLEXCEPT('Table','Table'[ITEM]))/'Table'[sumall]

Resultado de salida:

vluwangmsft_0-1650507571449.png

Y si desea lograr esto por medida, pruebe lo siguiente:

sumgroupmeasure = MAX('Table'[LENGTH OF ITEMS IN LOCATION(days)])*MAX('Table'[LOCATION ON HAND])
sumall2 = SUMX(all('Table'),[sumgroupmeasure])
per2 = SUMX(FILTER(all('Table'),'Table'[ITEM]=MAX('Table'[ITEM])),'Table'[sumbygroup])/[sumall2]

Salida fianl:

vluwangmsft_1-1650508144819.png

¿Respondí a su pregunta? ¡Marca mi post como solución!


Saludos

Lucien

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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

Top Solution Authors