Modelo ampliado
Agregar capacidades avanzadas al modelo ..
Taller - Construcción de un Modelo de Datos Multidimensional
Crear cubos básicos con dimensiones simples establece habilidades fundamentales, pero los esquemas OLAP de grado de producción requieren capacidades avanzadas que transforman los modelos analíticos de funcionales a potentes. La inteligencia de negocio del mundo real exige características dimensionales sofisticadas, incluidas dimensiones compartidas para consistencia entre cubos, inteligencia temporal para análisis de tendencias, anotaciones geográficas para visualizaciones de mapas, propiedades de miembros para contexto enriquecido y dimensiones degeneradas para detalles a nivel de transacción, todas trabajando juntas para crear entornos analíticos que respondan preguntas de negocio complejas con facilidad y flexibilidad.
En este taller práctico, mejorarás el esquema Miniature Models agregando capacidades dimensionales a nivel empresarial que reflejan implementaciones profesionales de inteligencia de negocio. Basándote en tu conocimiento de cubos, dimensiones y jerarquías, implementarás dimensiones TIME compartidas que aseguren un análisis temporal consistente entre múltiples tablas de hechos, agregarás anotaciones geográficas que permitan visualizaciones basadas en mapas, enriquecerás dimensiones con propiedades de miembros que proporcionen a los usuarios de negocio información para filtrar y contexto, y crearás dimensiones degeneradas que capturen identificadores de transacción sin la sobrecarga de tablas de dimensión separadas.
Lo que lograrás:
Crear una dimensión MARKETS de cuatro niveles con jerarquías de Territorio, País, Estado/Provincia y Ciudad
Agregar anotaciones geográficas (Data.Role, Geo.Role, Geo.RequiredParents) para compatibilidad con visualizaciones de mapas
Refactorizar la dimensión CUSTOMERS y agregar propiedades de miembro (Número, Nombres de Contacto, Teléfono, Dirección, Límite de Crédito)
Mejorar la dimensión PRODUCTS con propiedades de miembro (Descripción, Código, Vendedor)
Construir una dimensión TIME compartida que pueda reutilizarse en múltiples cubos
Configurar niveles basados en tiempo (Años, Trimestres, Meses) con tipos de nivel apropiados
Agregar anotaciones AnalyzerDateFormat para cálculos inteligentes basados en tiempo
Implementar DimensionUsage para referenciar dimensiones compartidas desde dentro de los cubos
Crear una dimensión degenerada (ORDERSTATUS) usando columnas de la tabla de hechos sin una tabla de dimensión separada
Agregar una medida Quantity para permitir la creación de medidas calculadas
Publicar y validar tu esquema mejorado en Pentaho Analyzer
Al final de este taller, comprenderás cómo las funciones dimensionales avanzadas transforman cubos OLAP básicos en plataformas analíticas sofisticadas. Verás cómo las dimensiones compartidas eliminan redundancias y garantizan consistencia, cómo las anotaciones habilitan funciones inteligentes como mapeo geográfico e inteligencia temporal, cómo las propiedades de miembros proporcionan contexto rico sin sobrecargar las jerarquías de dimensión y cómo las dimensiones degeneradas manejan de forma eficiente atributos de baja cardinalidad. Estas técnicas de grado de producción, adquiridas mediante implementación práctica, te preparan para construir esquemas de calidad empresarial que cumplan con exigentes requisitos de inteligencia de negocio, incluyendo tendencias año con año, desglose geográfico, segmentación de clientes y análisis multidimensional a través de estructuras organizativas complejas.
Prerrequisitos: Finalización del taller Miniature Model; Schema Workbench y Pentaho Server instalados y configurados; Acceso a la base de datos SampleData con la tabla DIM_TIME; Sólida comprensión de dimensiones, jerarquías, niveles y medidas
Tiempo estimado: 90 minutos

Iniciar Schema Workbench:
Asegurarse de que Pentaho Server esté en ejecución:
Asegúrate de que el Pentaho Server esté activo y en ejecución (se inicia automáticamente en Pentaho Lab):
Sigue la guía a continuación para Extender el Esquema Miniature Models:
Dimensión Markets
Vamos a extender el modelo añadiendo una dimensión MARKETS que permitirá a los usuarios profundizar en los datos por geo.
Para agregar una dimensión MARKETS, en el panel izquierdo, haz clic derecho en Sales Cube y selecciona Add Dimension.

Para crear la dimensión MARKETS, escribe o elige:
nombre
MARKETS
ForeignKey
CUSTOMERNUMBER
Para ver la jerarquía, en el panel izquierdo, expande MARKETS y luego haz clic en New Hierarchy 0.
Para agregar la tabla CUSTOMER_W_TER, haz clic derecho en New Hierarchy 0 y selecciona Add Table.
Haz clic en el Valor de schema y selecciona PUBLIC.
Haz clic en el Valor de name y selecciona CUSTOMER_W_TER, y presiona Tab.
Para nombrar la jerarquía y establecer la clave primaria, haz clic en New Hierarchy 0.
Para crear la jerarquía Markets, escribe o elige:
nombre
Markets
allMemberName
All Markets
primaryKey
CUSTOMERNUMBER
Para agregar un nivel, en el panel izquierdo, haz clic derecho en Markets (hierarchy) bajo MARKETS y selecciona Add Level.
Para definir el nivel Territory, escribe o elige:
nombre
Territory
column
TERRITORY
type
String
uniqueMembers
Selected
levelType
Regular
hideMemberIf
Never
Para agregar otro nivel, en el panel izquierdo, haz clic derecho en Markets (hierarchy) bajo MARKETS y selecciona Add Level.
Para definir el nivel Country, escribe o elige:
nombre
Country
column
COUNTRY
type
String
levelType
Regular
hideMemberIf
Never
Para agregar otro nivel, en el panel izquierdo, haz clic derecho en Markets (hierarchy) bajo MARKETS y selecciona Add Level.
Para definir el nivel State, escribe o elige:
nombre
State Province
column
STATE
type
String
levelType
Regular
hideMemberIf
Never
Para agregar otro nivel, en el panel izquierdo, haz clic derecho en Markets (hierarchy) bajo MARKETS y selecciona Add Level.
Para definir el nivel City, escribe o elige:
nombre
City
column
CITY
type
String
levelType
Regular
hideMemberIf
Never
x
Anotaciones
Las anotaciones geo superpondrán los resultados mediante llamadas a la API REST de OpenStreetMap al mostrar los datos como un Mapa Geo.
En el panel izquierdo, haz clic derecho en Country y selecciona Add Annotations. Esto añade la carpeta de anotaciones. Ahora debes agregar las anotaciones individuales como subcarpetas.

Bajo el nivel Country, haz clic derecho en Annotations y selecciona Add Annotation.
Para crear las anotaciones Data.Role y Geo.Role, escribe:
nombre
Data.Role
cdata
Geography
nombre
Geo.Role
cdata
Country
Bajo el nivel State Province, haz clic derecho en Annotations y selecciona Add Annotation.
Crea las siguientes anotaciones:
nombre
Data.Role
cdata
Geography
nombre
Geo.Role
cdata
State
nombre
Geo.RequiredParents
cdata
Country
Bajo el nivel City, haz clic derecho en Annotations y selecciona Add Annotation.
Crea las siguientes anotaciones:
nombre
Data.Role
cdata
Geography
nombre
Geo.Role
cdata
City
nombre
Geo.RequiredParents
cdata
Country,State
Guarda el Esquema.

Dimensión CUSTOMERS
Para aclarar el análisis, vamos a eliminar los niveles Territory y Country actuales en la dimensión CUSTOMERS y agregar algunas Propiedades al Nombre del Cliente.
Elimina los siguientes Niveles de la dimensión CUSTOMERS:
Territory
Country
En el panel izquierdo, haz clic derecho en el nivel Customer Name bajo Customers (Hierarchy) y selecciona: Add Property.

Para crear la propiedad Customer Number, escribe o elige:
nombre
Number
column
CUSTOMERNUMBER
type
String
Al agregar propiedades, debes escribir el nombre de la columna.
En el panel izquierdo, haz clic derecho en el nivel Customer bajo Customers y selecciona Add Property.
Para crear la propiedad Contact First Name, escribe o elige:
nombre
Contact First Name
column
CONTACTFIRSTNAME
type
String
En el panel izquierdo, haz clic derecho en el nivel Customer bajo Customers y selecciona Add Property.
Para crear la propiedad Contact Last Name, escribe o elige:
nombre
Contact Last Name
column
CONTACTLASTNAME
type
String
(Opcional) Agrega propiedades adicionales de miembro para Phone (PHONE), Address (ADDRESSLINE1) y Credit Limit (CREDITLIMIT).
Guarda el Esquema.
Elimina los siguientes Niveles de la dimensión PRODUCTS:
Vendor
En el panel izquierdo, haz clic derecho en el nivel (Products) Line bajo Products (Hierarchy) y selecciona Add Property.

Para crear la propiedad Description, escribe o elige:
nombre
Description
column
PRODUCTDESCRIPTION
type
String
En el panel izquierdo, haz clic derecho en el nivel (Products) Name bajo Products (Hierarchy) y selecciona Add Property.
Para crear la propiedad Code, escribe o elige:
nombre
Code
column
PRODUCTCODE
type
String
Para crear la propiedad vendor, escribe o elige:
nombre
Vendor
column
PRODUCTVENDOR
type
String
7. Guarda el Esquema.
TIME - Una Dimensión Compartida
Algunas dimensiones (como Time o Date) pueden usarse en múltiples cubos. Estas dimensiones se conocen como Dimensiones Compartidas.
Debido a que las Dimensiones Compartidas no pertenecen a un cubo, debes declarar una tabla explícita (u otra fuente de datos). Cuando las uses en un cubo, necesitas especificar la clave foránea.
Este ejemplo muestra la dimensión CUSTOMERS unida al cubo Classic Models usando la clave foránea ORDERFACT.CUSTOMERNUMBER, y al cubo Warehouse usando la clave foránea WAREHOUSE.WAREHOUSE_CUSTOMERNUMBER:
Al generar el SQL para un join, Mondrian necesita saber a qué columna realizar el join. Si estás uniendo a una vista de join, entonces necesitas indicarle a cuál de las tablas en el join pertenece esa columna (por lo general será la primera tabla en el join).
En el panel izquierdo, haz clic derecho en Schema y selecciona Add Dimension.
Para crear la dimensión TIME, escribe o elige:
nombre
TIME
type
TimeDimension
En el panel izquierdo, expande TIME y luego haz clic en New Hierarchy 0.
Para agregar la tabla DIM_TIME, haz clic derecho en New Hierarchy 0 y selecciona Add Table.
Haz clic en el Valor de schema, selecciona PUBLIC y presiona Tab.
Haz clic en el Valor de name, selecciona DIM_TIME y presiona Tab.
Para nombrar la jerarquía y establecer la clave primaria, haz clic en New Hierarchy 0.
Para definir la jerarquía Time, escribe o elige:
nombre
Time
allMemberName
All Years
primaryKey
TIME_ID
En el panel izquierdo, haz clic derecho en la jerarquía Time bajo TIME y selecciona Add Level.
Para crear el nivel Years, escribe o elige:
nombre
Years
column
YEAR_ID
type
String
uniqueMembers
Selected
levelType
TimeYears
hideMemberIf
Never
Guarda y Publica el Esquema.

Verifica que puedas acceder al Schema como Fuente de Datos.
Anotaciones de Tiempo
En el panel izquierdo, haz clic derecho en Years y selecciona Add Annotations.
Bajo el nivel Years, haz clic derecho en Annotations y selecciona Add Annotation.
Para crear la anotación AnalyzerDateFormat, escribe:
nombre
AnalyzerDateFormat
cdata
[yyyy]
En el panel izquierdo, haz clic derecho en la jerarquía Time bajo TIME y selecciona Add Level.
Para crear el nivel Quarters, escribe o elige:
nombre
Quarters
column
QTR_NAME
ordinalColumn
QTR_ID
type
String
levelType
TimeQuarters
hideMemberIf
Never
En el panel izquierdo, haz clic derecho en Quarters y selecciona Add Annotations.
Bajo el nivel Quarters, haz clic derecho en Annotations y selecciona Add Annotation.
Para crear la anotación AnalyzerDateFormat, escribe:
nombre
AnalyzerDateFormat
cdata
[yyyy].[‘QTR’q]
Para agregar otro nivel, en el panel izquierdo, haz clic derecho en la jerarquía Time bajo TIME y selecciona Add Level.
Para crear el nivel Months, escribe o elige:
nombre
Months
column
MONTH_NAME
ordinalColumn
MONTH_ID
type
String
levelType
TimeMonths
hideMemberIf
Never
En el panel izquierdo, haz clic derecho en Months y selecciona Add Annotations.
Bajo el nivel Months, haz clic derecho en Annotations y selecciona Add Annotation.
Para crear la anotación AnalyzerDateFormat, escribe:
nombre
AnalyzerDateFormat
cdata
[yyyy].[‘QTR’q].[MMM]
Guarda el esquema.
El siguiente paso es referenciar la dimensión TIME desde dentro del cubo SALES.
Uso de Dimensión (Dimension Usage)
Haz clic derecho en el Cubo y selecciona: Add Dimension Usage. Observa el icono diferente para indicar que esta es una Dimensión Compartida.
Para crear la Dimensión TIME, escribe o elige:
nombre
TIME
foreignKey
TIME_ID
source
TIME
Revisa el Schema y visualiza el xml.
Dimensión Degenerada de Estado de Orden
Mientras que una dimensión en estrella tiene una tabla de dimensión, y una dimensión copo de nieve tiene dos o más, una dimensión degenerada no tiene ninguna. Todas las columnas que describen la dimensión viven en la tabla de hechos.
Por ejemplo, se podría crear una dimensión degenerada para Order Status porque solo hay pocos valores en la columna Order Status. Crear una tabla de dimensión es innecesario porque tiene solo unos pocos valores, no agrega información adicional y supone el costo de una unión adicional.
En el panel izquierdo, haz clic derecho en el cubo Sales_FY2003_2005 y selecciona Add Dimension.
Para crear la dimensión ORDERSTATUS, escribe o elige:
nombre
ORDERSTATUS
foreignKey
STATUS
En el panel izquierdo, expande Order Status y luego haz clic en New Hierarchy 0.
Para nombrar la jerarquía y establecer la clave primaria, haz clic en New Hierarchy 0.
Para definir la jerarquía Order Status, escribe o elige:
nombre
Status
allMemberName
All Status Types
primaryKey
STATUS
Cuando no hay nombre de jerarquía, Mondrian usa el nombre de la dimensión como nombre de la jerarquía.
En el panel izquierdo, haz clic derecho en la jerarquía predeterminada bajo Order Status, luego en la barra de herramientas haz clic en Add Level.

Para crear el nivel Type, escribe o elige:
nombre
Type
column
STATUS
type
String
uniqueMembers
Selected
levelType
Regular
hideMemberIf
Never
Guarda el Esquema.
Agregar Medida Quantity
Agregar una Quantity extiende el modelo ya que la medida puede usarse en Medidas Calculadas.
Para agregar una medida para Quantity, en el panel izquierdo, haz clic derecho en Sales Cube y selecciona Add Measure.
Para crear la medida Quantity, escribe o elige:
nombre
Quantity
aggregator
sum
column
QUANTITYORDERED
formatString
#,###
datatype
Numeric
Publicar el Esquema
Antes de hacer cambios en tu modelo .. Guarda .. esto ayudará con la gestión del ciclo de vida del Modelo y la resolución de problemas.
Para publicar el esquema, en el menú, selecciona File > Publish.
Para publicar el esquema:
En el campo User, escribe admin.
En el campo Password, escribe password.
Haz clic en Publish.
Para cerrar el cuadro de diálogo Schema Publish, haz clic en OK.
Crear un Reporte en Analyzer
Desde la perspectiva User Console Home, haz clic en Create New > Analysis Report.
En el cuadro de diálogo Select Data Source, haz clic en Miniature Models: Sales.
Arrastra Sales a la zona de medidas (Measure drop zone).
Arrastra Territory y Line a la zona de filas (Rows drop zone).
Arrastra Years a la zona de columnas (Columns drop zone).
Cierra el informe Star Schema Training Exercise.

Si estás conectado a internet .. intenta crear un informe Geo Map.

¿Te fue útil?
