¿Qué son las medidas y dimensiones en cubos?


21

Soy muy nuevo en Microsoft Sql Server Business Intelligence y Analysis Service(pero estoy programando durante años con SQL Server). ¿Alguien puede describir medidas y dimensiones en cubos en palabras simples (si es posible con imágenes)?

Gracias

Respuestas:


39

Piensa en un proceso o evento que quieras analizar.

Supongamos que estaba creando Lougle Analytics y desea analizar las visitas (en lugar de las solicitudes de una sola página) a su sitio. Visitar un sitio web es un proceso.

Una tabla de hechos representa un proceso o evento que desea analizar, en este caso es una lista de visitas al sitio. Puede tener tantas tablas de hechos como desee, una por proceso o evento.

¿Qué cosas podrían serle útiles para analizar las visitas al sitio?

  • Información sobre el navegador web (marca, resolución de pantalla, ...)
  • Información sobre el usuario (país, estado, ciudad, ISP, en función de su dirección IP)
  • Información sobre cuándo comenzó la visita (año, trimestre, mes, semana, día)
  • La duración de la visita
  • La página de referencia, la página de destino y la página de salida (título, ruta de URL)
  • El número de páginas visitadas durante la visita.

Técnicamente, podría poner todo esto en una tabla, como lo haría en Excel, pero eso se volvería realmente grande muy rápido, por lo que haremos UN nivel de normalización. El diseño dimensional a menudo es simplemente "poner todo lo que necesita para un análisis en una gran tabla", y luego normalizar un nivel.

Entonces su tabla de hechos se verá así:

web_browser_key          bigint
ip_address_key           bigint
start_date_key           int
referring_page_key       bigint
landing_page_key         bigint
exit_page_key            bigint
duration_seconds         int
number_of_pages_visited  int

Tiene un montón de valores clave que se refieren a valores en otras tablas †, y dos no claves. Las no claves son valores numéricos y se denominan medidas . ¿Puedes tomar el promedio de la marca del navegador web? No, entonces es una dimensión. ¿Puedes tomar el promedio de la duración de la visita? Sí, entonces es una medida.

Las otras tablas se llaman tablas de dimensiones , y la ip_addresstabla de dimensiones podría verse así:

ip_address_key  bigserial primary key, /* use meaningless surrogate keys */
ip_address      inet unique,
country         text,
division        text,
locality        text,
latitude        numeric(8,6),
longitude       numeric(9,6)

Tenga en cuenta que no está normalizado: el país podría derivarse de la ciudad (localidad). Sin embargo, en un almacén de datos, nos preocupamos por facilitar el análisis primero. Al facilitar el análisis, me refiero a evitar las uniones profundas.

Observe que algunos de los datos en la tabla de dimensiones son jerárquicos : país> división> localidad. Su servidor OLAP (con suerte) comprende las jerarquías para admitir operaciones de desglose.

Un cubo lógico es solo la colección de dimensiones y medidas con las que está trabajando. A diferencia del cubo de Rubik, puede tener más de 3 dimensiones. Solo piense en una dimensión como una columna en su conjunto de datos.

OLAP es un conjunto de operaciones que puede realizar contra un conjunto de datos, como pivotar, rebanar, cortar en cubitos, perforar. Piense en las tablas dinámicas de Excel. Un servidor OLAP facilita las operaciones OLAP.

† generalmente sin claves foráneas


Me gustó la explicación con un ejemplo, pero un pequeño problema: no hay mención de a cityen sus esquemas, por lo que cuando dice country could be derived from cityque no estoy seguro de lo que quiere decir.
Don Cheadle

@mmcrae 'localidad' es el nombre genérico de ciudad / pueblo / aldea
Neil McGuigan

13

En la imagen a continuación, que es un ejemplo de un esquema estelar básico. Las dimensiones son las Dim_Tables.

Generalmente, estos son los valores por los que desea analizar los datos. Por lo tanto, desea ver las ventas de un producto en particular, en un país en particular, en un rango de fechas en particular.

En la tabla fact_sales tiene la única medida que es Unidades_vendidas.

Las medidas (en el nivel más simple) son solo cosas que desea agregar al analizar según los criterios de las dimensiones.

Esquema básico de estrellas

Si hay algo más específico que le gustaría saber, hágamelo saber.


Parece que esta imagen proviene de Wikipedia: en.wikipedia.org/wiki/Star_schema . Deberías mencionarlo.
Scarabee
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.