Reply
Syndicate_Admin
Administrator
Administrator
Syndicated - Inbound

Valor acumulado con Userelationship

Source Community: Power BI | Source Author Name: PwrBI01

Hola, chicos

Tengo la siguiente tabla (contiene la medida 'Pendiente de cobro'):

Imagen4.png

Y me gustaría obtener el siguiente:

Imagen5.png

El principal problema es que el calendario de tablas 'T_Calendar' y la tabla de datos 'T_FacturacionExpedienteResumida' no están directamente relacionadas, por lo que utilicé la función Userelationship, como se puede ver:

Imagen3.png

La medida es la siguiente:

Pendiente de cobro = 
Var Facturado = CALCULATE(SUM(T_FACTURACIONEXPEDIENTERESUMIDA[TOTALAPAGAR]);T_FACTURACIONEXPEDIENTERESUMIDA[DIASSINCOBRAR]>0;USERELATIONSHIP(T_CALENDARIO[Fecha];T_FACTURACIONEXPEDIENTERESUMIDA[FECHAFACTURA]))
Var Cobrado = CALCULATE(SUM(T_FACTURACIONEXPEDIENTERESUMIDA[ENTRADA]);T_FACTURACIONEXPEDIENTERESUMIDA[DIASSINCOBRAR]>0;USERELATIONSHIP(T_CALENDARIO[Fecha];T_FACTURACIONEXPEDIENTERESUMIDA[FECHAFACTURA]))
Var PendienteCobro = Facturado-Cobrado
Return
PendienteCobro

¿Cómo puedo cambiarlo para obtener los valores acumulativos?

Gracias de antemano.

1 ACCEPTED SOLUTION

Source Community: Power BI | Source Author Name: PwrBI01
Syndicated - Inbound

Hola, chicos

He resuelto el problema.

La medida que debo introducir es:

Pendiente de cobro =
Var Facturado = CALCULATE(SUM('T_FACTURACIONEXPEDIENTERESUMIDA'[TOTALAPAGAR]);' T_FACTURACIONEXPEDIENTERESUMIDA'[DIASSINCOBRAR]>0; USERELATIONSHIP(T_CALENDARIO[Fecha];' T_FACTURACIONEXPEDIENTERESUMIDA'[FECHAFACTURA]); FILTER(ALL(T_CALENDARIO[Fecha]); T_CALENDARIO[Fecha]<=MAX(T_CALENDARIO[Fecha])))
Var Cobrado = CALCULATE(SUM('T_FACTURACIONEXPEDIENTERESUMIDA'[ENTRADA]);' T_FACTURACIONEXPEDIENTERESUMIDA'[DIASSINCOBRAR]>0; USERELATIONSHIP(T_CALENDARIO[Fecha];' T_FACTURACIONEXPEDIENTERESUMIDA'[FECHAFACTURA]); FILTER(ALL(T_CALENDARIO[Fecha]); T_CALENDARIO[Fecha]<=MAX(T_CALENDARIO[Fecha])))
Var PendienteCobro = Facturado-Cobrado
devolución
PendienteCobro

View solution in original post

12 REPLIES 12
Syndicate_Admin
Administrator
Administrator

Source Community: Power BI | Source Author Name: PwrBI01
Syndicated - Inbound

Hay @VijayP

Gracias por su respuesta, pero no funciona como esperaba.

Hice algunos cambios:

1. Ponga la relación como inactiva porque necesito tenerla así.

2. Cree una nueva medida llamada "Prueba 4" que dé los siguientes resultados:

Imagen 5.png

El resultado para 2019 está funcionando correctamente, pero no es el caso para 2017 y 2018, porque los resultados deben ser los siguientes:

Imagen5.png

Creo que el problema es que la medida no está aplicando correctamente la fecha máxima para cada año (la parte que puse en negrita):

Prueba 4 ?
Var Facturacion á CALCULATE(SUM('T_FACTURACIONEXPEDIENTERESUMIDA'[TOTALAPAGAR]);' T_FACTURACIONEXPEDIENTERESUMIDA'[DIASSINCOBRAR]>0)
Var Cobro - CALCULATE(SUM('T_FACTURACIONEXPEDIENTERESUMIDA'[ENTRADA];' T_FACTURACIONEXPEDIENTERESUMIDA'[DIASSINCOBRAR]>0)
Var PendienteCobro = Facturacion-Cobro
Var PendienteCobroAcumulado = CALCULATE(PendienteCobro; USERELATIONSHIP(T_FACTURACIONEXPEDIENTERESUMIDA[FECHAFACTURA]; T_CALENDARIO[Fecha]); FILTER(ALLSELECTED(T_CALENDARIO[Fecha]); T_CALENDARIO[Fecha]<=MAX(T_CALENDARIO[Fecha])))
devolución
PendienteCobroAcumulado

El enlace al archivo está https://www.dropbox.com/s/kip4r60nztzkzmc/Prueba%20Power%20BI.pbix?dl=0

Gracias de antemano

saludos

Source Community: Power BI | Source Author Name: PwrBI01
Syndicated - Inbound

Hola, chicos

He resuelto el problema.

La medida que debo introducir es:

Pendiente de cobro =
Var Facturado = CALCULATE(SUM('T_FACTURACIONEXPEDIENTERESUMIDA'[TOTALAPAGAR]);' T_FACTURACIONEXPEDIENTERESUMIDA'[DIASSINCOBRAR]>0; USERELATIONSHIP(T_CALENDARIO[Fecha];' T_FACTURACIONEXPEDIENTERESUMIDA'[FECHAFACTURA]); FILTER(ALL(T_CALENDARIO[Fecha]); T_CALENDARIO[Fecha]<=MAX(T_CALENDARIO[Fecha])))
Var Cobrado = CALCULATE(SUM('T_FACTURACIONEXPEDIENTERESUMIDA'[ENTRADA]);' T_FACTURACIONEXPEDIENTERESUMIDA'[DIASSINCOBRAR]>0; USERELATIONSHIP(T_CALENDARIO[Fecha];' T_FACTURACIONEXPEDIENTERESUMIDA'[FECHAFACTURA]); FILTER(ALL(T_CALENDARIO[Fecha]); T_CALENDARIO[Fecha]<=MAX(T_CALENDARIO[Fecha])))
Var PendienteCobro = Facturado-Cobrado
devolución
PendienteCobro
Syndicate_Admin
Administrator
Administrator

Source Community: Power BI | Source Author Name: VijayP
Syndicated - Inbound

@PwrBI01

Mira la Fórmula para LA PRUEBA 3 para obtener tu solución

PBIX Adjunto

VijayP_0-1612455879060.png

Source Community: Power BI | Source Author Name: PwrBI01
Syndicated - Inbound

Hay @VijayP

Gracias por su respuesta, pero no funciona como esperaba.

Hice algunos cambios:

  1. Pon la relación como inactiva porque necesito tenerla así.
  2. Crear una nueva medida llamada 'Prueba 4'

El resultado para 2019 está funcionando correctamente, pero no es el caso para 2017 y 2018, porque los resultados deben ser los siguientes:

Imagen5.png

Creo que el problema es que la medida no está aplicando correctamente la fecha máxima para cada año (la parte que puse en negrita):

Prueba 4 ?

Var Facturacion á CALCULATE(SUM('T_FACTURACIONEXPEDIENTERESUMIDA'[TOTALAPAGAR]);' T_FACTURACIONEXPEDIENTERESUMIDA'[DIASSINCOBRAR]>0)

Var Cobro - CALCULATE(SUM('T_FACTURACIONEXPEDIENTERESUMIDA'[ENTRADA];' T_FACTURACIONEXPEDIENTERESUMIDA'[DIASSINCOBRAR]>0)

Var PendienteCobro = Facturacion-Cobro

Var PendienteCobroAcumulado = CALCULATE(PendienteCobro; USERELATIONSHIP(T_FACTURACIONEXPEDIENTERESUMIDA[FECHAFACTURA]; T_CALENDARIO[Fecha]); FILTER(ALLSELECTED(T_CALENDARIO[Fecha]); T_CALENDARIO[Fecha]<=MAX(T_CALENDARIO[Fecha])))

devolución

PendienteCobroAcumulado

El enlace al archivo está https://www.dropbox.com/s/kip4r60nztzkzmc/Prueba%20Power%20BI.pbix?dl=0

Gracias de antemano

saludos

Source Community: Power BI | Source Author Name: PwrBI01
Syndicated - Inbound

Hay @VijayP

Gracias por su respuesta, pero no funciona como esperaba.

Hice algunos cambios:

1. Ponga la relación como inactiva porque necesito tenerla así.

2. Cree una nueva medida llamada "Prueba 4" que dé los siguientes resultados:

Imagen 5.png

El resultado para 2019 está funcionando correctamente, pero no es el caso para 2017 y 2018, porque los resultados deben ser los siguientes:

Imagen5.png

Creo que el problema es que la medida no está aplicando correctamente la fecha máxima para cada año (la parte que puse en negrita):

Prueba 4 ?
Var Facturacion á CALCULATE(SUM('T_FACTURACIONEXPEDIENTERESUMIDA'[TOTALAPAGAR]);' T_FACTURACIONEXPEDIENTERESUMIDA'[DIASSINCOBRAR]>0)
Var Cobro - CALCULATE(SUM('T_FACTURACIONEXPEDIENTERESUMIDA'[ENTRADA];' T_FACTURACIONEXPEDIENTERESUMIDA'[DIASSINCOBRAR]>0)
Var PendienteCobro = Facturacion-Cobro
Var PendienteCobroAcumulado = CALCULATE(PendienteCobro; USERELATIONSHIP(T_FACTURACIONEXPEDIENTERESUMIDA[FECHAFACTURA]; T_CALENDARIO[Fecha]); FILTER(ALLSELECTED(T_CALENDARIO[Fecha]); T_CALENDARIO[Fecha]<=MAX(T_CALENDARIO[Fecha])))
devolución
PendienteCobroAcumulado

El enlace al archivo está https://www.dropbox.com/s/kip4r60nztzkzmc/Prueba%20Power%20BI.pbix?dl=0

Gracias de antemano

saludos

Source Community: Power BI | Source Author Name: PwrBI01
Syndicated - Inbound

Hay @VijayP

Gracias por su respuesta, pero no funciona como esperaba.

Hice algunos cambios:

1. Ponga la relación como inactiva porque necesito tenerla así.

2. Cree una nueva medida llamada "Prueba 4" que dé los siguientes resultados:

Imagen 5.png

El resultado para 2019 está funcionando correctamente, pero no es el caso para 2017 y 2018, porque los resultados deben ser los siguientes:

Imagen5.png

Creo que el problema es que la medida no está aplicando correctamente la fecha máxima para cada año (la parte que puse en negrita):

Prueba 4 ?
Var Facturacion á CALCULATE(SUM('T_FACTURACIONEXPEDIENTERESUMIDA'[TOTALAPAGAR]);' T_FACTURACIONEXPEDIENTERESUMIDA'[DIASSINCOBRAR]>0)
Var Cobro - CALCULATE(SUM('T_FACTURACIONEXPEDIENTERESUMIDA'[ENTRADA];' T_FACTURACIONEXPEDIENTERESUMIDA'[DIASSINCOBRAR]>0)
Var PendienteCobro = Facturacion-Cobro
Var PendienteCobroAcumulado = CALCULATE(PendienteCobro; USERELATIONSHIP(T_FACTURACIONEXPEDIENTERESUMIDA[FECHAFACTURA]; T_CALENDARIO[Fecha]); FILTER(ALLSELECTED(T_CALENDARIO[Fecha]); T_CALENDARIO[Fecha]<=MAX(T_CALENDARIO[Fecha])))
devolución
PendienteCobroAcumulado

El enlace al archivo está https://www.dropbox.com/s/kip4r60nztzkzmc/Prueba%20Power%20BI.pbix?dl=0

Gracias de antemano.

Source Community: Power BI | Source Author Name: PwrBI01
Syndicated - Inbound

Hay @VijayP

Gracias por su respuesta, pero no funciona como esperaba.

Hice algunos cambios:

1. Ponga la relación como inactiva porque necesito tenerla así.

2. Cree una nueva medida llamada "Prueba 4" que dé los siguientes resultados:

Imagen 5.png

El resultado para 2019 está funcionando correctamente, pero no es el caso para 2017 y 2018, porque los resultados deben ser los siguientes:

Imagen5.png

Creo que el problema es que la medida no está aplicando correctamente la fecha máxima para cada año (la parte que puse en negrita):

Prueba 4 ?
Var Facturacion á CALCULATE(SUM('T_FACTURACIONEXPEDIENTERESUMIDA'[TOTALAPAGAR]);' T_FACTURACIONEXPEDIENTERESUMIDA'[DIASSINCOBRAR]>0)
Var Cobro - CALCULATE(SUM('T_FACTURACIONEXPEDIENTERESUMIDA'[ENTRADA];' T_FACTURACIONEXPEDIENTERESUMIDA'[DIASSINCOBRAR]>0)
Var PendienteCobro = Facturacion-Cobro
Var PendienteCobroAcumulado = CALCULATE(PendienteCobro; USERELATIONSHIP(T_FACTURACIONEXPEDIENTERESUMIDA[FECHAFACTURA]; T_CALENDARIO[Fecha]); FILTER(ALLSELECTED(T_CALENDARIO[Fecha]); T_CALENDARIO[Fecha]<=MAX(T_CALENDARIO[Fecha])))
devolución
PendienteCobroAcumulado

El enlace al archivo está https://www.dropbox.com/s/kip4r60nztzkzmc/Prueba%20Power%20BI.pbix?dl=0

Gracias de antemano.

Syndicate_Admin
Administrator
Administrator

Source Community: Power BI | Source Author Name: VijayP
Syndicated - Inbound

@PwrBI01

Los datos de ejemplo ayudarían a ofrecer una solución más clara. ¡Apreciamos tus Felicitaciones!

Source Community: Power BI | Source Author Name: PwrBI01
Syndicated - Inbound

Hay @VijayP

Gracias por su respuesta, pero no funciona como esperaba.

Hice algunos cambios:

1. Ponga la relación como inactiva porque necesito tenerla así.

2. Cree una nueva medida llamada "Prueba 4" que dé los siguientes resultados:

Imagen 5.png

El resultado para 2019 está funcionando correctamente, pero no es el caso para 2017 y 2018, porque los resultados deben ser los siguientes:

Imagen5.png

Creo que el problema es que la medida no está aplicando correctamente la fecha máxima para cada año (la parte que puse en negrita):

Prueba 4 ?
Var Facturacion á CALCULATE(SUM('T_FACTURACIONEXPEDIENTERESUMIDA'[TOTALAPAGAR]);' T_FACTURACIONEXPEDIENTERESUMIDA'[DIASSINCOBRAR]>0)
Var Cobro - CALCULATE(SUM('T_FACTURACIONEXPEDIENTERESUMIDA'[ENTRADA];' T_FACTURACIONEXPEDIENTERESUMIDA'[DIASSINCOBRAR]>0)
Var PendienteCobro = Facturacion-Cobro
Var PendienteCobroAcumulado = CALCULATE(PendienteCobro; USERELATIONSHIP(T_FACTURACIONEXPEDIENTERESUMIDA[FECHAFACTURA]; T_CALENDARIO[Fecha]); FILTER(ALLSELECTED(T_CALENDARIO[Fecha]); T_CALENDARIO[Fecha]<=MAX(T_CALENDARIO[Fecha])))
devolución
PendienteCobroAcumulado

Gracias de antemano.

Source Community: Power BI | Source Author Name: PwrBI01
Syndicated - Inbound

No @VijayP,

Te envío una muestra de datos (esta no es la original, que es mucho más grande), por lo que necesito mantener la relación no activada entre ambas tablas.

El enlace es https://www.dropbox.com/s/kip4r60nztzkzmc/Prueba%20Power%20BI.pbix?dl=0

Gracias de antemano.

Syndicate_Admin
Administrator
Administrator

Source Community: Power BI | Source Author Name: VijayP
Syndicated - Inbound

@PwrBI01

Esta es la fórmula para crear una relación virtual
Ingresos basados en la fecha de entrega: CALCULATE([Total Revenue],USERELATIONSHIP(Dates[Date],Sales[Delivery Date]))
Entrega acumulada ?
CALCULATE([revenue based on delivery date],FILTER(ALL(Dates),Dates[Date]<-MAX(Dates[Date]))
¡Espero que esto ayude!

Source Community: Power BI | Source Author Name: PwrBI01
Syndicated - Inbound

No @VijayP,

Gracias por su respuesta, lo intenté pero no funciona.

saludos.

avatar user

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

Jan NL Carousel

Fabric Community Update - January 2025

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

Top Kudoed Authors (Last Month)