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

Problema con El Total General y el SubTotal

Hola, tengo un gran problema con una medida y no sé cómo resolverlo.

Dulce_Gamez4_0-1637928551764.png

  1. En este caso, tengo 2 modelos de datos. El primero con el DNI Estudiante (y otras cosas) y el segundo con los precios de la cuota de reserva, la matrícula, la matrícula y los descuentos de cada estudiante.
  2. la relación entre estas dos tablas es por el PK (ID Estudiante + año de matrícula)
  3. En el momento de analizar la matriz la cantidad es correcta para cada alumno pero no para los grupos -> LICENCIATURA ->UNIVERSIDAD -> GRAN TOTAL.
  4. Quiero calcular el "PREVISIÓN" que tiene muchas condiciones debido al descuento de cada estudiante (muchos tipos de conceptos de descuentos). Aquí está la medida.
  5. Dulce_Gamez4_0-1638178900399.png

    Facturacion_Prevision21 =
    var C70= IF(ISBLANK(MAX(MONTOS_DESC[C70_IMPORTE])),0,MAX(MONTOS_DESC[C70_IMPORTE]))
    var C71= IF(ISBLANK(MAX(MONTOS_DESC[C71_IMPORTE])),0,MAX(MONTOS_DESC[C71_IMPORTE]))
    var C72= IF(ISBLANK(MAX(MONTOS_DESC[C72_IMPORTE])),0,MAX(MONTOS_DESC[C72_IMPORTE]))
    var C73= IF(ISBLANK(MAX(MONTOS_DESC[C73_IMPORTE])),0,MAX(MONTOS_DESC[C73_IMPORTE]))
    var C74= IF(ISBLANK(MAX(MONTOS_DESC[C74_IMPORTE])),0,MAX(MONTOS_DESC[C74_IMPORTE]))
    var dto_reserva_cons = IF(ISBLANK(MAX(MONTOS_DESC[DTO_RESERVA])),0,MAX(MONTOS_DESC[DTO_RESERVA]))
    var dto_matricula_cons = IF(ISBLANK(MAX(MONTOS_DESC[DTO_MATRICULA])),0,MAX(MONTOS_DESC[DTO_MATRICULA]))
    var c90= MAX(MONTOS_DESC[C90_IMPORTE])
    var c91= MAX(MONTOS_DESC[C91_IMPORTE])
    var c92= MAX(MONTOS_DESC[C92_IMPORTE])
    var c93= MAX(MONTOS_DESC[C93_IMPORTE])


    var PVPReserva = CALCULATE(SUM(MONTOS_DESC[PVP_Reserva]))
    var FechaReserva= MAX(MONTOS_DESC[F_RESERVA])
    var Dto_Reserva= IF(C70=0,IF(C72=0,IF(dto_reserva_cons=0,0,dto_reserva_cons),PVPReserva*C72/100),PVPReserva*C70/100)
    var PVPMatricula = CALCULATE(SUM(MONTOS_DESC[PVP_Matricula]))
    var FechaMatricula= MAX(MONTOS_DESC[F_MATRICULA])
    var MATRICULA = IF(PVPMatricula=0,0,IF(ISBLANK(FechaMatricula),0,PVPMatricula-dto_matricula_cons))
    var Dto_Matricula = IF(C70=0,IF(C73=0,IF(dto_matricula_cons=0,0,dto_matricula_cons),PVPMatricula*C73/100),PVPMatricula*C70/100)
    var PVPDocencia = CALCULATE(SUM(MONTOS_DESC[PVP_ENS]))
    var Porcentaje_Descuento = CALCULAR(SUMA(MONTOS_DESC[PORCENTAJE_DTO])/100)

    var DTO_ENSENANZA = IF(C70=0,IF(C71=0,IF(C74=0,IF(AND(OR([Sector]=1,[Sector]=2),c91<>0),PVPDocencia*Porcentaje_Descuento,IF(AND(AND(OR([Sector]=1,[Sector]=2),c91=0)),c92<>0),(PVPDocencia+PVPReserva)*Porcentaje_Descuento,IF(AND(OR([Sector]=1,[Sector]=2),Porcentaje_Descuento=0),c90,IF(AND([Sector]=3, c91<>0),PVPDocencia*Porcentaje_Descuento,IF(AND(AND([Sector]=3,c91=0),c92<>0),PVPDocencia*Porcentaje_Descuento,IF(AND([Sector]=3,Porcentaje_Descuento=0),c90,0))))))),PVPDocencia*C74/100),PVPDocencia*C71/100),PVPDocencia*C70/100)

    var PagoReserva = IF(ISBLANK(FechaReserva),0,PVPReserva-Dto_Reserva)
    var PendienteReserva= PVPReserva-(PagoReserva+Dto_Reserva)
    var PagoMatricula = IF(MATRICULA>PVPMatricula,PVPMatricula,MATRICULA)
    var PendienteMatricula = PVPMatricula-(PagoMatricula+Dto_Matricula)
    var PendienteDocencia= PVPDocencia- DTO_ENSENANZA

    volver PagoReserva+PendienteMatricula+PagoMatricula+PendienteMatricula+PendienteDocencia

  • SECTOR ES LA UNIVERSIDAD
  • Dulce_Gamez4_1-1638180015208.png

    Sector =
    var a = SELECTEDVALUE(MONTOS_DESC[VC_SECTOR])

    devolución
    SWITCH( TRUE(),
    a = "ABIERTO" , 1,
    a = "CF" , 2,
    a = "UAX" , 3,
    0)

He pasado mucho tiempo tratando de resolverlo ... podría ser algo con jerarquía o utilizar SUMX o MAXX, pero no tengo conocimientos y habilidades más profundas para trabajar con eso para ver si ese es el problema o no ... Si pudieras ayudarme lo agradeceré.

Gracias.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Probar

Facturación _Prevision_21 =
SUMX ( VALUES ( Table[Línea de negocio] ), [Facturación_Previsión21] )

View solution in original post

1 REPLY 1
Syndicate_Admin
Administrator
Administrator

Probar

Facturación _Prevision_21 =
SUMX ( VALUES ( Table[Línea de negocio] ), [Facturación_Previsión21] )

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.