close Warning: Can't synchronize with repository "(default)" (/var/svn/mms does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 13 years ago

Closed 13 years ago

#913 closed doubt (fixed)

Actualización incremental de datos

Reported by: CN=Javier Moreno San Vicente Owned by: Pedro Gea
Priority: major Milestone: Release 0.6
Component: Variables Keywords:
Cc: fortra.vivbra@…

Description

Hola,

estamos actualmente trabajando en un proceso para actualizar los datos del proyecto de Vivo de una forma un poco más rápida. Lo que queremos es que, una vez cargados una primera vez los datos históricos en las variables de los datasets, poder ir actualizando de forma incremental solamente los últimos 6 meses (esto limitando las consultas en la base de datos). Queremos hacerlo así porque para algunos módulos tenemos bastante histórico que no va a cambiar y así podríamos reducir el tiempo de acceso a estos datos.
Hemos visto que hay un atributo de la clase variable (_.dataConcatenation) que parece que sirve para esto pero no sabemos cómo usarlo.
Nos podríais dar un ejemplo de uso o en su defecto informarnos si existe alguna forma mejor para hacer esto?

Muchas gracias. (espero haberme explicado con claridad)
Un saludo!

Change History (3)

comment:1 Changed 13 years ago by Pedro Gea

Milestone: Release 0.6
Status: newaccepted

Sí te has explicado bien, pero no hay nada pensado para esto.

El atributo dataConcatenation se pensó para facilitar la concatenación de los datos en un escenario de simulación con los datos reales, pero el caso que me planteas es que quieres actualizar los datos reales.

Creo que no sería difícil incluir un método de actualización de los datos incremental como dices, pero no sé si la expresión de la variable habría que cambiarla o no. Quizá podríamos convocar una pequeña reunión para comentarlo y encontrar la mejor solución.

comment:2 Changed 13 years ago by CN=Javier Moreno San Vicente

Gracias Pedro.
Nosotros inicialmente teníamos pensado hacer, para cada variable:

  Text var_exp = var::GetExpression(?); 
  //La expresion es una llamada al algebra configurado 
  //para que en la actualizacion nos devuelva las series 
  //limitadas a los ultimos 6 meses
  Serie serTotal = var::GetData(?) << Eval(var_exp);
  Real var::SetExpression("Serie serTotal");
  Real var::UpdateData(?);
  Real var::SetExpression(var_exp);

De modo que cambiamos la expresión para actualizar los datos y luego la restauramos de nuevo para no perder la referencia original.
Teníamos dudas por si existía algo que ya lo hiciera pero como no es así por ahora vamos a seguir por esta vía.
De todas formas, como dices, estaría bien verlo en una pequeña reunión a ver si se nos ocurre algo mejor (nos escribimos para buscar un horario que nos venga bien).

Un saludo!

comment:3 Changed 13 years ago by Pedro Gea

Resolution: fixed
Status: acceptedclosed
Note: See TracTickets for help on using tickets.