Cómo: |
El modelo OLAP organiza las estructuras de datos pre-definiendo las dimensiones en el archivo máster, a través del atributo de nombre de campo WITHIN. Una dimensión es un grupo o lista de campos relacionados, llamados elementos.
El atributo WITHIN permite la funcionalidad de drill up y drill down en dimensiones jerárquicas. Para manipular un informe, seleccione un campo activado para OLAP y profundize hasta ver otros niveles de la jerarquía de una dimensión.
Por ejemplo, la jerarquía de regiones de ventas puede estar definida como la dimensión GEOGRAPHY, en el archivo máster, e incluir los siguientes elementos: Región, Estado y Ciudad, en orden descendente. Región, el elemento más alto de esta jerarquía, contendría una lista de todas las Regiones pertenecientes a la dimensión GEOGRAPHY. Estado, el segundo elemento más alto de esta jerarquía, contendría una lista de todos los Estados disponibles en Región, y así sucesivamente. Puede definir dimensiones desde el archivo máster para cualquier origen de datos admitido.
La combinación, o matriz, de dos o más jerarquías dimensionales en un origen de datos activado para OLAP se llama multidimensional. Por ejemplo, aunque los productos se venden en los estados, no tienen por qué estar agrupados en la misma dimensión que los estados. Al contrario, lo más seguro es que los elementos Categoría de producto y Nombre de producto se agrupen una dimensión llamada PRODUCT. Estado sería miembro de la dimensión GEOGRAPHY, que también puede incluir Región y Ciudad. Estas dimensiones están combinadas en una matriz, para que las intersecciones de sus criterios proporcionen valores específicos; por ejemplo, ventas de café en la región noreste.
Puede especificar una lista de valores aceptables para cada elemento (campo) de la dimensión, usando el atributo ACCEPT. Esto se efectúa mediante una lista no modificable en el archivo máster o un archivo de búsqueda. Para más información sobre el atributo ACCEPT, consulte Cómo validar datos: ACCEPT.
WITHIN='*dimensionname' WITHIN=field
donde:
Es el nombre de la dimensión y puede incluir hasta 66 caracteres. La dimensión se define en la declaración de campo para el campo situado en la parte superior de la jerarquía. El nombre debe ir precedido de un asterisco y estar entre comillas simples. El nombre debe empezar por una letra y puede consistir de cualquier combinación de letras, dígitos, guiones bajos o puntos. Evite usar caracteres especiales y espacios.
Se utiliza para definir la relación jerárquica entre elementos adicionales que se incluirán en una dimensión dada. Después de definir el nombre de dimensión en la parte superior de la jerarquía, cada elemento (campo) usará el atributo WITHIN para enlazarse al campo situado directamente sobre él en la jerarquía. El atributo WITHIN puede referirse a un campo mediante su nombre de campo o su alias. Tenga en cuenta que un nombre dado sólo puede participar en una dimensión y que dos campos no pueden hacer referencia al mismo campo de nivel superior.
El ejemplo siguiente muestra cómo definir la dimensión PRODUCT en el archivo máster OSALES.
PRODUCT Dimension ===> Product Category ===> Product Name FILENAME=OSALES, SUFFIX=FOC SEGNAME=SALES01, SEGTYPE=S1 FIELD=PRODCAT, ALIAS=PCAT, FORMAT=A11, WITHIN='*PRODUCT',$ FIELD=PRODNAME, ALIAS=PNAME, FORMAT=A16, WITHIN=PRODCAT,$
El siguiente ejemplo anotado muestra cómo definir las dimensiones PRODUCT, GEOGRAPHY y TIME, en el archivo máster OSALES.
PRODUCT Dimension ===> Product Category ===> Product Name GEOGRAPHY Dimension ===> Region ===> State ===> City ===> Store Name (from the OSTORES Master File) TIME Dimension ===> Year ===> Quarter ===> Month ===> Date
Archivo máster OSALES
FILENAME=OSALES, SUFFIX=FOC SEGNAME=SALES01, SEGTYPE=S1 FIELD=SEQ_NO, ALIAS=SEQ, FORMAT=I5, TITLE='Sequence#', DESC='Sequence number in database',$ FIELD=PRODCAT, ALIAS=PCAT, FORMAT=A11,INDEX=I, TITLE='Category', DESC='Product category', ACCEPT='Coffee' OR 'Food' OR 'Gifts', 1. WITHIN='*PRODUCT',$ FIELD=PRODCODE, ALIAS=PCODE, FORMAT=A4, INDEX=I, TITLE='Product ID', DESC='Product Identification code (for sale)',$ FIELD=PRODNAME, ALIAS=PNAME, FORMAT=A16, TITLE='Product', DESC='Product name', 2. ACCEPT='Espresso' OR 'Latte' OR 'Cappuccino' OR 'Scone' OR 'Biscotti' OR 'Croissant' OR 'Mug' OR 'Thermos' OR 'Coffee Grinder' OR 'Coffee Pot', WITHIN=PRODCAT,$ FIELD=REGION, ALIAS=REG, FORMAT=A11, INDEX=I,TITLE='Region', DESC='Region code', ACCEPT='Midwest' OR 'Northeast' OR 'Southwest' OR 'West', 3. WITHIN='*GEOGRAPHY',$ FIELD=STATE, ALIAS=ST, FORMAT=A2, INDEX=I,TITLE='State', DESC='State', 4. ACCEPT=(OSTATE), WITHIN=REGION,$ FIELD=CITY, ALIAS=CTY, FORMAT=A20, TITLE='City', DESC='City', WITHIN=STATE,$ FIELD=STORE_CODE, ALIAS=STCD, FORMAT=A5, INDEX=I, TITLE='Store ID', DESC='Store identification code (for sale)',$ FIELD=DATE, ALIAS=DT, FORMAT=I8YYMD, TITLE='Date', DESC='Date of sales report', WITHIN=MO,$ 5. FIELD=UNITS, ALIAS=UN, FORMAT=I8, TITLE='Unit Sales', DESC='Number of units sold',$ FIELD=DOLLARS, ALIAS=DOL, FORMAT=I8, TITLE='Dollar Sales', DESC='Total dollar amount of reported sales',$ FIELD=BUDUNITS, ALIAS=BUNIITS, FORMAT=I8, TITLE='Budget Units', DESC='Number of units budgeted',$ FIELD=BUDDOLLARS, ALIAS=BDOLLARS,FORMAT=I8, TITLE='Budget Dollars', DESC='Total sales quota in dollars',$
6. DEFINE ADATE/A8 = EDIT(DATE);$ DEFINE YR/I4 = EDIT (EDIT(ADATE,'9999$$$$')); WITHIN='*TIME',$ DEFINE MO/I2 = EDIT (EDIT(ADATE,'$$$$99$$')); WITHIN=QTR,$ DEFINE QTR/I1 = IF MO GE 1 AND MO LE 3 THEN 1 ELSE IF MO GE 4 AND MO LE 6 THEN 2 ELSE IF MO GE 7 AND MO LE 9 THEN 3 ELSE IF MO GE 10 AND MO LE 12 THEN 4 ELSE 0; WITHIN=YR,$ 7. SEGNAME = STORES01, SEGTYPE = KU, PARENT = SALES01, CRFILE = OSTORES, CRKEY = STORE_CODE, $
Los campos virtuales pueden incluirse en cualquier nivel de una dimensión. En este ejemplo, los campos YR, MO y QTR están definidos en la dimensión TIME. El atributo WITHIN de un campo virtual debe estar colocado en la misma línea que el punto y coma que finaliza la expresión.
Cómo definir la jerarquía de dimensiones para la misma dimensión TIME: Año en Tiempo, Trimestre en Año, Mes es Trimestre, Fecha en Mes.
Los campos de una jerarquía pueden ocurrir con cualquier orden en el archivo máster.
FILENAME=OSTORES, SUFFIX=FOC SEGNAME=STORES01, SEGTYPE=S1 FIELD=STORE_CODE, ALIAS=STCD, FORMAT=A5, INDEX=I,TITLE='Store ID', DESC='Franchisee ID Code',$ FIELD=STORE_NAME, ALIAS=SNAME, FORMAT=A23, TITLE='Store Name', DESC='Store Name', WITHIN=SALES01.CITY,$ FIELD=ADDRESS1, ALIAS=ADDR1, FORMAT=A19, TITLE='Contact', DESC='Franchisee Owner',$ FIELD=ADDRESS2, ALIAS=ADDR2, FORMAT=A31, TITLE='Address', DESC='Street Address',$ FIELD=CITY, ALIAS=CTY, FORMAT=A22, TITLE='City', DESC='City',$ FIELD=STATE, ALIAS=ST, FORMAT=A2, TITLE='State', DESC='State',$ FIELD=ZIP, ALIAS=ZIP, FORMAT=A6, TITLE='Zip Code', DESC='Postal Code',$
WebFOCUS |