Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola estimados, hoy el desafío en el que estoy es que el valor original del campo que recibo es un valor ACUMULADO por cada año, en el siguiente ejemplo doy a entender los campos que recibo y el campo calcluado IDEAL es el que quiero generar yo.
Si se dan cuenta durante el año 2015, el mes 01 es el inicio del acumulado y en el caso del 2016 nuevamente se comienza por el mes 01, la formula que requiero es un tipo de "desacumulación" por año para obtener el dato real periodo x periodo ojalá me puedan ayudar |
Hola antonio,
Puedes resolverlo de esta forma desde el script.
DATOS:
LOAD *, IF( Right(Periodo,2) = '01', [Dato Original], ([Dato Original]) - Previous(([Dato Original]))) AS IDEAL;
LOAD * INLINE [
Periodo, Dato Original
201501, -34594.507
201502, -53784.194
201503, -78332.608
201504, -109963.403
201505, -131742.385
201506, -152008.414
201507, -172386.482
201508, -182851.580
201509, -199185.015
201510, -216424.495
201511, -225155.382
201512, -229997.989
201601, -12516.057
201602, -27826.192
201603, -43346.208
];
Revisa si esto te sirve:
Cargue tus datos:
Load Num(PurgeChar(F1,'.')) as DatoOriginal, MonthName(MakeDate(Left(F2,4),Right(F2,2))) as Periodo;
LOAD * INLINE [
F1, F2
-34.594.507, 201501
-53.784.194, 201502
-78.332.608, 201503
-109.963.403, 201504
-131.742.385, 201505
-152.008.414, 201506
-172.386.482, 201507
-182.851.580, 201508
-199.185.015, 201509
-216.424.495, 201510
-225.155.382, 201511
-229.997.989, 201512
-12.516.057, 201601
-27.826.192, 201602
-43.346.208, 201603
];
Luego hice una tabla:
Periodo,
Datos Original = Sum(DatoOriginal)
Ideal = If(Month(Periodo)=1,Sum(DatoOriginal), Sum(DatoOriginal)-Above(Sum(DatoOriginal),1,RowNo()))
Hola antonio,
Puedes resolverlo de esta forma desde el script.
DATOS:
LOAD *, IF( Right(Periodo,2) = '01', [Dato Original], ([Dato Original]) - Previous(([Dato Original]))) AS IDEAL;
LOAD * INLINE [
Periodo, Dato Original
201501, -34594.507
201502, -53784.194
201503, -78332.608
201504, -109963.403
201505, -131742.385
201506, -152008.414
201507, -172386.482
201508, -182851.580
201509, -199185.015
201510, -216424.495
201511, -225155.382
201512, -229997.989
201601, -12516.057
201602, -27826.192
201603, -43346.208
];
Estimados, muchas gracias por las respuestas, efectivamente pude encontrar ejemplos utiles y que me ayudaron a resolver el problema