Mensaje de error al procesar una dimensión

Este artículo le ayuda a resolver el problema que se produce al procesar una dimensión en SQL Server Analysis Service.

Versión del producto original: SQL Server
Número de KB original: 2002757

Síntomas

En SQL Server Analysis Service, el procesamiento de dimensiones y puede recibir un mensaje de error similar al siguiente:

Errores en el motor de almacenamiento OLAP: se ha encontrado una clave de atributo duplicada al procesar: Tabla: "TABLE_NAME", Columna: "ATTRIBUTE_COLUMN_NAME, Valor: "ATTRIBUTE_VALUE". El atributo es "ATTRIBUTENAME".

Causa

El comportamiento es por diseño. SQL Server Analysis Services detectará la clave de atributo duplicada durante el procesamiento.

El error anterior también se puede desencadenar cuando la base de datos relacional distingue mayúsculas de minúsculas y los valores de datos están en mayúsculas y minúsculas. En Analysis Services, al crear una dimensión y sus atributos, la intercalación predeterminada del atributo no distingue mayúsculas de minúsculas. La dimensión de forma predeterminada tiene ErrorConfiguration|KeyDuplicate establecido en ReportAndStop. Por lo tanto, si tiene una base de datos relacional que distingue mayúsculas de minúsculas que, por ejemplo, contiene los valores de datos BOOKNAME y Bookname, durante el procesamiento de dimensiones, si los datos BOOKNAME se procesaron primero como clave de atributo, el procesamiento posterior producirá el siguiente error:

Se ha encontrado una clave de atributo duplicada al procesar: Tabla: "TABLE_NAME", Columna: "ATTRIBUTE_COLUMN_NAME, Valor: "NombreDeEquipo". El atributo es "ATTRIBUTENAME".

Solución

Al diseñar dimensiones, atributos de dimensión y relaciones de atributos, debe comprobar los valores de datos relacionales en busca de duplicados y, si existen, use uno de los procedimientos siguientes para solucionar el problema:

  • Opción 1: edite la consulta con nombre en la vista origen de datos para seleccionar solo los datos con el caso deseado.

    Por ejemplo, puede usar UPPER la función case o LOWER en la consulta con nombre.

  • Opción 2: Puede solucionar el problema con cualquiera de las siguientes opciones:

    Nota:

    Estas opciones no se suelen recomendar, ya que pueden dar lugar a datos inesperados, pero se pueden usar con fines de solución de problemas.

    • Establezca el valor del elemento KeyDuplicate en ReportAndContinue y KeyErrorLimitAction en StopLogging en ErrorConfiguration.

    • Con la Editor Dimension en Business Intelligence Development Studio (BIDS), abra la dimensión a la que pertenece el atributo y establezca la intercalación adecuada para el atributo mediante la propiedad Collation de la dimensión.

      Nota:

      Esto hará que la dimensión tenga una clave de atributo duplicada (valores de mayúsculas y minúsculas diferentes) una vez completado el procesamiento.