Mensaje de error al procesar una dimensión

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

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

Síntomas

En SQL Server Analysis Service, el procesamiento de dimensiones y es posible que reciba un mensaje de error similar al siguiente:

Errores en el motor de almacenamiento OLAP: se encontró 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 tiene en cuenta mayúsculas de minúsculas. La dimensión 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 valores de datos BOOKNAME y Bookname, durante el procesamiento de dimensión, 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: 'Bookname'. 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 siguientes procedimientos 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 o UPPER usar la función case en la consulta con LOWER nombre.

  • Opción 2: puede solucionar el problema mediante cualquiera de las siguientes opciones:

    Nota

    Por lo general, estas opciones no se recomiendan, ya que pueden dar lugar a datos inesperados, pero se pueden usar para solucionar problemas.

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

    • Mediante el Editor de dimensiones de 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 (distintos valores de mayúsculas y minúsculas) una vez completado el procesamiento.