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
Syndicate_Admin
Administrator
Administrator

Cálculo de los ingresos previstos para el año seleccionado

Hola, a continuación se muestran mis datos de muestra:

Si se selecciona Año Mes - Febrero 2020 columnas de mes a continuación no existen en el modelo, se muestran para mostrar la lógica deseada
201920192019202020202020202020202020202020202020202020202020202120212021
Id. de contratoDuración del contrato (meses)Fecha de inicio del contratoFecha de finalización del contratoValor mensual del contrato1.10.20191.11.20191.12.20191.1.20201.2.20201.3.20201.4.20201.5.20201.6.20201.7.20201.8.20201.9.20201.10.20201.11.20201.12.20201.1.20211.2.20211.3.2021Importe total esperado
7382020-01-012023-03-01160000160160160160160160160160160160160160000 1.920,00
1132020-01-012020-04-01200000200200200000000000000 600,00
26362020-01-012023-01-01350000350350350350350350350350350350350350000 4.200,00
30362020-01-012023-01-01390000390390390390390390390390390390390390000 4.680,00
8122020-02-012021-02-011700000170170170170170170170170170170170000 1.870,00
12362020-02-012023-02-012100000210210210210210210210210210210210000 2.310,00
29232020-02-012022-01-013800000380380380380380380380380380380380000 4.180,00
19242020-02-242022-02-2428000000280280280280280280280280280280000 2.800,00
27242020-02-242022-02-2436000000360360360360360360360360360360000 3.600,00
2822020-02-272020-04-273700000037037000000000000 740,00
1222020-03-012022-01-0110000000100100100100100100100100100100000 1.000,00
21122020-03-012021-03-0130000000300300300300300300300300300300000 3.000,00
1732020-03-022020-06-02260000000260260260000000000 780,00
1532020-03-092020-06-09240000000240240240000000000 720,00



Mi objetivo es calcular los ingresos anuales esperados en función del año del mes seleccionado. Actualmente estoy usando la tabla de fechas desconectada según el mes seleccionado necesito seleccionar todos los meses en el año (y más tarde necesito mostrar gráficos con cantidades acumuladas por mes).

Aquí está la lógica: obtener el año del mes seleccionado y sólo hacer cálculos para meses en el año del mes seleccionado.
Ejemplo 1: si el contrato comienza en febrero de 2020 y termina en febrero de 2021, calcule solo para meses en 2020.
Ejemplo 2: si el contrato comienza en febrero de 2020 y termina en junio de 2020, calcule para todos los meses como están todos en 2020.
Ejemplo 3: comparar el inicio del mes con el primero del mes. Si la fecha de inicio del contrato es el 1 de marzo de 2020, el primer mes en tener valor es marzo de 2020. Si el inicio del contrato es el 2 de marzo de 2020, a partir de abril de 2020.

El último paso es sumar todos estos valores (última columna sobre los datos por encima de "Importe total esperado").

Notas:
- Existen primeras cinco columnas (encabezado en color verde) y están en una tabla.
Las columnas de mes se utilizan para describir la lógica, pero no tengo ese diseño, por lo que no es puro If Then Else instrucción. Por lo tanto, estas columnas deben crearse virtualmente o utilizar algún tipo de tabla desconectada.
Usé la función generate para generar meses en la variable de medida, pero algo no está funcionando correctamente en la salida final.

¡Gracias de antemano!

saludos
Nemanja


1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator
3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

No @nandic,

Convierto datos de simulación en datos de prueba de acuerdo con columnas no depnítes

v-yangliu-msft_0-1611120656028.jpeg

Formar una nueva tabla 2:

v-yangliu-msft_1-1611120656031.png

Estos son los pasos que puede seguir:

1. Cree una columna calculada en la tabla

Column =
var _startdate=
IF(DAY([Contract Start Date])=1,[Contract Start Date],DATE(YEAR([Contract Start Date]),MONTH([Contract Start Date])+1,1))
var _enddate=
DATE(YEAR([Contract Start Date]),12,31)
return
CALCULATE(SUM('Table (2)'[Value]),FILTER('Table (2)',[Date]>=_startdate&&[Date]<=_enddate&&[Contract ID]=EARLIER('Table'[Contract ID])))

2. Resultado.

v-yangliu-msft_2-1611120656033.jpeg

Puede descargar el archivo PBIX desde aquí.

Si mi respuesta no es la que necesita, ¿puede compartir datos de ejemplo y salida de ejemplo en formato de tabla? O una muestra de pbix después de eliminar datos confidenciales.

Saludos

Liu Yang

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

Syndicate_Admin
Administrator
Administrator

Hola @amitchandak ,
Gracias por los enlaces proporcionados, segundo ejemplo es exactamente lo que necesitaba!
Resumir parte de su función funciona exactamente como quería (he comprobado los resultados), genera fila para cada mes que está en el rango entre la fecha de inicio y la fecha de finalización. Y acabo de agregar una columna más que devuelve el valor que se va a sumar.
Pero cuando agrego parte de la función para sumar estos valores: calculate(sumx(.....)), en lugar de sumar valores solo devuelve el valor de una fila (como calcula min/max y no sum).
He probado la misma lógica en su archivo y funciona muy bien!

Ejemplo en su archivo:
Para el ID 1, hay 14 días y el valor para cada día es 200, por lo que sumx es 14 * 200 x 2800.
Pero en mi informe en lugar de 2800 devuelve 200. ¿Tienes idea de lo que podría causar esto?

Capture amit.PNG


Al final encontré una solución que funciona que tiene mucho más código que su solución (tiene generar función, naturalinnerjoin, filtros).
Su solución es mucho más amigable, sólo para averiguar por qué estos valores no se resumen como se esperaba.
En mi informe hay 2 tablas y la estructura es la misma que en su archivo:
1) tabla de datos donde tengo : id, fecha de inicio, fecha de finalización, valor
2) tabla de fechas: fecha que se utiliza para filtrar

saludos
Nemanja Andic

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.