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
OliverMunro
Frequent Visitor

Total acumulado en una medida con parámetro What-If

Tengo un problema que ha estado haciendo mi cabeza por un tiempo.

Quiero tener una medida DAX que pueda rastrear un Total en ejecución.

La razón por la que necesito una medida en lugar de una columna calculada es debido a los parámetros What-If.

Fondo:

Los datos que tengo son una medida que calcula un ahorro anual promedio. (Eso no cambia).

A continuación, tengo un parámetro What-If para cambiar la tasa de interés.

Durante los próximos 5-30 años que luego me muestra el valor esperado en el futuro.


Lo que no puedo encontrar es una manera fácil de mostrar estos datos a medida que se compilan. Después de días de tratar de hacerlo agradable, finalmente lo he masacrado y hecho lo siguiente:

Ahorros acumulados ?
Año 1 de VAR [Ahorro anual medio]*((1+[Valor de tasa de interés anual])-(1))
Var Year2 - [Ahorro anual medio]*((1+[Valor de tasa de interés anual])+Año1
...
...
...
Año 29 del VAR [ [Ahorro anual medio]*((1+[Valor de tipo de interés anual])+Año29
VAR Year30 - [Ahorro anual medio]*((1+[Valor de tasa de interés anual])+Año30
devolución
SUMX(
FILTRO('Tabla de pago','Tabla de devolución de pagos'[Año]<'[Valor de vida del proyecto]),
IF([Año]-1,Año1,
IF([Año]-2,Año2,
...
...
...
IF([Año]-30,Año30,
BLANK()))))))))))))))))))))))))))))))))))))))))))))
Sé que no es genial, pero no puedo encontrar otra forma de hacerlo. Casi puedo salirme con la suya esta vez, pero para cualquier cosa con más de 30 posibilidades, no funcionará. Por favor, ayuda.
A continuación se muestra una tabla con datos esperados de ejemplo:
añoTasa de interésAhorros cada añoAhorros acumulados

0

$10,000.00

1

0.049

$10,490.00

$10,490.00

2

0.049

$11,004.01

$21,494.01

3

0.049

$11,543.21

$33,037.22

4

0.049

$12,108.82

$45,146.04

5

0.049

$12,702.16

$57,848.20

6

0.049

$13,324.56

$71,172.76

7

0.049

$13,977.47

$85,150.22

8

0.049

$14,662.36

$99,812.58

9

0.049

$15,380.82

$115,193.40

10

0.049

$16,134.48

$131,327.88

11

0.049

$16,925.07

$148,252.94

12

0.049

$17,754.39

$166,007.34

13

0.049

$18,624.36

$184,631.70

14

0.049

$19,536.95

$204,168.65

15

0.049

$20,494.26

$224,662.91

16

0.049

$21,498.48

$246,161.40

17

0.049

$22,551.91

$268,713.30

18

0.049

$23,656.95

$292,370.26

19

0.049

$24,816.14

$317,186.40

20

0.049

$26,032.13

$343,218.53

21

0.049

$27,307.71

$370,526.24

22

0.049

$28,645.79

$399,172.03

23

0.049

$30,049.43

$429,221.46

24

0.049

$31,521.85

$460,743.31

25

0.049

$33,066.42

$493,809.73

26

0.049

$34,686.68

$528,496.41

27

0.049

$36,386.32

$564,882.73

28

0.049

$38,169.25

$603,051.98

29

0.049

$40,039.55

$643,091.53

30

0.049

$42,001.49

$685,093.02

NOTA: La fórmula para el Interés para un año determinado es:

Valor de Ahorro Inicial * (1+Tasa de Interés)-Año

por ejemplo,10,000(1-0.049)-14

5 REPLIES 5
OliverMunro
Frequent Visitor

Si alguien está teniendo este problema en el futuro, me había decidido, pero encontré la respuesta después de una gran cantidad de prueba y error

Ahorros acumulados ?
VALORES Acumulativos de VAR ?
CALCULAR(
SUMX(
ADDCOLUMNS('Tabla de pago',

"Ahorros",
SWITCH(TRUE(),
[Año]-0, BLANCO(),
[Año]-1, [Ahorros Anuales],
[Año]<-[Valor de vida del proyecto],[Ahorros anuales]*(1+[Valor de IPC])-([Año]-1),
BLANCO())
),
[Ahorros]),

FILTRO(ALL('Tabla de pago'), 'Tabla de pago'[Año]<'MAX('Tabla de pago'[Año]))
)

devolución

SUMX(
ADDCOLUMNS(
FILTRO (
FILTRO('Tabla de pago', [Año]<'[Valor de vida del proyecto]),
[Año]>0),
"Año real", [Año]+1,
"Ahorros acumulativos", Valores Acumulativos
),
[Ahorros acumulados])

Ashish_Mathur
Super User
Super User

Hola

Comparte el enlace desde donde puedo descargar tu archivo PBI.


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/
Greg_Deckler
Super User
Super User

Yo pensaría:

Cumulative Savings =
  VAR __Table = 
    ADDCOLUMNS(
      SUMMARIZE(
        'Table',
        [Year],
        "__Average",SUM('Table'[Average Annual Savings]),
        "__InterestRate",MAX('Table'[Interest Rate])
      ),
      "__Savings",[__Average]*((1+[__InterestRate])^([Year]))
    )
RETURN
  SUMX(__Table,[__Savings])


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

La salida que obtengo de eso es sólo la tercera columna, lo que necesito es la cuarta columna.

No estoy seguro de si mi comprensión es correcta, pero creo que el problema con eso es mientras está iterando a través de SUMX, sólo va a calcular y sumar los ahorros de un año sin agregar todos los valores anteriores.

Hola @OliverMunro ,

Puede modificar las fórmulas para satisfacer sus requisitos.

Savings =
CALCULATE (
    10000
        * ( 1 + Parameter[Parameter Value] )
            ^ MAX ( 'Table'[Year] ),
    FILTER ( ALL ( 'Table' ), 'Table'[Year] <= MAX ( 'Table'[Year] ) )
)


Running Savings = 
CALCULATE (
    SUMX ( 'Table', [Savings] ),
    FILTER (
        ALL ( 'Table' ),
        'Table'[Year] <= MAX ( 'Table'[Year] )
            && 'Table'[Year] >= 1
    )
)

2.PNG

Por cierto, el parámetro what-if puede redondear el valor a veces. Es por diseño más que por un problema. Se ha causado que el rango sea demasiado grande y que se muestreen los números. Por lo tanto, no todo el valor se puede escribir como un solo valor. Es una limitación de qué si parámetro, por favor revise las siguientes ideas y comentar sobre ellas.

Limitaciones de la segmentación de parámetros What-if
"what if" parámetro - desactivar el muestreo para que todos los números se generan en un rango

Para obtener más información, consulte el archivo adjunto.

Saludos

Xue Ding

Si este post Ayuda, entonces por favor considereAcéptelo como la soluciónpara ayudar a los otros miembros a encontrarlo más rápidamente.

Best Regards,
Xue Ding
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

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.