Se une a SAP HANA: Tipos, sintaxis y ejemplos

⚡ Resumen inteligente

SAP HANA combina tablas y vistas de información para que un modelo devuelva exactamente las filas que necesita un informe. Los tipos internos, externos, referenciales, de texto, temporales y espaciales modifican el rendimiento, el manejo de la cardinalidad y el tamaño del resultado.

  • 🔗 Alcance: Une tablas de enlaces y vistas de información dentro de modelos gráficos y dentro de sentencias SQL simples en la base de datos.
  • ☑️ Tipos estándar: Las uniones internas, externas izquierdas, externas derechas y externas completas se comportan exactamente igual que en ANSI SQL.
  • ✅ Tipos que solo se modelan: Las uniones referenciales y de texto solo existen dentro de las vistas de información y no tienen un equivalente en palabras clave SQL.
  • 🧪 Nodos avanzados: Las uniones temporales, espaciales, dinámicas y en estrella amplían las perspectivas de cálculo más allá de la simple coincidencia de columnas.
  • 🛠️ Palancas de rendimiento: La cardinalidad y el indicador Optimizar columnas de unión deciden si SAP HANA puede eliminar el contenido de una tabla en tiempo de ejecución.
  • 📈 Modernización: Las vistas de atributos y analíticas están obsoletas, por lo que las nuevas uniones deben realizarse en vistas de cálculo gráficas.

Tipos de unión utilizados para combinar tablas y vistas de información en SAP HANA

¿Qué es SAP ¿Únete a HANA?

Unirse en SAP HANA combina filas de dos o más tablas, o de una tabla y una vista de información, y devuelve los valores requeridos por la consulta. Las uniones se definen gráficamente en el nodo de unión de una vista de información, y también se escriben directamente en sentencias SQL que se ejecutan en la base de datos.

Las dos formas no son idénticas. Una unión dentro de una vista de cálculo es ejecutado por el SAP Motor de cálculo HANA, que puede omitir una tabla cuando no proviene de ella ninguna columna solicitada, mientras que una unión escrita en SAP HANA-SQL Siempre se ejecuta exactamente como está programado.

Los siguientes tipos de unión están disponibles cuando SAP Las tablas y las vistas de información de HANA se combinan.

Tipo de unión Usos Comentario
INTERIOR La unión interna selecciona el conjunto de registros que coinciden en ambas tablas. Las filas que no tengan pareja a ninguno de los lados se descartan.
IZQUIERDA ÚNICA EXTERNA La unión externa izquierda selecciona el conjunto completo de registros de la primera tabla, junto con el registro correspondiente de la segunda tabla, si está disponible. Si no existe ninguna coincidencia en la segunda tabla, se devuelven valores nulos para sus columnas.
UNIÓN EXTERIOR DERECHA La unión externa derecha selecciona el conjunto completo de registros de la segunda tabla, con el registro correspondiente de la primera tabla cuando esté disponible. Si no existe ninguna coincidencia en la primera tabla, se devuelven valores nulos para sus columnas.
UNIÓN EXTERIOR COMPLETA La unión externa completa selecciona todos los registros de ambas tablas. Las filas que no coinciden en ambos lados se rellenan con valores nulos.
ÚNETE REFERENCIAL Se comporta como una unión interna, bajo el supuesto de que se mantiene la integridad referencial entre las dos tablas. Disponible en vistas de atributos, vistas analíticas y nodos de unión de vistas de cálculo.
ÚNETE POR TEXTO La unión de texto selecciona la descripción específica del idioma que pertenece a una clave, utilizando la columna de idioma de la tabla de texto. La columna de idioma, normalmente SPRAS, debe estar marcada en las propiedades de la unión.

Las uniones referenciales y de texto son tipos exclusivos de modelado. Existen en el nodo de unión de una vista de información y no tienen una palabra clave equivalente en SQL, razón por la cual aparecen en SAP Modelado HANA herramientas en lugar de en una instrucción SELECT.

SAP Sintaxis de unión de HANA y ejemplos SQL

Las uniones internas y externas se escriben en SAP HANA SQL utiliza la sintaxis estándar ANSI, por lo que una consulta probada en otra base de datos relacional generalmente se ejecuta sin cambios. El siguiente ejemplo combina una tabla de pedidos de venta con una tabla de clientes y luego con una tabla de estados.

SELECT so.ORDER_ID, c.NAME, s.STATE_NAME, so.AMOUNT
FROM SALES_ORDER AS so
INNER JOIN CUSTOMER AS c
  ON so.CUSTOMER_ID = c.CUSTOMER_ID
LEFT OUTER JOIN STATE AS s
  ON c.STATE_CODE = s.STATE_CODE
WHERE so.AMOUNT > 1000
ORDER BY so.ORDER_ID;

La unión interna descarta todos los pedidos de venta cuyo registro maestro de cliente falte. La unión externa izquierda conserva todos los pedidos restantes, incluso cuando el código de estado no tiene descripción, y devuelve un nombre de estado nulo para esas filas. Intercambiarping Por lo tanto, los dos tipos de unión modifican el número de filas, no solo las columnas que se muestran.

Los modelos gráficos alcanzan el mismo resultado sin SQL. Se coloca un nodo de unión entre dos fuentes de datos en el editor de vistas, se asignan las columnas que forman la condición de unión y se configuran el tipo de unión y la cardinalidad en las propiedades del nodo. SAP Estudio Hana Tanto el editor como el modelador basado en navegador generan el código SQL en tiempo de ejecución a partir de esas configuraciones.

Tipos de unión avanzados en SAP Vistas de cálculo de HANA

Las vistas de cálculo añaden un comportamiento de unión que SQL estándar no expresa con una sola palabra clave. Estas opciones se configuran en el nodo de unión o mediante un tipo de nodo específico.

Tipo de unión ¿Qué hace? Uso típico
Unión temporal Compara los registros de transacciones con la versión de datos maestros que era válida en una fecha determinada, utilizando los campos "desde" y "hasta" de la fuente de datos maestros. Datos maestros dependientes del tiempo, como un centro de costos que cambió de propietario. El tipo de unión debe ser referencial y la clave debe ser una fecha, una marca de tiempo o un número entero.
unión espacial Une dos fuentes en una columna geométrica con un predicado espacial como intersecta o dentro, en lugar de en una condición de igualdad. Análisis geográfico, por ejemplo, relacionando la ubicación de los clientes con los territorios de ventas.
Unión dinámica Construye la condición de unión en tiempo de ejecución a partir de las columnas de unión que la consulta solicita realmente, agregando las columnas restantes antes de que se ejecute la unión. Uniones de varias columnas donde la granularidad de la consulta varía. Se debe solicitar al menos una columna de unión; de lo contrario, la consulta fallará.
Estrella se une Une una fuente de datos con varias vistas de cálculo de dimensiones en un único nodo. Modelos de esquema en estrella que reemplazan la vista analítica anterior.

Una unión dinámica modifica la secuencia de operaciones, no la regla de coincidencia. En una unión estática, cada columna definida participa en la condición y la agregación se realiza posteriormente; en una unión dinámica, las columnas no solicitadas se agregan primero, lo que generalmente resulta en menos filas y un total diferente. Por lo tanto, ambas responden a diferentes preguntas de negocio, por lo que el indicador se establece deliberadamente, no como una optimización general.

Cómo elegir el tipo de unión correcto en SAP Modelado HANA

La selección de la unión afecta tanto a la corrección como al tiempo de ejecución, y la unión más rápida es la que SAP HANA nunca necesita ejecutarse. Las siguientes reglas cubren la mayoría de las decisiones de modelado.

  • unión referencial — úselo solo cuando se garantice que cada fila de un lado tenga una pareja, ya que el motor puede omitir la unión por completo cuando no se solicita ninguna columna de la tabla unida.
  • Unir internamente — Úselo cuando no se garantice la integridad referencial y se deban excluir las filas que no coincidan.
  • Izquierda combinación externa — úselo cuando la primera tabla determina el resultado y aún deben aparecer los datos maestros faltantes.
  • Unión externa completa — Úselo con moderación, ya que es la opción más cara y rara vez se requiere en los modelos de informes.
  • Unirse por texto — úselo siempre que una columna de descripción dependa del idioma de inicio de sesión.

Dos propiedades del nodo son tan importantes como el tipo de unión en sí. La cardinalidad (1:1, 1:n, n:1 o n:m) le indica al motor cuántas filas esperar en cada lado, y la función Proponer cardinalidad la deriva de los datos. El indicador Optimizar columnas de unión permite entonces SAP HANA elimina una columna de unión del plan de ejecución cuando la consulta no la solicita. Una cardinalidad incorrecta puede multiplicar silenciosamente las medidas, por lo que se verifica con los datos en lugar de asumirla.

Una restricción adicional moldea el nuevo desarrollo. Las vistas de atributos y las vistas analíticas están obsoletas, y SAP Se recomienda convertirlos en vistas de cálculo gráficas, por lo que una unión diseñada hoy normalmente se construye en una unión de vista de cálculo o un nodo de unión en estrella. Los antecedentes sobre los objetos más antiguos siguen siendo útiles cuando se mantiene un modelo existente, y la vista de atributo y visión analítica Las páginas describen cómo se configuraron esas uniones. SAP Material didáctico sobre unir nodos cubre el mismo comportamiento en SAP HANA Cloud y la red más amplia SAP Tutorial de HANA Esta serie explica dónde encajan las vistas de información en la plataforma.

Preguntas Frecuentes

La cardinalidad (1:1, 1:n, n:1, n:m) indica al motor cuántas filas coincidentes debe esperar en cada lado. Permite la poda de uniones y protege los agregados. Proponemos que la cardinalidad derive la configuración de los datos, lo cual es más seguro que adivinarla.

permite SAP HANA elimina una columna de unión del plan de ejecución cuando la consulta del cliente nunca la solicita. Menos columnas significan menos grupos.pings y tiempos de ejecución más rápidos, pero los resultados pueden cambiar si la columna eliminada influyó en el nivel de agregación.

Los objetos existentes siguen funcionando, pero ambos tipos de vista están obsoletos y no se pueden agregar a nuevas vistas de cálculo. SAP Recomienda convertirlas a vistas de cálculo gráfico, donde están disponibles los mismos tipos de unión, además de la unión en estrella y la unión espacial.

Debe conservar las filas no coincidentes de ambos lados, de modo que no se pueda eliminar ninguna tabla y se materialicen todas las filas. En cambio, una unión referencial puede omitirse por completo cuando la consulta no solicita ninguna columna de la tabla unida.

La columna de idioma de la tabla de texto, normalmente SPRAS en SAP tablas, está marcado en las propiedades de unión. SAP A continuación, HANA filtra las descripciones según el idioma de la sesión, de modo que un único modelo sirve para todos los idiomas de inicio de sesión sin necesidad de una vista independiente.

Sí. Un nodo de unión acepta tablas, funciones de tabla y otras vistas de cálculo como fuentes de datos, que es como se adjuntan las vistas de dimensión a una tabla de hechos. Los nombres de las columnas pueden variar, ya que la condición de unión asigna las columnas explícitamente.

El aprendizaje automático analiza los valores de las columnas para sugerir claves de unión y cardinalidad, señala los modelos cuyas medidas aumentan después de una unión y agrupa las vistas casi duplicadas. SAP Además, la plataforma integra servicios predictivos y generativos, de modo que la puntuación se ejecuta junto con los datos modelados.

Copilot elabora correctamente las uniones SQL estándar y agiliza las sentencias SELECT repetitivas. Sin embargo, desconoce la integridad referencial del esquema, por lo que el tipo de unión, la cardinalidad y las opciones de modelado, como la unión de texto, aún requieren revisión con los datos reales.

Resumir este post con: