Lección 4-7: Definir las propiedades de procesamiento nulo y miembro desconocido

Se aplica a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Cuando SQL Server 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 SQL Server Analysis Services encuentra un valor NULL durante el procesamiento, de forma predeterminada, convierte este valor NULL en cero para las columnas numéricas o en una cadena vacía para las columnas de cadena. Puede modificar estas opciones predeterminadas o convertir los valores NULL en el proceso de extracción, transformación y carga (si existe) del almacenamiento de datos relacional subyacente. Además, puede haber SQL Server Analysis Services convertir 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 habilitarán estas propiedades dependiendo de si el atributo clave de una dimensión admite valores NULL o si el atributo del elemento raíz de una dimensión de copo de nieve se basa en una columna que puede admitir valores NULL. En estos casos, la propiedad NullProcessing del atributo clave se establecerá en UnknownMember y la propiedad UnknownMember se establecerá en Visible.

Pero al crear dimensiones de copo de nieve incrementalmente, como se hace con la dimensión Product en este tutorial, o al definir dimensiones con el Diseñador de dimensiones y, después, incorporar estas dimensiones existentes en un cubo, es posible que tenga que 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 Product de las tablas snowflaked que agregará a la vista del origen de datos Adventure Works DW. Después habilitará la propiedad UnknownMember para la dimensión Product, especificará Assembly Components como valor de la propiedad UnknownMemberName , relacionará los atributos de Subcategory y Category con el atributo de nombre del producto y, por último, definirá el control de errores personalizado para el atributo clave de miembro que vincula las tablas de copo de nieve.

Nota:

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

Revisar las propiedades de control de errores y de miembro desconocido 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, después, seleccione Product en el panel Atributos .

    De este modo, podrá ver y modificar las propiedades de la dimensión propiamente dicha.

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

    Observe que la propiedad UnknownMember no está habilitada, porque su valor está establecido en Ninguno en lugar de Visible u Oculto, y que no se ha especificado ningún nombre para la propiedad UnknownMemberName .

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

    Establecer la propiedad ErrorConfiguration en (personalizada) permite ver los valores de configuración de errores predeterminados, no se cambia ningún valor.

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

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

    En la imagen siguiente se muestran los parámetros de propiedad para la colección de propiedades ErrorConfiguration .

    ErrorConfigurationColección de propiedades Colección de propiedades

  5. Haga clic en la pestaña Explorador , compruebe que Product Model Lines está seleccionado en la lista Jerarquía y expanda All Products.

    Observe los cinco miembros del nivel Product Line.

  6. Expanda Componentsy, después, expanda el miembro sin etiqueta del nivel Model Name .

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

    Componentes de ensamblado usados para compilar otros componentes Componentes de

Definir los atributos de tablas de copo de nieve y una jerarquía definida por el usuario Product Category

  1. Abra vista del origen de datos Designer para la vista del origen de datos Adventure Works DW, seleccione Reseller Sales 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.

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

  2. En la lista Objetos incluidos seleccione DimProduct (dbo)y, después, haga clic en Agregar tablas relacionadas.

    Se agregarán tanto DimProductSubcategory (dbo) como FactProductInventory (dbo) . Quite FactProductInventory (dbo) de modo que solo se agregue la tabla DimProductSubcategory (dbo) a la lista Objetos incluidos .

  3. Con la tabla DimProductSubcategory (dbo) seleccionada de forma predeterminada como tabla que se agrega con más frecuencia, haga clic de nuevo en Agregar tablas relacionadas .

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

  4. Haga clic en OK.

  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 haga clic en la pestaña Estructura de dimensión .

  7. Haga clic con el botón derecho en el panel Vista del origen de datos y luego 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 dicha tabla y, luego, haga clic en Nuevo atributo de columna.

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

  10. En el 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.

  11. Seleccione EnglishProductCategoryName en la lista Columna de origen y 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 dicha tabla y, luego, haga clic en Nuevo atributo de columna.

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

  14. En el 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 Product Categories con los niveles siguientes, por orden de arriba a abajo: Category, Subcategoryy Product Name.

  17. Especifique All Products como valor para la propiedad AllMemberName de la jerarquía definida por el usuario Product Categories.

Examinar las jerarquías definidas por el usuario en la dimensión Product

  1. En la barra de herramientas de la pestaña Estructura de dimensión del Diseñador de dimensiones para la dimensión Product , haga clic en Procesar.

  2. Haga clic en para crear e implementar el proyecto y, después, haga clic en Ejecutar para procesar la dimensión Product .

  3. Cuando el proceso se haya ejecutado correctamente, expanda Procesamiento de dimensión 'Product' finalizó correctamente en el cuadro de diálogo Progreso del proceso , expanda Procesamiento de atributo de dimensión 'Product Name' finalizó correctamentey, después expanda Consultas SQL 1.

  4. Haga clic en la consulta SELECT DISTINCT y, después, en Ver detalles.

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

    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 en el Diseñador de dimensiones para la dimensión Product y, después, haga clic en Volver a conectar.

  7. Compruebe que Product Model Lines aparece en la lista Jerarquía , expanda All Productsy, después, expanda Components.

  8. Seleccione Product Categories en la lista Jerarquía , expanda All Productsy, después, expanda Components.

    Observe que no aparece ningún componente de ensamblado.

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 Model Name en UnknownMember, definirá el atributo Category como un atributo relacionado del atributo Subcategory y luego definirá el atributo Product Line como un atributo relacionado del atributo Model Name . Estos pasos harán que SQL Server Analysis Services usen 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.

Habilitar el miembro desconocido, definir las relaciones de atributo y especificar propiedades de procesamiento personalizadas 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, después, seleccione Product en el panel Atributos .

  2. En la ventana Propiedades , cambie la propiedad UnknownMember por Visibley, después, cambie el valor de la propiedad UnknownMemberName por Assembly Components.

    Al cambiar la propiedad UnknownMember por Visible u Oculto se habilita la propiedad UnknownMember para la dimensión.

  3. Haga clic en la pestaña Relación de atributo .

  4. En el diagrama, haga clic con el botón derecho en el atributo Subcategory 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 en Category. Deje establecido el tipo de relación en Flexible.

  6. Haga clic en OK.

  7. En el panel Atributos , seleccione Subcategory.

  8. En la ventana Propiedades, expanda la propiedad KeyColumns y, después, expanda la propiedad DimProductSubcategory.ProductSubcategoryKey (Integer) .

  9. Cambie la propiedad NullProcessing por UnknownMember.

  10. En el panel Atributos , seleccione Model Name.

  11. En la ventana Propiedades, expanda la propiedad KeyColumns y, después, expanda la propiedad Product.ModelName (WChar) .

  12. Cambie la propiedad NullProcessing por UnknownMember.

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

Examinar de nuevo la dimensión Product

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

  2. Cuando la implementación haya finalizado correctamente, haga clic en la pestaña Explorador del Diseñador de dimensiones para la dimensión Product y luego haga clic en Reconnect.

  3. Compruebe que Product Categories está seleccionado en la lista Jerarquía y expanda All Products.

    Observe que aparece Assembly Components como nuevo miembro del nivel Category.

  4. Expanda el miembro Assembly Components del nivel Category y luego expanda el miembro Assembly Components del nivel Subcategory .

    Observe que todos los componentes de ensamblado ahora aparecen en el nivel Product Name , como se muestra en la ilustración 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