Definición de las propiedades de procesamiento de nulos y miembro desconocido

Cuando Analysis Services procesa una dimensión, todos los valores distintos de las columnas subyacentes de las tablas o vistas de la vista del origen de datos rellenan los atributos de la dimensión. Si Analysis Services encuentra un valor NULL durante el procesamiento, de forma predeterminada, convierte este valor NULL en un cero para las columnas numéricas o en una cadena vacía para las columnas de cadena. Puede modificar la configuración predeterminada o convertir valores NULL en el proceso de extracción, transformación y carga (si existe) del almacenamiento de datos relacional subyacente. Además, puede hacer que Analysis Services convierta el valor NULL en un valor designado configurando tres propiedades: las propiedades UnknownMember y UnknownMemberName de la dimensión y la propiedad NullProcessing para el atributo clave de la dimensión.

El Asistente para dimensiones y el Asistente para cubos le permitirán habilitar estas propiedades en función de si el atributo clave de una dimensión admite valores NULL o el atributo raíz de una dimensión de copo de nieve se basa en una columna que acepta valores NULL. En estos casos, la propiedad NullProcessing del atributo de clave se establecerá en UnknownMember y la propiedad UnknownMember se establecerá en Visible.

Sin embargo, al crear dimensiones de copo de nieve incrementalmente, como estamos haciendo con la dimensión Product de este tutorial, o al definir dimensiones mediante el Diseñador de dimensiones y, a continuación, incorporar estas dimensiones existentes en un cubo, es posible que sea necesario establecer manualmente las propiedades UnknownMember y NullProcessing .

En las tareas de este tema, agregará los atributos de categoría de producto y subcategoría de producto a la dimensión de producto desde las tablas con esquema de copo de nieve que incorporará a la vista del origen de datos Adventure Works DW. A continuación, habilitará la propiedad UnknownMember para la dimensión Product, especificará Assembly Components como el valor de la propiedad UnknownMemberName , relacionará los Subcategory atributos y Category con el atributo product name y, a continuación, definirá el control de errores personalizado para el atributo de clave de miembro que vincula las tablas de copos de nieve.

Nota:

Si ha agregado los atributos Subcategory y Category al definir originalmente el cubo Tutorial de Analysis Services mediante el Asistente para cubos, estos pasos se habrían realizado automáticamente.

Revisar el control de errores y las propiedades de miembro desconocidas en la dimensión Product

  1. Cambie al Diseñador de dimensiones para la dimensión Product , haga clic en la pestaña Estructura de dimensión y, a continuación, seleccione Producto en el panel Atributos .

    Esto le permite ver y modificar las propiedades de la propia dimensión.

  2. En la ventana Propiedades, revise las propiedades UnknownMember y UnknownMemberName .

    Observe que la propiedad UnknownMember no está habilitada, porque su valor se establece en None en lugar de Visible o Hidden, y que no se especifica ningún nombre para la propiedad UnknownMemberName .

  3. En la ventana Propiedades, seleccione (personalizado) en la celda de la propiedad ErrorConfiguration y, a continuación, expanda la colección de propiedades ErrorConfiguration .

    Establecer la propiedad ErrorConfiguration en (personalizado) le permite ver los valores de configuración de error predeterminados; no cambia ninguna configuración.

  4. Revise las propiedades de configuración de errores de clave y clave nula, pero no realice ningún cambio.

    Tenga en cuenta que, de forma predeterminada, cuando las claves NULL se convierten en el miembro desconocido y se omite el error de procesamiento asociado a esta conversión.

    En la imagen siguiente se muestra la configuración de propiedad de la colección ErrorConfiguration.

    Colección de propiedades ErrorConfiguration

  5. Haga clic en la pestaña Explorador , compruebe que Líneas de modelo de producto está seleccionada en la lista Jerarquía y, a continuación, expanda All Products.

    Observe los cinco miembros del nivel de línea de producto.

  6. Expanda Componentes y, a continuación, expanda el miembro sin etiquetar del nivel Nombre del modelo.

    Este nivel contiene los componentes de ensamblado que se usan al compilar otros componentes, empezando por el producto Ajustable Race , como se muestra en la siguiente imagen.

    Componentes de ensamblaje usados para construir otros componentes

Definición de atributos de tablas con estructura de copo de nieve y una jerarquía de la categoría de productos User-Defined

  1. Abra el Diseñador de vistas del origen de datos para Adventure Works DW, seleccione Ventas de revendedores en el panel Organizador de diagramas y, a continuación, haga clic en Agregar o quitar objetos en el menú Vista del origen de datos de SQL Server Data Tools (SSDT).

    Se abre el cuadro de diálogo Agregar o quitar tablas .

  2. En la lista Objetos incluidos , seleccione DimProduct (dbo) y, a continuación, haga clic en Agregar tablas relacionadas.

    Se agregan DimProductSubcategory (dbo) y FactProductInventory (dbo). Quita FactProductInventory (dbo) para agregar solo la tabla DimProductSubcategory (dbo) a la lista Objetos incluidos.

  3. Con la tabla DimProductSubcategory (dbo) seleccionada de forma predeterminada como la tabla agregada más recientemente, haga clic en Agregar tablas relacionadas de nuevo.

    La tabla DimProductCategory (dbo) se agrega a la lista Objetos incluidos .

  4. Haz clic en Aceptar.

  5. En el menú Formato de SQL Server Data Tools, seleccione Diseño automático y, a continuación, haga clic en Diagrama.

    Observe que la tabla DimProductSubcategory (dbo) y la tabla DimProductCategory (dbo) están vinculadas entre sí y también a la tabla ResellerSales a través de la tabla Product .

  6. Cambie al Diseñador de dimensiones para la dimensión Product y, a continuación, haga clic en la pestaña Estructura de dimensión .

  7. Haga clic con el botón derecho en cualquier parte del panel Vista del origen de datos y, a continuación, haga clic en Mostrar todas las tablas.

  8. En el panel Vista del origen de datos , busque la tabla DimProductCategory , haga clic con el botón derecho en ProductCategoryKey en esa tabla y, a continuación, haga clic en Nuevo atributo de columna.

  9. En el panel Atributos , cambie el nombre de este nuevo atributo a Category.

  10. En la ventana Propiedades, haga clic en el campo de la propiedad NameColumn y luego en el botón Examinar (...) para abrir el cuadro de diálogo Columna de Nombre.

  11. Seleccione EnglishProductCategoryName en la lista Columna de origen y, a continuación, haga clic en Aceptar.

  12. En el panel Vista del origen de datos , busque la tabla DimProductSubcategory , haga clic con el botón derecho en ProductSubcategoryKey en esa tabla y, a continuación, haga clic en Nuevo atributo de columna.

  13. En el panel Atributos , cambie el nombre de este nuevo atributo a Subcategory.

  14. En la ventana Propiedades, haga clic en el campo de la propiedad NameColumn y, a continuación, haga clic en el botón Examinar (...) para abrir el cuadro de diálogo Columna de nombre .

  15. Seleccione EnglishProductSubcategoryName en la lista Columna de origen y haga clic en Aceptar.

  16. Cree una nueva jerarquía definida por el usuario denominada Categorías de productos con los siguientes niveles, en orden de arriba a abajo: Category, Subcategoryy Nombre del producto.

  17. Especifique All Products como valor para la propiedad AllMemberName de la jerarquía definida por el usuario Categorías de productos.

Examinar las jerarquías en la dimensión del Producto User-Defined

  1. En la barra de herramientas de la pestaña Estructura de dimensión de Dimension Designer para la dimensión Product, haga clic en Procesar.

  2. Haga clic en para compilar e implementar el proyecto y, a continuación, haga clic en Ejecutar para procesar la dimensión Product .

  3. Cuando el procesamiento se ha realizado correctamente, expanda 'Dimensión de procesamiento "Producto" completado correctamente' en el cuadro de diálogo 'Progreso del proceso', expanda 'Atributo de la dimensión de procesamiento "Nombre de producto" completado' y, a continuación, expanda 'Consultas SQL 1'.

  4. Haga clic en la consulta SELECT DISTINCT y, a continuación, haga clic en Ver detalles.

    Observe que se ha agregado una cláusula WHERE a la cláusula SELECT DISTINCT que quita los productos que no tienen ningún valor en la columna ProductSubcategoryKey, como se muestra en la siguiente imagen.

    Cláusula SELECT DISTINCT que muestra la cláusula WHERE

  5. Haga clic en Cerrar tres veces para cerrar todos los cuadros de diálogo de procesamiento.

  6. Haga clic en la pestaña Explorador del Diseñador de dimensiones para la dimensión Product y, a continuación, haga clic en Volver a conectar.

  7. Compruebe que Líneas de modelo de producto aparece en la lista Jerarquía, expanda y, a continuación, expanda All ProductsComponentes.

  8. Seleccione Categorías de productos en la lista Jerarquía , expanda All Productsy, a continuación, expanda Componentes.

    Observe que ninguno de los componentes del ensamblado aparece.

Para modificar el comportamiento mencionado en la tarea anterior, habilitará la propiedad UnknownMember de la dimensión Products, establecerá un valor para la propiedad UnknownMemberName, establecerá la propiedad NullProcessing para los atributos Subcategory y Nombre del modelo en UnknownMember, definirá el atributo Category como un atributo relacionado con el atributo Subcategory, y a continuación, definirá el atributo Línea de producto como un atributo relacionado con el atributo Nombre del modelo. Estos pasos harán que Analysis Services use el valor de nombre de miembro desconocido para cada producto que no tenga un valor para la columna SubcategoryKey , como verá en la siguiente tarea.

Habilitación del miembro desconocido, definición de relaciones de atributo y especificación de propiedades de procesamiento personalizado para valores NULL

  1. Haga clic en la pestaña Estructura de dimensión del Diseñador de dimensiones para la dimensión Product y, a continuación, seleccione Product en el panel Atributos .

  2. En la ventana Propiedades , cambie la propiedad UnknownMember a Visible y, a continuación, cambie el valor de la propiedad UnknownMemberName a Assembly Components.

    Al cambiar la propiedad UnknownMember a Visible o Hidden , se habilita la propiedad UnknownMember para la dimensión.

  3. Haga clic en la pestaña Relaciones de atributo .

  4. En el diagrama, haga clic con el botón derecho en el Subcategory atributo y seleccione Nueva relación de atributo.

  5. En el cuadro de diálogo Crear relación de atributo , el atributo de origen es Subcategory. Establezca el atributo relacionado a Category. Deje el tipo de relación establecido en Flexible.

  6. Haz clic en Aceptar.

  7. En el panel Atributos , seleccione Subcategoría.

  8. En la ventana Propiedades, expanda la propiedad KeyColumns y, a continuación, expanda la propiedad DimProductSubcategory.ProductSubcategoryKey (Integer).

  9. Cambie la propiedad NullProcessing a UnknownMember.

  10. En el panel Atributos , seleccione Nombre del modelo.

  11. En la ventana Propiedades, expanda la propiedad KeyColumns y, a continuación, expanda la propiedad Product.ModelName (WChar).

  12. Cambie la propiedad NullProcessing a UnknownMember.

    Debido a estos cambios, cuando Analysis Services encuentra un valor NULL para el Subcategory atributo o el atributo Nombre del modelo durante el procesamiento, el valor de miembro desconocido se reemplazará como valor de clave y las jerarquías definidas por el usuario se construirán correctamente.

Volver a examinar la dimensión de producto

  1. En el menú Generar, haga clic en Implementar el Tutorial de Analysis Services.

  2. Cuando la implementación se haya completado correctamente, haga clic en la pestaña Explorador del Diseñador de dimensiones para la dimensión Product y, a continuación, haga clic en Volver a conectar.

  3. Compruebe que categorías de productos está seleccionada en la lista Jerarquía y, a continuación, expanda All Products.

    Observe que Los componentes de ensamblado aparecen como un nuevo miembro del nivel Categoría.

  4. Expanda el Assembly Components miembro del Category nivel y, a continuación, expanda el Assembly Components miembro del Subcategory nivel.

    Observe que todos los componentes de ensamblado ahora aparecen en el nivel Nombre de producto , como se muestra en la imagen siguiente.

    Nivel de nombre de producto que muestra los componentes de ensamblado

Lección siguiente

Lección 5: Definir relaciones entre dimensiones y grupos de medida