Funciones de las base de datos

Se cuenta con un mecanismo con el cual se pueden definir las funciones escalares que las base de datos usan.

El procedimiento es algo rudimentario pero es bastante efectivo, dando la flexibilidad de adaptarse a diversas bases de datos.

Cuando uno se conecta a la base de datos para definir el cubo, se obtiene el tipo de base de datos al que se esta conectando. Este se muestra en la pantalla inicial. Basándose en ese tipo de base de datos, se lee el archivo oxf.oxf que se encuentra en el directorio de instalación de la aplicación. Este archivo trae una lista de las bases de datos, de las cuales podemos obtener funciones. El texto de este archivo se muestra a continuación:

Oracle|Oracle
Microsoft SQL Server|SqlServer
Informix|Informix
Sybase|Sybase
DB2|DB2
AS-400|AS-400

En cada línea del archivo se almacenan dos campos, el primero es el nombre de la base de datos según la reconoce la aplicación, el segundo es el nombre del archivo .oxf en donde se encuentran las funciones de esa base de datos. Se buscan las formulas en los siguientes archivos:

<base de datos>.es.oxf : Archivo con la explicación de las formulas en español
<base de datos>.en.oxf : Archivo con la explicación de las formulas en ingles
<base de datos>.oxf : Normalmente el archivo viene en ingles

El archivo text se utiliza como archivo de formulas predeterminado, por si su base de datos no se encuentra en la lista.

Estos archivos tienen una formula en cada línea y su explicación. A continuación se muestra parte del archivo text.oxf:

LCASE( string_exp )|Uppercase characters in string_exp converted to lowercase.
LEFT( string_exp , count )|The count of characters of string_exp.
LEN( string_exp )|The number of characters in string_exp , excluding trailing blanks and the string termination character.
LTRIM( string_exp )|The characters of string_exp , with leading blanks removed.
MID( string_exp , start , length )|A string derived from string_exp beginning at the character position start for length characters.
RIGHT( string_exp , count )|The rightmost count of characters in string_exp.
RTRIM( string_exp )|The characters of string_exp with trailing blanks removed.
SPACE( count )|A string consisting of count spaces.
UCASE( string_exp )|Lowercase characters in string_exp converted to uppercase.
ABS( numeric_exp )|Absolute value of numeric_exp.
COS( float_exp )|Cosine of float_exp as an angle in radians.

Estos archivos los puede modificar, crear o borrar según su conveniencia.

El archivo mdx.oxf guarda las funciones del lenguaje MDX que se utiliza para crear formulas que forman parte del cubo. Vea Agregar columnas al cubo para información de como agregar formulas a la consulta de la base de datos y 11. Creación de formulas virtuales para agregar funciones al cubo.