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

Last modified 13 years ago

#1011 closed defect (wontfix)

ModelExcel cambia el nombre de las variables que se han leído de una BDT

Reported by: aberzosa Owned by: Pedro Gea
Priority: major Milestone: Development 1A
Component: Variables Keywords: modelExcel
Cc:

Description

Hola,
Al utilizar con ModelExcel unas variables que se han leído de una bdt con otro nombre, cambia también el nombre de las variables originales.

Por ejemplo, al ejecutar el siguiente código:

Set v = IncludeBDT("C:/Vars_ejemplo_cambio_nombre.bdt");

Text xlsFile = "C:/Ejemplo_cambio_nombre.xls";
Anything ModelExcel::BuildDataSet(xlsFile);

con los ficheros que se adjuntan, y actualizar las variables del dataSet que se genera (con el botón derecho) el nombre de las variables dentro de "v" cambia de "output" e "input" a "New_output" y "New_input".

Change History (6)

comment:1 Changed 13 years ago by Pedro Gea

Component: GeneralModelExcel
Milestone: Development 1A
Status: newaccepted

comment:2 Changed 13 years ago by Pedro Gea

El problema no está vinculado a ModelExcel y es debido a la utilización por parte de MMS de la misma serie especificada y no de una copia.
El mismo comportamiento puede verse en:

Set set = [[
  Serie serie = SubSer(CalInd(C, C), y2000, y2001)
]];
MMS::@DataSet dataSet = MMS::Container::ReplaceDataSet([[
  Text _.name = "DataSet"
]]);
MMS::@Variable variable = DS.I::ReplaceVariable([[
  Text _.name = "MiSerie";
  Text _.expression = "Serie set::serie;"
]]);
// Al llamar a GetData se hace un PutName a la serie "serie"
// con el nombre que de la @Variable
Serie variable::GetData(?);

comment:3 Changed 13 years ago by Pedro Gea

Cuando los datos pesan mucho, esta copia que no se está haciendo es una ventaja de cara a la eficiencia y el uso óptimo de los recursos, pero en otras circunstancias esto puede ser un inconveniente.

Para forzar la copia puede hacerse:

...
  Text _.expression = "Serie +set::serie;"
...

o

...
  Text _.expression = "Serie Copy(set::serie);"
...

comment:4 Changed 13 years ago by Pedro Gea

Component: ModelExcelVariables
Resolution: wontfix
Status: acceptedclosed

Creo que con esta información puede esquivarse la dificultad que comentas, si no es posible o surgen más dificultades puedes reabrir el tique o podemos comentarlas y proponer soluciones o alternativas.

comment:5 Changed 13 years ago by Pedro Gea

(In [3224]) Closes #1021
Refs #1011
Se evita el renombrado de las series del conjunto SInputs para evitar la ruptura del índice.

comment:6 Changed 12 years ago by (none)

Los archivos adjuntos con datos privados se han ubicado en la unidad local B.

Note: See TracTickets for help on using tickets.