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

Este comportamiento es así 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 mixtas. 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 valores de datos BOOKNAME y Bookname, durante el procesamiento de dimensiones, si los datos BOOKNAME se procesaron primero como clave de atributo, se producirá el siguiente error en el procesamiento posterior:

Se encontró 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 atributo, debe comprobar los valores de datos relacionales de los 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 del 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 mediante cualquiera de las siguientes opciones:

    Nota:

    Estas opciones no suelen recomendarse, 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.

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