@XREF

English (Español a continuación)

This function allows to copy data from one database to another.

  • From the source database to the target database.
  • This function offers great flexibility: the source and target databases can have different Outlines.

This function, which is executed in a calculation script in the target database, consists of 2 parameters:

  • @XREF (“Part A”, “Part B”)

“Part A”: It is the name with which the source database is designated, from which the data will be brought. You must first establish this connection in the target database:

  • Right-click on the target database.
  • In the window select “Edit / Location Aliases”.
  • A window appears in which you have to select:
    • Name with which the source database is designated (name to be used in this “Part A”).
    • Select the Server / Application / Database from the drop-down menu.
    • User ID / Password.

“Part B”: It is used to define those members of the source database:

  • Corresponding to dimensions that do not exist in the target database.
  • They have different names in the target database.

Let’s see some examples: we want to copy from the source database to the target database:

  • Car sales in January 2019 in the American markets.
  • In the target database we establish its connection with the source database which we denominate “BDO”.

a) The databases have the following structure:

In this example the databases have the same Outline. The calculation script would be:

b) The databases have the following structure:

In this example there are some differences between the Outlines of both databases:

  • The target database does not have the dimension “Years”.
  • The “Sales” member of the source database is named “Trade” in the target database.

The calculation script would be:

Changes to the calculation script:

  • As the dimension “Years” does not exist in the target database, we have to include the member “2019” of the source database in the @XREF.
  • As we want to bring to the “Trade” member (target database) the value of the “Sales” member (source database) we have to include it in the @XREF.

c) The databases have the following structure:

In this example there are some differences between the Outlines of both bases:

  • The “Markets” dimension has a different opening in both bases.
  • The target database does not have the dimension “Years”.
  • The “Sales” member of the source database is named “Trade” in the target database.
  • The trade database has the dimension “Vendors” that does not exist in the source database. We must define in which member of this dimension we are going to copy the data from the source database.
    • We assume we are going to assign it to “Seller 1”.

The formula would be:

Changes to the calculation script:

  • We have included in “Markets” exclusively those members that coincide in both bases.
    • ATTENTION: if we do not limit the matching members in the FIX and include members that do not exist in the source database (for example, “Germany”) the calculation does not give an error, but it assigns to this member an incorrect value.
  • In the FIX we have selected the member “Vendor 1” (from the “Vendors” dimension).

Español

Esta función permite copiar datos de una base de datos a otra.

  • De la base de datos origen a la base de datos destino.
  • Esta función ofrece gran flexibilidad: las bases de datos origen y destino pueden tener diferentes Outline.

Esta función, que se ejecuta en un script de cálculo en la base de datos destino, consta de 2 parámetros:

  • @XREF(“Parte A”,”Parte B”)

“Parte A”: Es el nombre con el que se designa la base de datos origen, de la que se van a traer los datos. Previamente hay que establecer en la base de datos destino esta conexión:

  • Se hace click con el botón derecho sobre la base de datos destino.
  • En la ventana que se despliega se selecciona “Editar / Alias de Ubicación”.
  • Se despliega una ventana en la que hay que seleccionar:
    • Nombre con el que se designa la base de datos origen (denominación que se va a utilizar en esta “Parte A”).
    • Seleccionar en el desplegable el Servidor / Aplicación / Base de datos.
    • Identificación del Usuario / Contraseña.

“Parte B”: Se utiliza para definir aquellos miembros de la base de datos origen:

  • Correspondientes a dimensiones que no existen en la base de datos destino.
  • Tienen nombres diferentes en la base de datos destino.

Veamos algunos ejemplos: queremos llevar desde la base de datos origen a la base de datos destino:

  • Las ventas de coches del mes de enero del año 2019 de los mercados de América.
  • En la base de datos destino establecemos su conexión con la base de datos origen a la que denominamos “BDO”.

a) Las bases de datos tienen la siguiente estructura:

En este ejemplo las bases tienen el mismo Outline. El script de cálculo sería:

b) Las bases de datos tienen la siguiente estructura:

En este ejemplo hay algunas diferencias entre los Outlines de ambas bases:

  • La base de datos de destino no tiene la dimensión “Años”.
  • El miembro “Ventas” de la base de datos origen se denomina “Negocio” en la base de datos de destino.

El script de cálculo sería:

Cambios en el script de cálculo:

  • Como la dimensión “Años” no existe en la base de datos de destino, tenemos que identificar en el @XREF el miembro “2019” de la base de datos origen.
  • Como queremos llevar al miembro “Negocio” (base de datos destino) el valor del miembro “Ventas” (base de datos origen) tenemos que identificarlo en el @XREF.

c) Las bases de datos tienen la siguiente estructura:

En este ejemplo hay algunas diferencias entre los Outlines de ambas bases:

  • La dimensión “Mercados” tiene una apertura diferente en ambas bases.
  • La base de datos de destino no tiene la dimensión “Años”.
  • El miembro “Ventas” de la base de datos origen se denomina “Negocio” en la base de datos de destino.
  • La base de datos destino tiene la dimensión “Vendedores” que no existe en la base de datos origen. Hay que definir a que miembro de esta dimensión vamos a llevar los datos de la base de datos origen.
    • Suponemos que se lo vamos a asignar al “Vendedor 1”.

La fórmula quedaría:

Cambios en el script de cálculo:

  • Hemos recogido en “Mercados” exclusivamente aquellos miembros coincidentes en ambas bases.
    • ATENCIÓN: si no limitamos en el FIX los miembros coincidentes y se incluyen miembros que no existen en la base de datos origen (por ejemplo, “Alemania”) el cálculo no da error, pero asigna a este miembro un valor incorrecto.
  • En el FIX hemos seleccionado el miembro “Vendedor 1” (de la dimensión “Vendedores”).