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.
Estoy tratando de devolver el sumproduct de los próximos 4 años de una medida por un multiplicador dinámico para diferentes previsiones financieras, pero no puedo conseguir que funcione. ¿Te preguntas si alguien podría ayudar?
Mis datos están en una tabla plana:
PronósticoNombre Fiscal TransacciónTipo Valor Previsión1 2019 préstamo 10 Pronóstico1 2020 préstamo 10 Pronóstico1 2021 préstamo 10 Pronóstico 1 2022 préstamo 20 Pronóstico1 2023 préstamo 25 Pronóstico2 2019 préstamo 30 Pronóstico2 2019 volumen de negocios 40 Pronóstico 30 Pronóstico 30 Pronóstico 503 Pronóstico 503 Pronóstico Facturación de 2020 50
Tengo una medida para calcular el endeudamiento:
Préstamos: CALCULATE(SUM(Table[Value]),Table[TransactionType]-"borrowing")
Y una medida para el silenciador (básicamente devuelve 1, 1, 0,5, 0o):
Multiplicador : VAR YearNumber ? MAX(Tabla[Año fiscal])-2018 RETURN IF(2.5 > YearNumber,1, IF(2.5 > YearNumber-1,.5,0))
Aquí está mi intento de escribir la medida de estilo de producto de suma:
Pronóstico de préstamos - VAR CurrentFiscalYear ? MAX(Table[Fiscal Year]) RETURN SUMX((FILTER(ALLEXCEPT(Table,Table[ForecastName]), Table[Fiscal Year] < CurrentFiscalYear + 4 && Table[Fiscal Year] > CurrentFiscalYear) Mutiplier x Borrowing)
La idea es que cuando pones la medida en una tabla con FiscalYear en la fila, filtrada por ForecastName, toma el Año Fiscal de la fila y lo coloca en la variable, luego lo usa para filtrar toda la tabla en los 3 Ejercicios actuales y siguientes, pero mantiene el filtro en ForecastName, a continuación, realiza el cálculo y lo suma. La tabla muestra mi resultado deseado para Forecast1:
Pronóstico de préstamo del año fiscal - DESEADO 2019 25 ((10*1)+(10*1)+(10*0.5)+(20*0)) 2020 30 ((10*1)+(10*1)+(20*0.5)+(25*0))
El resultado real es un gran número que no entiendo, pero creo que uno de los problemas es la parte ALLEXCEPT doesn't parecen estar funcionando..
También me pregunté si el hecho de que la medida que estoy tratando de utilizar en la parte de cálculo de SUMX contiene CALCULATE?
¡Muchas gracias!
Hola
Después de mi prueba (utilizando todos los datos y medidas de muestra), la medida [Pronóstico de préstamo] debe mostrarse así:
Por lo tanto, para su requisito, por favor tome los siguientes pasos:
1)Crear una tabla de segmentación separada:
Slicer Table = DISTINCT(SELECTCOLUMNS('Table',"Fiscal Year",'Table'[Fiscal Year]))
2)Pruebe esta medida:
Measure =
CALCULATE (
SUMX ( DISTINCT ( 'Table'[Fiscal Year] ), [Borrowing] * [Multiplier] ),
FILTER (
ALLSELECTED ( 'Table' ),
'Table'[ForecastName] = "Forecast1"
&& 'Table'[Fiscal Year]
<= SELECTEDVALUE ( 'Slicer Table'[Fiscal Year] ) + 3
&& 'Table'[Fiscal Year] >= SELECTEDVALUE ( 'Slicer Table'[Fiscal Year] )
)
)
3)El reuslt debe mostrar se siguiente:
Consejos: La suma de los valores en 2020 es diferente de su resultado esperado publicado, por favor compruébelo.
Si he malinterpretado su requisito y lógica, por favor por favor por favor por favor por favor, por favor, hágamelo saber.
Aquí está mi archivo pbix de prueba:
Espero que esto ayude.
Saludos
Giotto
Hola, gracias por la respuesta. Un par de cosas, una mi culpa:
el multiplicador se fija después de los primeros años; así como el año seleccionado cambia, es eso y los próximos 3 años x los mismos 4 valores que generé inicialmente
la previsión debe tomarse de cualquier filtro que se aplique fuera de la medida (procedente de una segmentación de datos), en lugar de estar codificado de forma rígida en la medida.
Gracias de nuevo por mirar esto.
Hola
Intente crear primero una tabla de segmentación de datos forecastName independiente:
ForecastNameSlicer = DISTINCT(SELECTCOLUMNS('Table',"ForeastName",'Table'[ForecastName]))
A continuación, cambie la medida original a esta:
Measure =
CALCULATE (
SUMX ( DISTINCT ( 'Table'[Fiscal Year] ), [Borrowing] * [Multiplier] ),
FILTER (
ALLSELECTED ( 'Table' ),
'Table'[ForecastName] = SELECTEDVALUE ( ForecastNameSlicer[ForeastName] )
&& 'Table'[Fiscal Year]
<= SELECTEDVALUE ( 'Slicer Table'[Fiscal Year] ) + 3
&& 'Table'[Fiscal Year] >= SELECTEDVALUE ( 'Slicer Table'[Fiscal Year] )
)
)
Cuando se selecciona un valor en forecastName slicer, el resultado muestra:
Espero que esto ayude.
Saludos
Giotto
Generalmente usando ALLEXCEPT o KEEPFILTERS
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |