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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Syndicate_Admin
Administrator
Administrator

Divida utilizando si , y sumar resultado como sumx

hola

Hice ejemplo:

Ingresos, objetivo de ingresos. y si el objetivo alcanzó más del 100%, entonces el bono debe ser pagado.

tabla en colums sigle muestra ok : bono alcanzado en enero y febrero, en reparaciones. y el último colum dice 50 y 60 euros.

pero cómo conseguir total 110 euros, no 180. ya que 180 es bonos totales disponibles.

debe usarse sumx, pero no más de una tabla en calcualción:

3 tablas (ingresos, objetivos, bonos)

ahora la fórmula de pago de bonos es

pago de bonificación = if(DIVIDE(SUM('Revenue'[Revenue]), SUM('Targets'[Revenue Taget]))>1,sum(Bonus[Bonus if reached target]),0)
pero total no está bien .. (última columna)

pauliuseg_0-1622141222053.png

aquí está el modelo simple:

pauliuseg_1-1622141383773.png

thaks mucho !

como atascado aquí durante horas .. 😄

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

@pauliuseg

Un par de cosas:

1. Siempre debe utilizar una tabla de calendario bien formada. Debe tener años completos. Vea aquí: https://dax.guide/functions/time-intelligence/

2. Recomiendo encarecidamente no utilizar la función De fecha y hora automática

Si no utiliza la función Fecha/hora automática, agregue una nueva columna a la tabla de calendario con el nombre del mes y cree esta medida en función de la que ya tenga:

Measure = 
SUMX (
    CROSSJOIN (
        DISTINCT ( 'Calendar'[MonthName] ),
        DISTINCT ( Service_type[Service_type] )
    ),
    [bonus payout]
)

Si desea seguir utilizando la función Fecha/hora automática, puede utilizar esta medida, de nuevo en función de la que ya tenga:

Measure V2 = 
SUMX (
    CROSSJOIN (
        DISTINCT ( 'Calendar'[Date].[Month] ),
        DISTINCT ( Service_type[Service_type] )
    ),
    [bonus payout]
)

Véalo todo en el archivo adjunto.

SU18_powerbi_badge

Por favor, acepte la solución cuando haya terminado y considere la posibilidad de dar un pulgar hacia arriba si las publicaciones son útiles.

Póngase en contacto conmigo de forma privada para obtener soporte con cualquier necesidad de BI a mayor escala, tutoría, etc.

View solution in original post

6 REPLIES 6
Syndicate_Admin
Administrator
Administrator

@pauliuseg

Un par de cosas:

1. Siempre debe utilizar una tabla de calendario bien formada. Debe tener años completos. Vea aquí: https://dax.guide/functions/time-intelligence/

2. Recomiendo encarecidamente no utilizar la función De fecha y hora automática

Si no utiliza la función Fecha/hora automática, agregue una nueva columna a la tabla de calendario con el nombre del mes y cree esta medida en función de la que ya tenga:

Measure = 
SUMX (
    CROSSJOIN (
        DISTINCT ( 'Calendar'[MonthName] ),
        DISTINCT ( Service_type[Service_type] )
    ),
    [bonus payout]
)

Si desea seguir utilizando la función Fecha/hora automática, puede utilizar esta medida, de nuevo en función de la que ya tenga:

Measure V2 = 
SUMX (
    CROSSJOIN (
        DISTINCT ( 'Calendar'[Date].[Month] ),
        DISTINCT ( Service_type[Service_type] )
    ),
    [bonus payout]
)

Véalo todo en el archivo adjunto.

SU18_powerbi_badge

Por favor, acepte la solución cuando haya terminado y considere la posibilidad de dar un pulgar hacia arriba si las publicaciones son útiles.

Póngase en contacto conmigo de forma privada para obtener soporte con cualquier necesidad de BI a mayor escala, tutoría, etc.

Whow !

primero - gracias por explanatiosn, sí, esta tabla de tiempo que acabo de crear con el propósito de prueba para estar lo más cerca posible de mi archivo real.

segundo - muchas gracias por la solución, estaba tan atascado en este lugar, y no podía seguir adelante, ya que esta cifra era necesaria en pocos lugares.

muchas gracias, pasar un tiempo y escribir fórmula !

Syndicate_Admin
Administrator
Administrator

No @pauliuseg

¿Puede compartir el pbix donde construyó el modelo simulado?

SU18_powerbi_badge

Por favor, acepte la solución cuando haya terminado y considere la posibilidad de dar un pulgar hacia arriba si las publicaciones son útiles.

Póngase en contacto conmigo de forma privada para obtener soporte con cualquier necesidad de BI a mayor escala, tutoría, etc.

Syndicate_Admin
Administrator
Administrator

Hey @pauliuseg ,

puede utilizar si está en el argumento SUMX.

Pruebe la siguiente medida:

Bonus payout =
SUMX(
    'Revenue',
    IF(
        'Revenue'[Revenue] <> BLANK() && 'Revenue'[Revenue Target] <> BLANK(),
        'Revenue'[Bonus],
        BLANK()
    )
)

Si necesitas ayuda, por favor avísame.
Si respondiera a su pregunta, estaría feliz si pudiera marcar mi publicación como una solución ✔️ y darle un pulgar hacia arriba 👍
Saludos
Denis

Hola, se ve bien, pero los problemas, primero, tal vez se perdió los nombres de las tablas, ya que el objetivo de ingresos está en la tabla objetivos, así que corrí, y luego obtendo lo que tengo antes. así que la fórmula es (de 3 tablas..)

Pago de bonificación =
SUMX(
'Ingresos',
IF(
«Ingresos»[Ingresos] <> BLANK() && 'Targets'[Revenue Taget] <> BLANK(),
'Bono'[Bono si se alcanza el objetivo],
BLANK()
)
)

y el error...

pauliuseg_0-1622181464597.png

en la publicación superior he añadido el archivo, si alguien parecería mirar el problema ..

Helpful resources

Announcements
Sept PBI Carousel

Power BI Monthly Update - September 2024

Check out the September 2024 Power BI update to learn about new features.

September Hackathon Carousel

Microsoft Fabric & AI Learning Hackathon

Learn from experts, get hands-on experience, and win awesome prizes.

Sept NL Carousel

Fabric Community Update - September 2024

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

Top Solution Authors