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
abdulmannan1991
Helper II
Helper II

SUM (Sub-Total) de valores personalizados mediante Medir

Hola. ¡Ayuda necesaria, por favor! No puedo calcular el subtotal de valores personalizados.

He creado una tabla (MyTable) con 2 columnas, como se indica a continuación:

Número de mesMes
1Mes 1
2Mes 2
3Mes 3
4Mes 4

He creado un parámetro What-IF (slicer) para seleccionar el valor de gasto anual.

Luego, creé la siguiente medida para calcular el gasto mensual y para mostrar la suma total:

Gasto mensual: IF(HASONEVALUE(MyTable[Month]), SUM('Annual Spend'[Annual Spend])/12, (SUM('Annual Spend'[Annual Spend])/12)*MAX(MyTable[Month Number]))

De hecho, necesito aplicar un porcentaje de ahorro a cada mes por separado, y luego calcular los ahorros por mes y la suma de ahorros totales, así que creé 4 parámetros What-IF (rebanadas) para la selección de % de ahorro mensual. Y luego creé la siguiente medida para calcular el ahorro mensual y la suma de los ahorros totales:

Ahorrototales : 
IF(SUM(MyTable[Número de mes])<-1, [Gasto mensual] * '% de ahorro (Mes 1)'[% de ahorro (Mes 1) Valor],
    IF(SUM(MyTable[Número de mes])<2, [Gasto mensual] * '% de ahorro (Mes 2)'[% de ahorro (Mes 2) Valor],
        IF(SUM(MyTable[Número de mes])<-3 [Gasto mensual] * '% de ahorro (mes 3)'[% de ahorro (mes 3) valor],
            IF(SUM(MyTable[Número de mes])<-4, [Gasto mensual] * '% de ahorro (Mes 4)'[% de ahorro (mes 4) Valor],
               
                ([Gasto mensual] * (''Gastos mensuales] % de ahorro (Mes 1)'[% de ahorro (Mes 1) Valor] + '% de ahorro (Mes 2)'[% de ahorro (Mes 2) Valor] + '% de ahorro (Mes 3)'[% de ahorro (Mes 3) Valor] + '% de ahorro (mes 4)'[% de ahorro (mes 4) valor]))

))))

La medida anterior me da valores correctos para los ahorros mensuales, pero no da la suma total correcta!! Sé que el DAX es incorrecto en la declaración ELSE, pero no sé la respuesta correcta. Puede ser que la declaración elSE es incorrecta, o todo mi DAX o Proceso es incorrecto para el cálculo de la suma mensual de los ahorros y la suma total!!

Por favor, ¿puede ayudar con el DAX correcto? O puede ser sugerir una alternativa para todo el DAX / Medida / Proceso, etc.

Como referencia, el archivo base está disponible en el enlace de dropbox que se indica a continuación.

https://www.dropbox.com/t/US9uDK9V6srQCJwo

Se adjunta una instantánea del Pbix.

Por ejemplo, para el número de mes hasta 3 y el gasto anual de 1.200.000, y el porcentaje de ahorro para el mes 1, 2 y 3 siendo 20%, 10% y 5% respectivamente, los ahorros por mes (en la tabla) son correctos, es decir, 20.000, 10.000 y 5.000... Sin embargo, la suma total sale a ser 108.000 que es incorrecta (y lo ideal es ser 20.000 + 10.000 + 5.000 a 35.000).

Gracias.

Capture 1.PNG

2 ACCEPTED SOLUTIONS

@abdulmannan1991 , Ver si se puede simplificar de esta manera

sumx(values(myTable[Month])

Interruptor ( true(),
max(MyTable[Número de mes])<-1,'% de ahorro (Mes 1)'[% de ahorro (Mes 1) ,
max(MyTable[Número de mes])<-2,'% de ahorro (Mes 1)'[% de ahorro (mes 2) ,
max(MyTable[Número de mes])<-3,'% de ahorro (Mes 1)'[% de ahorro (Mes 3) ,
max(MyTable[Número de mes])<-4,'% de ahorro (Mes 1)'[% de ahorro (mes 4)
)*[Gasto sin cargo]

View solution in original post

v-xicai
Community Support
Community Support

No @abdulmannan1991 ,

Puede crear una medida como DAX a continuación para reemplazar la medida original que se muestra en el objeto visual Tabla.

Total Sum =

VAR _table = SUMMARIZE('MyTable',[Month],"_Value",[Total Savings])

RETURN

IF(HASONEVALUE('MyTable'[Month]),[Total Savings],SUMX(_table,[_Value]))

100.png

Saludos

Amy

Equipo de apoyo a la comunidad _ Amy

Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

6 REPLIES 6
amitchandak
Super User
Super User

@abdulmannan1991 ,

Sumx(summarize(MyTable, MyTable[Month Number],"_1",[Total Savings]),[_1])

Sumx(values(MyTable[Month Number]),[Total Savings])

A ver si puedes simplificarlo así

sumx(values(myTable[Month])

Interruptor ( true(),
max(MyTable[Número de mes])<-1,'% de ahorro (Mes 1)'[% de ahorro (Mes 1) ,
max(MyTable[Número de mes])<-2,'% de ahorro (Mes 1)'[% de ahorro (mes 2) ,
max(MyTable[Número de mes])<-3,'% de ahorro (Mes 1)'[% de ahorro (Mes 3) ,
max(MyTable[Número de mes])<-4,'% de ahorro (Mes 1)'[% de ahorro (mes 4)
)*[Gasto sin cargo]

v-xicai
Community Support
Community Support

No @abdulmannan1991 ,

Puede crear una medida como DAX a continuación para reemplazar la medida original que se muestra en el objeto visual Tabla.

Total Sum =

VAR _table = SUMMARIZE('MyTable',[Month],"_Value",[Total Savings])

RETURN

IF(HASONEVALUE('MyTable'[Month]),[Total Savings],SUMX(_table,[_Value]))

100.png

Saludos

Amy

Equipo de apoyo a la comunidad _ Amy

Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

amitchandak
Super User
Super User

@abdulmannan1991 , tratar como

Sumx(summarize(MyTable, MyTable[Month Number],"_1",[Total Savings]),[_1])

Sumx(values(MyTable[Month Number]),[Total Savings])

Hola @amitchandak

Super Gracias!! Ambas medidas funcionan perfectamente bien.

¿Quieres que haga algún cambio en mi Medida de ahorro (dada a continuación)?

Sé que la declaración ELSE es incorrecta, por lo tanto no da SUM total.

Es decir, ([Gasto mensual] * ('% de ahorro (mes 1)'[% de ahorro (mes 1) valor] + '% de ahorro (mes 2)'[% de ahorro (mes 2) valor] + '% de ahorro (mes 3)'[% de ahorro (mes 3) valor] + '% de ahorro (mes 4)'[% de ahorro (mes 4) valor]))

¿Debería reemplazarse por otra cosa?

Total Savings = 
IF(SUM(MyTable[Month Number])<=1, [Monthly Spend] * 'Savings % (Month 1)'[Savings % (Month 1) Value],
    IF(SUM(MyTable[Month Number])<=2, [Monthly Spend] * 'Savings % (Month 2)'[Savings % (Month 2) Value],
        IF(SUM(MyTable[Month Number])<=3, [Monthly Spend] * 'Savings % (Month 3)'[Savings % (Month 3) Value],
            IF(SUM(MyTable[Month Number])<=4, [Monthly Spend] * 'Savings % (Month 4)'[Savings % (Month 4) Value],
               
                ([Monthly Spend] * ('Savings % (Month 1)'[Savings % (Month 1) Value] + 'Savings % (Month 2)'[Savings % (Month 2) Value] + 'Savings % (Month 3)'[Savings % (Month 3) Value] + 'Savings % (Month 4)'[Savings % (Month 4) Value]))

))))

@abdulmannan1991 , Ver si se puede simplificar de esta manera

sumx(values(myTable[Month])

Interruptor ( true(),
max(MyTable[Número de mes])<-1,'% de ahorro (Mes 1)'[% de ahorro (Mes 1) ,
max(MyTable[Número de mes])<-2,'% de ahorro (Mes 1)'[% de ahorro (mes 2) ,
max(MyTable[Número de mes])<-3,'% de ahorro (Mes 1)'[% de ahorro (Mes 3) ,
max(MyTable[Número de mes])<-4,'% de ahorro (Mes 1)'[% de ahorro (mes 4)
)*[Gasto sin cargo]

@amitchandak Muy útil. ¡Muchas gracias!

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.