Share via


Sugerencias de globalización y prácticas recomendadas (Analysis Services)

Se aplica a: solo a modelos multidimensionales

Estas sugerencias e instrucciones pueden ayudar a aumentar la portabilidad de las soluciones de inteligencia empresarial y evitar errores que están directamente relacionados con la configuración de idioma y de intercalación.

  • Usar intercalaciones similares a lo largo de la pila

  • Recomendaciones de intercalación comunes

  • Mayúsculas y minúsculas de los identificadores de objeto

  • Pruebas de configuración regional con Excel y SQL Server Profiler

  • Escribir consultas MDX en una solución que contenga traducciones

  • Escribir consultas MDX que contengan valores de fecha y hora

Usar intercalaciones similares a lo largo de la pila

Si es posible, intente utilizar la misma configuración de intercalación en Analysis Services que la que usa para el motor de base de datos, y busque la correspondencia entre la distinción de ancho, la distinción entre mayúsculas y minúsculas y la distinción de acceso.

La intercalación de cada servicio tiene su propia configuración, con el valor predeterminado del motor de la base de datos establecido en SQL_Latin1_General_CP1_CI_AS y con Analysis Services establecido en Latin1_General_AS. Los valores predeterminados son compatibles en caso, ancho y distinción de acentos. Tenga en cuenta que si modifica la configuración de cualquiera de las intercalaciones, puede tener problemas si las propiedades de la intercalación difieren en aspectos fundamentales.

Aunque la configuración de intercalación sea funcionalmente equivalente, puede encontrarse con un caso especial si cada servicio interpreta de forma distinta un espacio vacío en cualquier punto de la cadena.

El carácter de espacio es un “caso especial” porque se puede representar como un juego de caracteres de byte único (SBCS) o como un juego de caracteres de doble byte (DBCS) en Unicode. En el motor relacional, dos cadenas compuesta separadas por un espacio (una con SBCS y otra con DBCS) se consideran idénticas. Durante el procesamiento en Analysis Services, las dos mismas cadenas compuestas no son idénticas y la segunda instancia se marcará como duplicada.

Para obtener más información y sugerencias de soluciones alternativas, consulte Los espacios en blanco en una cadena Unicode tienen resultados de procesamiento diferentes en función de la intercalación.

Recomendaciones de intercalación comunes

Analysis Services siempre muestra la lista completa de todos los idiomas e intercalaciones disponibles; no filtra las intercalaciones según el idioma seleccionado. Asegúrese de elegir una combinación factible.

Algunas de las intercalaciones más comúnmente usadas son las de la lista siguiente.

Debe considerar esta lista como un punto de partida para una investigación más detallada y no como una recomendación definitiva que excluya otras opciones. Puede ser que una intercalación no específicamente recomendada sea la más adecuada para sus datos. La única forma de comprobar si los valores de datos se ordenan y comparan adecuadamente es realizar pruebas minuciosas. Como siempre, asegúrese de ejecutar las cargas de trabajo tanto de procesamiento como de consulta al probar la intercalación.

  • Latin1_General_100_AS se suele utilizar para las aplicaciones que utilizan los 26 caracteres del alfabeto ISO de latín básico.

  • Los idiomas de Europa del Norte que utilizan letras escandinavas (como ø) pueden utilizar Finnish_Swedish_100.

  • Los idiomas de la Europa del Este, como el ruso, a menudo usan Cyrillic_General_100.

  • Las intercalaciones y el idioma chino varían según la región, pero normalmente se utiliza el chino simplificado o el chino tradicional.

    En RPC y Singapur, Microsoft Support acostumbra a preferir el chino simplificado con pinyin como orden de clasificación. Las intercalaciones recomendadas son Chinese_PRC (para SQL Server 2000), Chinese_PRC_90 (para SQL Server 2005) o Chinese_Simplified_Pinyin_100 (para SQL Server 2008 y versiones posteriores).

    En Taiwán, es más común el uso del chino tradicional con el criterio de ordenación recomendado en función del número de trazos: Chinese_Taiwan_Stroke (para SQL Server 2000), Chinese_Taiwan_Stroke_90 (para SQL Server 2005) o Chinese_Traditional_Stroke_Count_100 (para SQL Server 2008 y versiones posteriores).

    Otras regiones (por ejemplo, Hong Kong y Macao) también utilizan el chino tradicional. Para las intercalaciones en Hong Kong es habitual ver Chinese_Hong_Kong_Stroke_90 (en SQL Server 2005). En Macao, se utiliza con bastante frecuencia Chinese_Traditional_Stroke_Count_100 (en SQL Server 2008 y versiones posteriores).

  • Para el japonés, la intercalación utiliza con más frecuencia es Japanese_CI_AS. Japanese_XJIS_100 se utiliza en instalaciones que admiten JIS2004. Japanese_BIN2 suele aparecer en proyectos de migración de datos, con datos que se originan en plataformas que no son de Windows o en orígenes de datos distintos al motor de base de datos relacional de SQL Server.

    Japanese_Bushu_Kakusu_100 raramente aparece en servidores que ejecutan cargas de trabajo de Analysis Services.

  • Para el coreano se recomienda Korean_100. Aunque en la lista sigue apareciendo Korean_Wansung_Unicode, ya no se utiliza.

Mayúsculas y minúsculas de los identificadores de objeto

A partir de SQL Server 2012 SP2, la distinción entre mayúsculas y minúsculas de los identificadores de objetos se aplican independientemente de la intercalación, pero el comportamiento varía en función del idioma:

Script de idioma

Distinción de mayúsculas y minúsculas

Alfabeto Latín básico

Los identificadores de objeto expresados en alfabeto latino (cualquiera de las 26 letras del inglés en mayúscula o minúscula) se tratan sin distinción entre mayúsculas y minúsculas, independientemente de la intercalación. Por ejemplo, los identificadores de objeto siguientes se consideran idénticos: 54321abcdef, 54321ABCDEF, 54321AbCdEf. Internamente, Analysis Services trata los caracteres de la cadena como si todos estuvieran en mayúsculas y, a continuación, realiza una comparación de bytes simples que es independiente del lenguaje.

Tenga en cuenta que solo los 26 caracteres se ven afectados. Si el idioma es Europeo occidental pero utiliza caracteres escandinavos, los caracteres adicionales no estarán en mayúsculas.

Cirílico, griego, copto, armenio

Los identificadores de objetos en script bicameral no latino, como el cirílico, siempre distinguen entre mayúsculas y minúsculas. Por ejemplo, Измерение y измерение se consideran dos valores distintos, aunque la única diferencia sea el uso de mayúscula o minúscula en la primera letra.

Implicaciones de la distinción entre mayúsculas y minúsculas para los identificadores de objetos

Solo los identificadores de objeto, y no los nombres de objeto, están sujetos a los comportamientos de mayúsculas y minúsculas que se describen en la tabla. Si ve un cambio en el funcionamiento de la solución (una comparación del antes y el después de instalar SQL Server 2012 SP2 o una versión posterior), probablemente se trate de un problema de procesamiento. Las consultas no se ven afectadas por los identificadores de objeto. Para los dos lenguajes de la consulta (DAX y MDX), el motor de la fórmula utiliza el nombre del objeto (no el identificador).

[!NOTA]

Los cambios de código relacionados con la distinción entre mayúsculas y minúsculas han supuesto un cambio importante para algunas aplicaciones. Para obtener más información, vea Cambios recientes en las características de Analysis Services en SQL Server 2012.

Pruebas de configuración regional con Excel, SQL Server Profiler y SQL Server Management Studio

Al probar traducciones, se debe especificar en la conexión el LCID de la traducción. Como se indica en Obtener otro idioma de SSAS en Excel, puede utilizar Excel para probar sus traducciones.

Puede hacerlo manualmente editando el archivo .odc para que incluya la propiedad de la cadena de conexión del identificador de configuración regional. Pruebe con la base de datos multidimensional de ejemplo de Adventure Works.

  • Busque los archivos .odc existentes. Cuando encuentre el correspondiente a Adventure Works multidimensional, haga clic con el botón secundario en el archivo para abrirlo en el Bloc de notas.

  • Agregue Locale Identifier=1036 a la cadena de conexión. Guarde el archivo y ciérrelo.

  • Abra Excel | Datos | Conexiones existentes. Filtre la lista para que muestre solamente los archivos de las conexiones de este equipo. Busque la conexión de Adventure Works (fíjese atentamente en el nombre, porque puede haber más de una). Abra la conexión.

    Debería ver las traducciones al francés de la base de datos de ejemplo de Adventure Works.

    Tabla dinámica de Excel con traducciones en francés

A modo de seguimiento, puede usar SQL Server Profiler para confirmar la configuración regional. Haga clic en un evento Session Initialize y, a continuación, busque <localeidentifier>1036</localeidentifier> en la lista de propiedades del área de texto inferior.

En Management Studio, puede especificar el identificador de configuración regional en una conexión de servidor.

  • En Explorador de objetos | Conectar | Analysis Services | Opciones, haga clic en la pestaña Parámetros de conexión adicionales.

  • Introduzca Local Identifier=1036 y, a continuación, haga clic en Conectar.

  • Ejecute una consulta MDX en la base de datos de Adventure Works. Los resultados de la consulta deben ser las traducciones al francés.

    Consulta MDX con traducciones en francés en SSMS

Escribir consultas MDX en una solución que contenga traducciones

Las traducciones proporcionan información de los nombres de los objetos de Analysis Services, pero los identificadores de los mismos objetos no se traducen. Siempre que sea posible, utilice los identificadores y las claves de los objetos de Analysis Services en lugar de los títulos y los nombres traducidos. Por ejemplo, utilice claves de miembro en lugar de nombres de miembro en los scripts e instrucciones MDX (Expresiones multidimensionales) con el fin de asegurar la portabilidad entre diferentes idiomas.

[!NOTA]

Recuerde que los nombres del objeto tabular siempre distinguen entre mayúsculas y minúsculas, independientemente de la intercalación. Los nombres del objeto multidimensional, en cambio, siguen la distinción entre mayúsculas y minúsculas de la intercalación. Puesto que solo los nombres de los objetos multidimensionales distinguen entre mayúsculas y minúsculas, compruebe que en todas las consultas MDX que hagan referencia a objetos multidimensionales se utilicen las mayúsculas y las minúsculas correctamente.

Escribir consultas MDX que contengan valores de fecha y hora

Las siguientes sugerencias permiten hacer que las consultas MDX basadas en el tiempo y en la fecha sean más portables en los diferentes idiomas:

  1. Utilice elementos numéricos para las comparaciones y las operaciones.

    Cuando realice operaciones y comparaciones de día de la semana y mes, utilice los elementos numéricos de hora y fecha en lugar de los equivalentes de cadena (por ejemplo, utilice MonthNumberofYear en lugar de MonthName). Los valores numéricos se ven menos afectados por las diferencias en las traducciones de idiomas.

  2. Utilice los equivalentes de cadenas en un conjunto de resultados

    Al generar conjuntos de resultados vistos por los usuarios finales, plantéese la posibilidad de utilizar una cadena (como MonthName) para que la audiencia multilingüe pueda utilizar las traducciones proporcionadas.

  3. Utilice los formatos de fecha ISO para la información universal de fecha y hora

    Un experto en Analysis Services nos da esta recomendación: "Siempre uso el formato de fecha ISO aaaa-mm-dd para todas las cadenas de fechas que paso a consultas en SQL o MDX porque no es ambiguo y funciona independientemente del cliente o de la configuración regional del servidor. Podría aceptar que el servidor defiriera a su configuración regional al analizar un formato de fecha ambiguo, pero también pienso que si tiene una opción que no admite interpretaciones, es mejor que la elija".

  4. Use the Format function to enforce a specific format, regardless of regional language settings

    La siguiente consulta MDX, tomada de una publicación en un foro, muestra cómo utilizar el formato para devolver las fechas en un formato específico, independientemente de la configuración regional subyacente.

    Puede consultar la publicación original en el foro Network Steve: SSAS 2012 generates invalid dates.

    WITH MEMBER [LinkTimeAdd11Date_Manual] as Format(dateadd("d",15,"2014-12-11"), "mm/dd/yyyy")
    member [LinkTimeAdd15Date_Manual] as Format(dateadd("d",11,"2014-12-13"), "mm/dd/yyyy")
    SELECT
    { [LinkTimeAdd11Date_Manual]
    ,[LinkTimeAdd15Date_Manual]
    }
    ON COLUMNS 
    FROM [Adventure Works]
    

Vea también

Conceptos

Escenarios de globalización para datos multidimensionales de Analysis Services

Escribir instrucciones Transact-SQL internacionales