Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
Estoy tratando de obtener el valor de la fecha máxima en función de la segmentación de datos. A continuación se muestra una explicación de lo que estoy tratando de hacer:
Aquí están mis datos iniciales:
Fondo | Fecha | Valor |
1 | 12/21/2021 | 100 |
1 | 3/15/2022 | 150 |
1 | 4/16/2022 | 50 |
2 | 11/14/2021 | 200 |
2 | 1/16/2022 | 150 |
2 | 2/16/2022 | 200 |
3 | 10/8/2021 | 300 |
3 | 1/15/2021 | 50 |
3 | 3/18/2022 | 150 |
Quiero que los datos muestren solo los valores de la fecha máxima seleccionada por la segmentación de datos y que el resto de los valores sean 0.
Así que si elijo una segmentación de datos con una fecha máxima del 31/03/2022, la siguiente sería la salida:
Fondo | Fecha | Valor |
1 | 12/21/2021 | 0 |
1 | 3/15/2022 | 150 |
1 | 4/16/2022 | 0 |
2 | 11/14/2021 | 0 |
2 | 1/16/2022 | 0 |
2 | 2/16/2022 | 200 |
3 | 10/8/2021 | 0 |
3 | 1/15/2021 | 0 |
3 | 3/18/2022 | 150 |
O si elijo una segmentación de datos con una fecha máxima del 18/02/2022, la siguiente sería la salida:
Fondo | Fecha | Valor |
1 | 12/21/2021 | 100 |
1 | 3/15/2022 | 0 |
1 | 4/16/2022 | 0 |
2 | 11/14/2021 | 0 |
2 | 1/16/2022 | 0 |
2 | 2/16/2022 | 200 |
3 | 10/8/2021 | 0 |
3 | 1/15/2021 | 50 |
3 | 3/18/2022 | 0 |
He probado la siguiente función, pero siempre elige la fecha máxima de todo el conjunto de datos y no la segmentación de datos.
Terminal Value Date = IF('Data'[Date]=MAXX(allselected('Data'),'Data'[Date]),'Data'[Value],0)
He intentado buscar en línea en los últimos días y parece que no puedo encontrar una solución que funcione. Cualquier consejo será muy apreciado. ¡Gracias!
¡Gracias! ¿Cuál es el Total en su medida?
Lo siento, no vi la descarga al principio. Probé su método, pero obtuve el siguiente error para el valor retenido:
"Todos los argumentos dentro de una función ALLEXCEPT deben estar relacionados con (o contenidos por) la tabla que se utiliza como primer argumento. Cuando existe una relación de uno a muchos, la tabla que se usa como primer argumento debe estar en el lado 'muchos' de esa relación".
El "Valor" que estoy usando en mi ejemplo es una columna calculada de un total en ejecución, y parece arrojar un error en la solución que sugirió. Vea a continuación.
Value =
CALCULATE(
SUM('Data'[Transaction Amount]),
FILTER(
'Data',
'Data'[Fund]=EARLIER('Data'[Fund])
&& 'Data'[Date] <= EARLIER('Data'[Date])
)
)
¿Tiene alguna sugerencia sobre cómo lidiar con el error? Cualquier ayuda es muy apreciada. ¡Gracias!
@CNENFRNL Gracias, realmente aprecio su ayuda. Este tipo de solución funciona, sin embargo, estoy tratando de calcular un XIRR del campo Accum más un campo de flujo de caja.
Así que si elijo un dato del 18/02/2022, los datos aparecerían como el siguiente:
Fondo | Fecha | Flujo de caja | Transacción Importe | Accum | Flujo de caja + Valor (Accum) |
1 | 12/21/2021 | (10.00) | 100 | 100 | 90.00 |
1 | 3/15/2022 | (30.00) | 50 | 0 | 0 |
1 | 4/16/2022 | (40.00) | -100 | 0 | 0 |
2 | 11/14/2021 | (50.00) | 200 | 0 | (50.00) |
2 | 1/16/2022 | 10.00 | -50 | 0 | 10.00 |
2 | 2/16/2022 | (20.00) | 50 | 200 | 180.00 |
3 | 1/15/2021 | (30.00) | 50 | 0 | (30.00) |
3 | 10/8/2021 | (60.00) | 250 | 300 | 240.00 |
3 | 3/18/2022 | 20.00 | -100 | 0 | 0 |
Puedo obtener una tabla que se parece a la anterior, sin embargo, el XIRR del Flujo de caja + Accum no se está calculando correctamente.
Para calcular Cashflow + Accum utilizo la siguiente medida:
Cashflow + Accum = sum('Data'[Cashflow])+_Measures[Accum]
Luego utilizo la siguiente medida para calcular el XIRR:
XIRR =
VAR Summary =
SUMMARIZE ( 'Data', 'Data'[Date], "@Amt", _Measures[Cashflow + Accum])
VAR FilterZeros =
FILTER ( Summary, [@Amt] <> 0 )
RETURN
XIRR ( FilterZeros, [@Amt], 'Data'[Date] )
Creo que el XIRR no está calculando correctamente porque la columna Cashflow + Accum es una medida y no calculada. ¿Tiene alguna sugerencia sobre cómo hacer que el XIRR funcione? Tenga en cuenta que los datos están compuestos y el XIRR puede no converger en el ejemplo que he dado.
Cualquier ayuda sería muy apreciada.
Gracias, eso no es exactamente lo que estoy buscando, pero realmente aprecio su esfuerzo. Para cada fondo solo debe haber un valor basado en la fecha máxima y el resto sería 0. La solución muestra todos los valores por debajo de la fecha máxima. Solo quiero que el valor de la fecha máxima más baja que la fecha de segmentación de datos. En las tablas a continuación destaqué las diferencias.
Entonces, por ejemplo, si elijo 18/02/2022 en su libro, obtengo los siguientes resultados:
Fondo | Fecha | Valor |
1 | 12/21/2021 | 100 |
1 | 3/15/2022 | 0 |
1 | 4/16/2022 | 0 |
2 | 11/14/2021 | 200 |
2 | 1/16/2022 | 150 |
2 | 2/16/2022 | 200 |
3 | 10/8/2021 | 300 |
3 | 1/15/2021 | 50 |
3 | 3/18/2022 | 0 |
Cuando lo que busco son los siguientes resultados cuando configuro la segmentación de datos en 18/02/2022:
Fondo | Fecha | Valor |
1 | 12/21/2021 | 100 |
1 | 3/15/2022 | 0 |
1 | 4/16/2022 | 0 |
2 | 11/14/2021 | 0 |
2 | 1/16/2022 | 0 |
2 | 2/16/2022 | 200 |
3 | 10/8/2021 | 0 |
3 | 1/15/2021 | 50 |
3 | 3/18/2022 | 0 |
Por favor, responda si tiene más pensamiento sobre el problema. De nuevo agradezco cualquier ayuda!!
@EFGPFS cambiar la medida en mi expediente a:
Measure Result =
VAR _current_date = MAX('Table'[Date])
VAR _max_selected_date = MAX('Calendar'[Date])
VAR _max_date_per_fund_before_max_selected_data =
CALCULATE(
MAX('Table'[Date]),
REMOVEFILTERS('Table'),
VALUES('Table'[Fund]),
'Table'[Date] < _max_selected_date
)
VAR _result =
IF(_current_date <= _max_date_per_fund_before_max_selected_data, SUM('Table'[Value]), 0)
RETURN
_result
Check out the September 2024 Power BI update to learn about new features.
Learn from experts, get hands-on experience, and win awesome prizes.