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ómo calcular el total corriente y aplicarlo en una medida

Tengo 2 tablas: Datos de parcela (sitio, paquetería, cantidad) y otro sitio de la tabla (Sitio, CAP)

Tabla de parcelas:

Importe del paquete del sitio

Sitio 1 Parcela1 3,136,900

Sitio 1 Parcela2 6,343,400

Sitio 1 Paquete3 8,248,500

Sitio 1 Parcela4 6,827,694

Tabla de sitios:

Sitio CAP

Sitio1 45.000

Quiero mostrar sitio, paquete, cantidad, CAP, potencial (medida calculada: Importe *.2%) y Importe adeudado (medida calculada: si potencial es menor que CAP, utilíficlo.). Mi problema es que cap muestra en cada fila cuando me uno a ellos y sólo hay 1 CAP para un sitio. Realmente necesito tomar Cap - paquete 1 Cantidad y aplicarlo como el CAP al cálculo de segunda fila y continuar para cada fila.

Monto del paquete del sitio Monto potencial del CAP Monto adeudado debe ser

Sitio 1 Parcela1 3.136.900 6.274 45.000 6.274 6.274 (6.274 es menos de 45000)

Sitio 1 Parcela2 6.343.400 12.687 45.000 12.687 12.687 (12.687 es inferior a 45.000-6274)

Sitio 1 Parcela3 8.248.500 16.497 45.000 16.497 16.497 (16.479 es inferior a 45000-6274-12687)

Sitio 1 Parcela4 6,827,694 13,655 45,000 13,655 9,542 (13,655 no es menos de 45000-6274-12687-16497)

1 ACCEPTED SOLUTION

Gracias por toda su ayuda, que me puso en la dirección correcta y luego fue capaz de averiguar diferentes maneras de resolver mediante la determinación de un porcentaje de asignación para aplicar:

AllocPotential =
SITEID VAR = SELECTEDVALUE(Sitio[Sitio])
VAR TotalPotential =
CALCULAR (
[Potencial],
FILTER( todos (Sitio), Sitio[Sitio] = siteid),
FILTRO ( TODOS ( Paquete ), Parcela[Sitio] = siteid)
)
división de retorno([Potencial],TotalPotential)
y luego usar eso con el PAC para determinar el nuevo potencial
Nuevo potencial =
max(Sitio[CAP])*[AllocPotential]

View solution in original post

6 REPLIES 6
Syndicate_Admin
Administrator
Administrator

hola

En el absense de una columna Fecha, ¿cómo se sabría el orden en que deben aparecer las filas en la tabla final. ¿No te falta una columna de fecha?

Syndicate_Admin
Administrator
Administrator

Ahí, @Sha

Por favor, compruebe la siguiente imagen y el enlace del archivo pbix de ejemplo abajo.

todas las medidas están en el archivo pbix de ejemplo.

Picture2.png

https://www.dropbox.com/s/relgjbyylvwk5hc/shasha.pbix?dl=0

Hola, mi nombre es Jihwan Kim.

Si este post ayuda, entonces considere aceptarlo como la solución para ayudar a otros miembros a encontrarlo más rápido, y dar un gran pulgar hacia arriba.

Linkedin: linkedin.com/in/jihwankim1975/

Twitter: twitter.com/Jihwan_JHKIM

Puse índice en la tabla Sitio y luego ordené en la tabla Parcel y cambié el código a abajo y funciona. Pregunta ahora ¿esto va a ser un gran drenaje del rendimiento? Tengo 5 millones de filas en la mesa parcel.

Medida de tapa =
VAR siteid = SELECTEDVALUE(Site[Index])
Corriente VAR =
CALCULATE(MAX ( Parcela[Índice] ), Sitio[Índice] = siteid)
VAR previousid =
CALCULAR (
CALCULATE(MAX ( Paquete[Índice] ), Sitio[Índice] = siteid),
FILTRO ( TODOS ( Parcela ), Paquete[Índice] < currentid )
)
VAR previouspotentialcumulate =
CALCULAR (
[Potencial],
FILTRO ( TODOS ( Parcela ), Parcela[Índice] <= previousid ),
FILTER( todos (Sitio), Sitio[Índice] = siteid)
)
devolución
IF( ISFILTERED(Parcel[Parcel]),
CALCULATE(SUM ( Sitio[CAP] ), Sitio[Índice] = siteid) - previouspotentialcumulate
)

Ahí, @Sha

Gracias por sus comentarios.

Por favor, pruebe la medida a su modelo de datos real. ¿Es lento? ¿Cómo es lento? ¿Es el modo de consulta directa? Sin conocer más detalles sobre su modelo de datos real, es difícil de decir.

Gracias por toda su ayuda, que me puso en la dirección correcta y luego fue capaz de averiguar diferentes maneras de resolver mediante la determinación de un porcentaje de asignación para aplicar:

AllocPotential =
SITEID VAR = SELECTEDVALUE(Sitio[Sitio])
VAR TotalPotential =
CALCULAR (
[Potencial],
FILTER( todos (Sitio), Sitio[Sitio] = siteid),
FILTRO ( TODOS ( Paquete ), Parcela[Sitio] = siteid)
)
división de retorno([Potencial],TotalPotential)
y luego usar eso con el PAC para determinar el nuevo potencial
Nuevo potencial =
max(Sitio[CAP])*[AllocPotential]

Gracias, eso parece funcionar para un sitio, pero cuando agregué un segundo sitio mezclado con los primeros datos del sitio, no funcionó. También tengo otros datos en mis tablas como SiteID, ParcelID, TaxYear si eso ayudaría. Con su método, es como si necesitara ordenar los datos por sitio y paquete o grupo por sitio y parcela e índice de repetición para cada uno. No puedo entenderlo. Gracias de antemano.

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.