none
Medidas de tipo String y/o date RRS feed

  • Pregunta

  • Hola buenos días,

    Soy nuevo en SSAS y tengo una pregunta y es que necesito mostrar campos string y/o date en el informe OLAP. Son datos que vienen de la BBDD y me he fijado que únicamente se crean medidas de tipo numérico.

    Qué pasa con los valores de tipo String, date. etc... porque entiendo que lo principal es mostrar valores numéricos pero y si quisiera mostrar algún valor no numérico en el informe, ¿cuál es el procedimiento habitual? ¿Alguien puede informarme?

    Gracias por adelantado, 

    Javier

    lunes, 18 de noviembre de 2019 12:50

Respuestas

  • Serían varios pasos.

    Lo primero es construir las tablas. En alguna base de datos (típicamente la BD dedicada a OLAP, no la de OLTP, aunque esto no es obligatorio) harías todos los "create table" para las tablas de dimensiones y las tablas de hechos que vayas a usar en la solución OLAP.

    Después construyes el ETL que bombee los datos desde tus varias bases de OLTP hacia las tablas de OLAP. Esto es habitual pero no es forzoso; podrías usar directamente para el cubo las tablas de OLTP (posiblemente por mediación de vistas que agrupen los campos para dar lugar a dimensiones y medidas tal como los vayas a usar en el cubo).

    Después, esas tablas (o vistas) las añades al DataSourceView del proyecto de OLAP para que tengan visibilidad desde ahí. Si eran tablas y tenían bien puestos los foreign keys, te aparecerán las relaciones automáticamente en el dsv. Si eran vistas o tablas sin FKs, agrega a mano las relaciones en el dsv.

    Una vez hecho eso, haces clic-derecho sobre "cubos" y ejecutar el asistente para crear un nuevo cubo. El asistente ya te pregunta cuáles son las tablas que quieres usar para dimensiones y medidas, y te deja elegir entre todas las que pusiste en el dsv.

    Bueno, ¿y si no quieres crear tablas de dimensiones, y quieres sacar las dimensiones desde la misma tabla que tiene las medidas? Pues también se puede hacer. Se llaman "dimensiones degeneradas", y es una de las opciones que te ofrece el asistente del cubo. No recuerdo muy bien de memoria cómo se hacía, pero creo que era cuando te pide que selecciones las dimensiones, sale la tabla de medidas sin seleccionar por defecto, pero puedes seleccionarla y luego ponerle la "x" a las columnas que son dimensiones (y, claro, no ponerles la "x" cuando estás seleccionando las medidas).

    lunes, 18 de noviembre de 2019 13:37

Todas las respuestas

  • Lo más normal es que esos datos de tipo string y fecha se importen desde la BBDD hacia las tablas de Dimensiones, no la tabla de Hechos, que es donde se encuentran las medidas.

    No es que no se pueda crear una medida de tipo string, pero tendrías que cambiar la función de agregación porque no puede ser Sum ni Avg. Pero podría ser Max o Min. Pero de todas formas es algo poco común; ya te digo que lo normal sería que fuesen dimensiones y no medidas. Por supuesto, en el informe pueden (y suelen) aparecer las dimensiones, no solo las medidas.

    lunes, 18 de noviembre de 2019 12:55
  • Hola, muchas gracias...entonces lo que debo de hacer es crear dimensiones para esos valores tipo String que quiero mostrar en el informe, verdad?

    En ese caso, como hago eso? puedes explicarme?, gracias por adelantado.

    saludos

    lunes, 18 de noviembre de 2019 13:18
  • Serían varios pasos.

    Lo primero es construir las tablas. En alguna base de datos (típicamente la BD dedicada a OLAP, no la de OLTP, aunque esto no es obligatorio) harías todos los "create table" para las tablas de dimensiones y las tablas de hechos que vayas a usar en la solución OLAP.

    Después construyes el ETL que bombee los datos desde tus varias bases de OLTP hacia las tablas de OLAP. Esto es habitual pero no es forzoso; podrías usar directamente para el cubo las tablas de OLTP (posiblemente por mediación de vistas que agrupen los campos para dar lugar a dimensiones y medidas tal como los vayas a usar en el cubo).

    Después, esas tablas (o vistas) las añades al DataSourceView del proyecto de OLAP para que tengan visibilidad desde ahí. Si eran tablas y tenían bien puestos los foreign keys, te aparecerán las relaciones automáticamente en el dsv. Si eran vistas o tablas sin FKs, agrega a mano las relaciones en el dsv.

    Una vez hecho eso, haces clic-derecho sobre "cubos" y ejecutar el asistente para crear un nuevo cubo. El asistente ya te pregunta cuáles son las tablas que quieres usar para dimensiones y medidas, y te deja elegir entre todas las que pusiste en el dsv.

    Bueno, ¿y si no quieres crear tablas de dimensiones, y quieres sacar las dimensiones desde la misma tabla que tiene las medidas? Pues también se puede hacer. Se llaman "dimensiones degeneradas", y es una de las opciones que te ofrece el asistente del cubo. No recuerdo muy bien de memoria cómo se hacía, pero creo que era cuando te pide que selecciones las dimensiones, sale la tabla de medidas sin seleccionar por defecto, pero puedes seleccionarla y luego ponerle la "x" a las columnas que son dimensiones (y, claro, no ponerles la "x" cuando estás seleccionando las medidas).

    lunes, 18 de noviembre de 2019 13:37
  • Gracias, he creado una dimensión degenerada y perfecto...muchas gracias.
    martes, 19 de noviembre de 2019 11:16