COPIAR DATOS

Para copiar los datos de una sección de la base de datos en otra sección de la misma base datos se suelen utilizar dos métodos:

  • Igualación:

Año 2018 = Año 2017 (Iguala el año 2018 al 2017)

  • Mediante el comando DATACOPY:

DATACOPY “Año 2017” TO “Año 2018” (Copia los datos del año 2017 en el año 2018)

Ambos métodos se pueden utilizar dentro de una estructura FIX.

Por ejemplo:

FIX(“Madrid”)

Año 2018 = Año 2017;

ENDFIX

Otro ejemplo:

FIX(“Madrid”)

DATACOPY “Año 2017” TO “Año 2018”;

ENDFIX

Ambos ejemplos copiarían para el mercado “Madrid” los datos del año  2017 en el año 2018.

Como regla general es preferible el método de igualación cuando se copian miembros de una dimensión densa, mientras que el método DATACOPY es preferible con miembros de la dimensión dispersa.

IGUALACIÓN

El problema que puede presentar este método es que según el tipo de dimensión puede crear o no los bloques necesarios en la sección destino.

DATACOPY

Este comando ofrece la gran ventaja de que crea todos los bloques necesarios:

Las dos secciones (origen y destino) deben tener el mismo tamaño.

Ejemplos:

  • DATACOPY “Año 2017” TO “Año 2018”;
  • DATACOPY “Año 2017” -> “Enero” TO “Año 2018” -> “Enero”;

Al utilizar este comando dentro de un FIX nos permite delimitar la sección de la base de datos que se quiere copiar:

FIX(“Madrid”, “Enero”)

DATACOPY “Año 2017” TO “Año 2018”;

ENDFIX

En el ejemplo anterior este comando copiaría los datos del mercado “Madrid” del mes “Enero” correspondiente al año 2017 en el año 2018.

Para evitar que al ejecutar este comando se copien bloques vacíos de la sección origen en la sección destino se puede incluir antes de esta instrucción el comando:

  • SET COPYMISSINGBLOCK OFF;

El ejemplo anterior quedaría:

SET COPYMISSINGBLOCK OFF;

FIX(“Madrid”, “Enero”)

DATACOPY “Año 2017” TO “Año 2018”;

ENDFIX