SAP HANA

En este artículo se describe cómo conectar Tableau a una base de datos de SAP HANA y cómo configurar la fuente de datos.

Nota: Este conector utiliza controladores JDBC para Mac, Linux y Windows. El controlador JDBC para Windows es nuevo en la versión de Tableau 2021.1. Los controladores JDBC para Mac y Linux se introdujeron con la versión de Tableau 2020.2. La versión 2.3.4 del controlador JDBC es la versión recomendada.

Antes de empezar

Antes de empezar, recopile esta información de conexión:

  • ¿Va a establecer una conexión de un solo nodo o de varios nodos?

    • Nodo único: el nombre del servidor donde se aloja la base de datos a la que desea conectarse y el número de puerto si usa un puerto no predeterminado.

    • Varios nodos: nombres de servidores y los números de puertos donde se aloja las bases de datos a las que desea conectarse.

  • Método de autenticación:

    • Windows: autenticación de Windows o nombre de usuario y contraseña

    • Mac: Kerberos o nombre de usuario y contraseña

  • ¿Va a conectarse a un servidor SSL?

  • (Opcional) Ejecutar instrucción SQL inicial cada vez que Tableau se conecta

Controlador necesario

Este conector necesita un controlador para comunicarse con la base de datos. Es posible que ya tenga el controlador necesario instalado en el equipo. Si el controlador no está instalado en el equipo, Tableau muestra un mensaje en el cuadro de diálogo de conexión con un enlace a la página Descarga de controladores(El enlace se abre en una ventana nueva), donde podrá encontrar enlaces de controladores e instrucciones de instalación.

Establecer la conexión y configurar la fuente de datos

  1. Inicie Tableau y, en Conectar, seleccione SAP HANA. Para obtener una lista completa de conexiones de datos, seleccione Más en A un servidor. A continuación, siga estos pasos:

    1. Seleccione el tipo de conexión:

      • Nodo único: escriba el nombre del servidor donde se aloja la base de datos a la que desea conectarse y el número de puerto si usa un puerto no predeterminado.

      • Varios nodos: escriba el nombre de host y el número de puerto de cada servidor, separados por una coma. Por ejemplo:

        host1:30015,host2:30015,host3:30015

        Para obtener más información sobre la compatibilidad de SAP HANA con la conmutación por error, consulte Configuración de clientes para la conmutación por error(El enlace se abre en una ventana nueva) en el portal de ayuda de SAP.

    2. Especifique cómo desea iniciar sesión en el servidor:

      En Windows:

      • Seleccione Usar autenticación de Windows si su entorno es compatible con inicio de sesión único (SSO). Para obtener más información sobre el inicio de sesión único y los requisitos del entorno, consulte Compatibilidad con inicio de sesión único (SSO) para SAP HANA.

      • También puede seleccionar Usar un nombre de usuario y una contraseña específicos. Si el servidor está protegido por contraseña y no se encuentra en un entorno de Kerberos, deberá especificar el nombre de usuario y la contraseña.

      En Mac: seleccione Kerberos o bien Usar un nombre de usuario y una contraseña específicos.

      Seleccione la opción Requerir SSL al conectarse a un servidor SSL.

    3. (Opcional) Seleccione SQL inicial para especificar que se ejecute un comando SQL al inicio de cada conexión, por ejemplo, al abrir el libro de trabajo, actualizar un extracto, iniciar sesión en Tableau Server o publicar en Tableau Server. Para obtener más información, consulte Ejecutar SQL inicial

    4. Seleccione Iniciar sesión.

      Si Tableau no puede establecer la conexión, compruebe que las credenciales sean correctas. Si sigue sin poder conectar, su equipo tiene problemas para encontrar el servidor. Póngase en contacto con el administrador de red o con el administrador de la base de datos.

  2. En la página de la fuente de datos, haga lo siguiente:

    1. (Opcional) Seleccione el nombre predeterminado de la fuente de datos en la parte superior de la página y luego escriba un nombre único para su uso en Tableau. Por ejemplo, utilice una nomenclatura de fuente de datos que ayude a que los demás usuarios de la fuente de datos puedan deducir a qué fuente de datos deben conectarse.

    2. En la lista desplegable Esquema, seleccione el icono de búsqueda o bien escriba el nombre del esquema en el cuadro de texto, seleccione el icono de búsqueda y, luego, seleccione el esquema.

    3. En el cuadro de texto Tabla, seleccione el icono de búsqueda, o bien escriba el nombre de la tabla, seleccione el icono de búsqueda y, luego, seleccione la tabla.

      Tableau Desktop también admite la conexión a funciones de tabla de SAP HANA, esta opción aparece en Procedimientos almacenados en el panel izquierdo de la página Fuente de datos.

    4. Arrastre la tabla al lienzo y, a continuación, seleccione la pestaña de la hoja para iniciar el análisis.

      De forma predeterminada, se muestran las etiquetas de las columnas en vez de los nombres.

      Use SQL personalizado para conectarse a una consulta específica, en lugar de conectarse a toda la fuente de datos. Para obtener más información, consulte Conectarse a una consulta de SQL personalizada.

      Nota: Al crear una combinación automática con una vista analítica, si una de las tablas contiene variables asegúrese de que se sitúe a la izquierda. De lo contrario, es posible que la combinación no devuelva los resultados esperados.

Iniciar sesión en un equipo Mac

Al usar Tableau Desktop en un Mac, cuando especifique el nombre de servidor para conectarse, use un nombre de dominio completamente calificado, como por ejemplo, mydb.test.ourdomain.lan, en lugar de un nombre de dominio relativo, como por ejemplo, mydb o mydb.test.

Como alternativa, puede añadir el dominio a la lista de dominios de búsqueda del equipo Mac para que, cuando se conecte, solo tenga que proporcionar el nombre del servidor. Para actualizar la lista de dominios de búsqueda, vaya a Preferencias del sistema > Red > Avanzada y, a continuación, abra la pestaña DNS.

Convertir una jerarquía de niveles de SAP HANA en una jerarquía de usuarios

En todas las versiones de Tableau, cuando se crea una fuente de datos o un libro de trabajo de SAP HANA, se puede crear una jerarquía propia en Tableau para uso exclusivo de Tableau.

A partir de Tableau 2019.4, además del soporte para crear su propia jerarquía para su uso en Tableau, Tableau ahora es compatible con jerarquías de nivel creadas en SAP HANA. Esto significa que cuando se conecta Tableau a una vista de cálculo de SAP HANA con una jerarquía de niveles, la estructura de la jerarquía de niveles de SAP HANA aparece en el panel de datos.

Si desea modificar la jerarquía de niveles de SAP HANA en Tableau, debe convertir la jerarquía de niveles de SAP HANA en una jerarquía de usuarios. Después de convertir una jerarquía de nivel de SAP HANA en una jerarquía de usuario, el proceso no se puede anular. Si decide utilizar la jerarquía de niveles de SAP HANA en lugar de la jerarquía de usuarios, debe empezar de nuevo.

Para convertir a una jerarquía de usuario, siga estos pasos:

  1. A la izquierda de la hoja, en el panel Datos, seleccione la jerarquía y, a continuación, el menú desplegable.
  2. En el menú desplegable, seleccione Convertir en jerarquía de usuario.

Personalizar conexiones JDBC

En Mac y Linux, SAP HANA usa una conexión JDBC, que puede personalizar con un archivo de propiedades. Para obtener más información, consulte Customize JDBC Connections Using a Properties File (Personalizar conexiones de JDBC mediante un archivo de propiedades)(El enlace se abre en una ventana nueva) en la comunidad de Tableau.

Instalar certificados SSL de confianza en un Mac

Si desea usar SSL/TLS para cifrar comunicaciones entre Tableau Desktop y su base de datos, es posible que necesite añadir certificados al almacén de certificados de confianza de Java. Esto es necesario si su base de datos utiliza certificados autofirmados.

Nota: A partir de la versión 2020.2 de Tableau, puede importar un certificado personalizado en la cadena de claves "Sistema". Para obtener más información, consulte SSL unidireccional para conexiones JDBC.

Para conectar Tableau Desktop a su base de datos mediante SSL/TLS, siga estos pasos:

  1. Inicie la aplicación Terminal y vaya al directorio de inicio de Java, que normalmente está ubicado en /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home, a menos que haya instalado el JDK o establecido la variable de entorno JAVA_HOME.

  2. Ejecute el siguiente comando (es posible que deba usar el comando de terminal sudo, que utilizan los administradores para ejecutar comandos como un usuario diferente, como el usuario raíz):

    bin/keytool -importcert -keystore cacerts -alias <certificate name>  -file <path to certificate file>

Para obtener más información acerca de la instalación de certificados de confianza, consulte la documentación para su Java Runtime Environment.

Seleccionar parámetros de entrada y variables

Si la tabla usada incluye parámetros o variables opcionales o requeridas, se abre el cuadro de diálogo Parámetros de entrada y variables.

  • Los parámetros y las variables requeridos muestran su valor actual o la indicación *Requerido.

  • Los parámetros y las variables opcionales muestran su valor actual o están en blanco.

  • La solicitud de la variable cuando se abre el libro de trabajo se abre al seleccionar la casilla de verificación de la sección Solicitar.

Seleccione una variable o un parámetro y escriba o seleccione un valor. Repita el paso para todos los valores requeridos y opcionales que quiera incluir y, a continuación, seleccione Aceptar.

Nota: Puede usar solicitudes de SAP HANA basadas en consultas de SQL.

Compatibilidad con inicio de sesión único (SSO) para SAP HANA

Cuando SAP HANA esté configurado para admitir el inicio de sesión único (SSO), después de iniciar sesión en el servidor de SAP HANA, puede acceder a los datos y publicar fuentes de datos y libros de trabajo en Tableau Server, sin tener que volver a escribir su nombre de usuario y contraseña. Además, puede publicar una fuente de datos o libro de trabajo para que otros usuarios con SSO puedan acceder a ellos sin tener que introducir sus nombres de usuario y contraseñas.

Para usar SSO, debe publicar fuentes de datos y libros de trabajo en Tableau Server con autenticación de credenciales de Viewer . Para habilitar la autenticación de credenciales de Viewer, debe conectarse a SAP HANA mediante la Autenticación de Windows en un equipo con Windows o Kerberos en un Mac. Para obtener más información, consulte Publicar en el servidor.

Importante: El entorno debe estar configurado correctamente para admitir SSO para SAP HANA:

Iniciar sesión en el servidor

Una vez que SSO esté configurado en el entorno, para iniciar sesión en SAP HANA, solo tiene que escribir el nombre del servidor, seleccionar Usar autenticación de Windows en un equipo Windows o Kerberos en un Mac y hacer clic en Iniciar sesión.

Publicar en el servidor

En un entorno SSO, los usuarios no tienen que escribir las credenciales para acceder a una fuente de datos o un libro de trabajo si se publican en Tableau Server con el modo de autenticación correcto.

Para habilitar el SSO al publicar una fuente de datos o un libro de trabajo en Tableau Server, siga estos pasos:

  1. Seleccione Servidor> Publicar fuente de datos o bien Servidor > Publicar libro de trabajo.
  2. En Fuentes de datos, haga clic en Editar.

  3. En el cuadro de diálogo Administrar fuentes de datos, haga lo siguiente:

    1. Seleccione el Tipo de publicación: Incrustado en el libro de trabajo o Publicado de forma independiente.

    2. Seleccione Credenciales de Viewer para Autenticación.

  4. Haga clic en Publicar.

Cómo actualizar extracciones de HANA cuando se usa SSO

Si utiliza el inicio de sesión único (SSO) para conectarse a SAP HANA debido a restricciones de autenticación, no puede programar una actualización de extracciones al publicar la fuente de datos o el libro de trabajo en un servidor. No obstante, puede utilizar la utilidad Extracción de datos de Tableau para automatizar la tarea de actualización de extracciones.

Por ejemplo, el siguiente comando actualiza una extracción de SAP HANA llamada "mydatasource" que se ha publicado en Tableau Server. Este comando especifica lo siguiente:

  • Nombre de su Tableau Server

  • Nombre de la fuente de datos que se va a actualizar.

C:\Program Files\Tableau\Tableau 10.2\bin>tableau refreshextract --server https://mytableauserver --datasource mydatasource

Para obtener más información sobre la utilidad, consulte Utilidad de línea de comando de extracción de datos de Tableau.

Consejos sobre el rendimiento

Puede mejorar el rendimiento habilitando una o ambas de estas funcionalidades:

  • Enlace de parámetros de consulta
  • Almacenamiento en caché de metadatos compartidos

En las siguientes secciones se describe cómo utilizar estas funcionalidades.

Usar variables de enlace

Tableau puede utilizar variables de enlace para sus consultas de SAP HANA. Esto mejora el rendimiento:

  • Para consultas: HANA puede compilar una consulta una vez y ejecutarla muchas veces.
  • Para implementaciones de HANA de varios nodos: las consultas parametrizadas se enrutan de forma óptima al nodo adecuado.

Para habilitar esta función, el administrador de Tableau Server puede agregar la capacidad de CAP_ODBC_QUERY_USE_PREPARE_PARAMETER_MARKER en un archivo TDC.

Nota: Esta funcionalidad requiere Tableau 2018.3 o una versión posterior.
A pesar de su nombre, CAP_ODBC_QUERY_USE_PREPARE_PARAMETER_MARKER se pueden utilizar con JDBC y también con ODBC.

Usar recopilación de metadatos de columna

Tableau admite la recopilación de metadatos de columnas, lo que da como resultado mejoras excelentes en tiempo de carga para algunas vistas.

Cuando Tableau lee los metadatos de columna de una tabla o vista, utiliza una consulta preparada en la tabla de forma predeterminada. Esta suele ser la opción más precisa, pero puede que no sea la más eficiente.

También tiene la opción de usar la colección de metadatos de columna. Es decir, puede deshabilitar los metadatos de consulta preparados mediante un archivo TDC. Al hacerlo, Tableau utiliza la API ODBC, SQLColumns. Aunque este método es más rápido, puede que no sea tan preciso. Por ello, utilice esta opción con cuidado y solo cuando parezca un buen enfoque para sus datos.

El uso de metadatos de columna a través de SQLColumns se habilita mediante estas funcionalidades:

  • CAP_ODBC_METADATA_SUPPRESS_EXECUTED_QUERY
  • CAP_ODBC_METADATA_SUPPRESS_PREPARED_QUERY

Nota: Para aplicar estas capacidades a tablas temporales, debe instalar Tableau Server 2019.3.6 o posterior. A continuación, puede agregar esas funcionalidades al archivo TDC.

Ejemplo de TDC para SAP HANA

Su archivo TDC debería parecerse al siguiente ejemplo. En la mayoría de los casos no necesitará otras funcionalidades. En particular, asegúrese de evitar capacidades como CAP_ODBC_METADATA_SUPPRESS_SQLPRIMARYKEYS_API y CAP_ODBC_METADATA_SUPPRESS_SQLFORIEGNKEYS_API. Estas capacidades pueden acelerar el tiempo de conexión inicial, pero nos harán generar consultas menos eficientes más adelante.

<?xml version='1.0' encoding='utf-8' ?>
<connection-customization class='saphana' enabled='true' version='9.3'>
<vendor name='saphana' />
<driver name='saphana' />
<customizations>
<customization name='CAP_ODBC_QUERY_USE_PREPARE_PARAMETER_MARKER' value='yes' />
</customizations>
</connection-customization>

Para obtener más información sobre el uso de archivos TDC, consulte "Crear un archivo TDC" en el tema Personalizar y ajustar conexiones ODBC. Consulte también el artículo de la base de conocimientos llamado Usar un archivo TDC con Tableau Server.

Importante: Asegúrese de que enabled='true' es parte de su línea de personalización de conexión.

Consulte también

¡Gracias por sus comentarios!