Linaje de datos de SAP HANA: Linaje de columnas para SQL y vistas de HANA

Linaje de datos de SAP HANA Es el mapa a nivel de columna de cómo se mueven los datos a través de su SQL de HANA: qué tablas y columnas de origen alimentan cada vista SQL, columna calculada e informe posterior, y qué uniones, filtros, conversiones y funciones transforman los datos en el proceso. Flujo de SQL de Gudu Crea ese mapa automáticamente analizando su SQL de HANA con un analizador de dialecto SAP HANA específico (uno de los 39 analizadores específicos de dialecto, no una gramática ANSI genérica) y generando un diagrama de linaje interactivo y explorable hasta el nivel de columnas individuales.

Pruébalo ahora: pegar un HANA CREAR VISTA cadena en el Visualizador de linaje SQLFlow gratuitoSeleccione el dialecto de SAP HANA y obtenga el diagrama a nivel de columna en segundos. Plan gratuito, sin instalación.

¿Por qué las preguntas sobre el linaje llegan a HANA?

HANA rara vez se encuentra sola. Por lo general, se ubica debajo de S/4HANA y BW, almacenes de datos paralelos y capas de informes de las que dependen las funciones de finanzas y auditoría. Cuando un auditor pregunta “¿Qué campos de origen alimentan esta figura?” o un controlador pregunta “¿Por qué cambió este KPI después del lanzamiento del mes pasado?”La respuesta está oculta entre capas de SQL: vistas construidas sobre vistas, columnas calculadas, conversiones de moneda y uniones entre esquemas.

Responder a esas preguntas leyendo SQL manualmente no es viable para más que un puñado de vistas. El linaje a nivel de SQL lo automatiza: basta con analizar cada definición de vista y script una sola vez, y el gráfico de dependencias (de tabla a vista, de vista a informe, con granularidad a nivel de columna) está disponible bajo demanda para el análisis de impacto, la depuración de la causa raíz y la obtención de evidencia de auditoría.

Cómo SQLFlow crea el linaje de datos de SAP HANA

SQLFlow está construido sobre la base de Analizador SQL general (GSP), un front-end de compilador SQL comercial desarrollado desde mediados de la década de 2000 y validado contra aproximadamente 13.600 conjuntos de pruebas SQL por dialecto. El analizador de SAP HANA entiende la sintaxis SQL de HANA específicamente — citado "ESQUEMA"."OBJETO" identificadores, funciones y conversiones de HANA, formas de operadores de unión y conjuntos de HANA, en lugar de aproximarlo con una gramática genérica.

Para cada instrucción, GSP construye un modelo semántico completo: cada referencia de columna se resuelve a través de CTEs, subconsultas, vistas y SELECCIONAR * Expansión. El analizador de flujo de datos extrae, para cada columna de salida, las columnas de origen que la alimentan y las funciones y expresiones que utilizan. El resultado es un linaje a nivel de columna fiable para un cambio de esquema, no un simple esquema a nivel de tabla.

Puedes alimentar SQL de HANA a SQLFlow de tres maneras: pegando sentencias directamente, cargando archivos de definiciones de vistas y scripts, o conectándote mediante JDBC y dejando que SQLFlow extraiga las definiciones de objetos del catálogo de la base de datos. Todo se basa en un análisis estático del texto SQL; SQLFlow nunca lee las filas de tus tablas.

Ejemplo: seguimiento de una cadena de vistas SQL de HANA por capas

Las vistas SQL por capas son el patrón estándar de HANA: una vista de limpieza sobre las tablas sin procesar, una vista de enriquecimiento sobre esta y una vista agregada para la generación de informes. A continuación, se muestra una cadena típica de tres capas:

CREATE VIEW "FIN"."V_ORDERS_CLEAN" AS SELECT ORDER_ID, CUSTOMER_ID, TO_DECIMAL(GROSS_AMOUNT, 15, 2) AS GROSS_AMOUNT, IFNULL(CURRENCY, 'EUR') AS CURRENCY, ORDER_DATE FROM "FIN"."ORDERS_RAW" WHERE STATUS <> 'CANCELLED'; CREATE VIEW "FIN"."V_ORDERS_EUR" AS SELECT o.ORDER_ID, o.CUSTOMER_ID, o.GROSS_AMOUNT * r.RATE AS AMOUNT_EUR, o.ORDER_DATE FROM "FIN"."V_ORDERS_CLEAN" o JOIN "FIN"."FX_RATES" r ON r.CURRENCY = o.CURRENCY AND r.RATE_DATE = o.ORDER_DATE; CREATE VIEW "FIN"."V_REVENUE_MONTHLY" AS SELECT CUSTOMER_ID, YEAR(ORDER_DATE) AS FISCAL_YEAR, MONTH(ORDER_DATE) AS FISCAL_MONTH, SUM(AMOUNT_EUR) AS REVENUE_EUR FROM "FIN"."V_ORDERS_EUR" GROUP BY CUSTOMER_ID, YEAR(ORDER_DATE), MONTH(ORDER_DATE);

Pregúntale a SQLFlow dónde V_INGRESOS_MENSUALES.INGRESOS_EUR proviene de y recorre la cadena automáticamente: INGRESOS_EUR es SUMA(CANTIDAD_EUR), que es IMPORTE BRUTO * TASA, dónde IMPORTE BRUTO es PEDIDOS_IMPORTE_BRUTO pasó por TO_DECIMALDos columnas de origen, tres vistas de profundidad, cada cálculo intermedio nombrado. Ejecute el rastreo en sentido contrario y obtendrá el análisis de impacto: vuelva a escribir PEDIDOS_IMPORTE_BRUTO y SQLFlow enumera todas las columnas posteriores que heredan el cambio.

Columnas calculadas en vistas SQL: TO_DECIMAL el reparto, el IFNULL por defecto, la multiplicación — son de primera clase en el gráfico de linaje, por lo que el diagrama muestra no solo eso una columna fluye a través pero ¿Qué le sucede? en cada capa.

Linaje directo frente a linaje indirecto

Vuelve a mirar el ejemplo. ORDENS_RAW.STATUS nunca aparece en ninguna columna de salida, sin embargo, DONDE EL ESTADO ES <> 'CANCELADO' El filtro influye absolutamente en la cifra de ingresos. Lo mismo ocurre con DIVISA, FECHA_DE_TARIFA, y FECHA_DE_PEDIDO en las condiciones de unión y AGRUPACIÓN POR.

SQLFlow modela estos como linaje indirecto (de impacto), un tipo de relación distinto del flujo de datos directo y que se puede activar o desactivar por separado en el diagrama. Para una pregunta de auditoría como "¿influye este campo regulado en este informe?", las relaciones indirectas suelen ser la respuesta completa, y la mayoría de las herramientas de linaje de la competencia no distinguen entre directo e indirecto.

¿Dónde encaja SQLFlow junto a las herramientas nativas de SAP?

Las herramientas de modelado y catalogación de SAP son eficaces para lo que fueron diseñadas: el seguimiento de los artefactos creados dentro de la capa modelada por SAP. La deficiencia se presenta a nivel SQL. Las vistas SQL escritas manualmente, los scripts de migración, las operaciones DML en trabajos programados y el código SQL que conecta HANA con la parte de la infraestructura que no es de SAP son invisibles para el linaje basado en modelos, ya que nunca se registraron como artefactos modelados.

Esa es la capa que cubre SQLFlow. Analiza el SQL en sí, por lo que todo lo expresado como texto SQL se rastrea, independientemente de la herramienta que lo haya creado. Dos límites claros que conviene conocer:

  • Vistas de cálculo gráfico Se almacenan como modelos XML, no como SQL, por lo que quedan fuera del alcance del análisis sintáctico de SQL. Las vistas SQL que los rodean, así como cualquier consulta SQL que las realice, se rastrean completamente.
  • Procedimientos SQLScript: Las gramáticas procedimentales dedicadas de SQLFlow actualmente cubren Oracle PL/SQL y SQL Server T-SQL. Para HANA, el enfoque práctico es analizar las sentencias SQL dentro de los cuerpos SQLScript: SELECCIONAR, INSERTARy las definiciones de vista donde reside realmente el linaje son SQL estándar de HANA.

Utilizados conjuntamente, ambos enfoques se complementan: herramientas nativas de SAP para la capa modelada, linaje a nivel SQL para todo lo escrito en SQL. Y como SQLFlow admite 39 dialectos, el mismo gráfico de linaje se extiende más allá de HANA hacia los sistemas Oracle, DB2 o Snowflake que lo alimentan; consulte la Linaje de datos de Oracle y Linaje de datos de DB2 páginas para esos dialectos. Las implementaciones empresariales también pueden enviar resultados a DataHub, Microsoft Purview u OpenMetadata a través de adaptadores de exportación integrados.

Opciones de implementación para entornos SAP

EdiciónLo mejor paraNotas
Nube SQLFlowEvaluación, seguimiento de vistas ad hocNivel gratuito; premium $49.99/mes; pegue o cargue HANA SQL en el navegador.
SQLFlow localParques de SAP de producción en industrias reguladasDocker/Kubernetes dentro de su red, con capacidad de aislamiento físico; $500/mes o $4,800 pago único por tipo de base de datos.
API REST / Biblioteca JavaAutomatizar el linaje en CI o en una plataforma de datos.El mismo motor de análisis, invocable desde pipelines y aplicaciones JVM.

Para la mayoría de las empresas que utilizan HANA, la postura de privacidad es tan importante como las características: SQLFlow realiza análisis estático solo del código SQL y los metadatos del esquema, y con On-Premise, incluso el texto SQL nunca sale de su red. El escaneo por lotes maneja conjuntos de más de 100 bases de datos y más de un millón de columnas, con reescaneos incrementales y un repositorio de linaje persistente. Los detalles completos están en la página de preciosy el Descripción general de la herramienta de linaje de datos SQL Cubre todas las funciones.

Preguntas frecuentes

¿SQLFlow es compatible con SAP HANA?

Sí. SAP HANA es una de las 39 bases de datos con su propio analizador específico de dialecto en SQLFlow, que cubre la sintaxis SQL de HANA, incluidos los identificadores calificados de esquema entre comillas, funciones de HANA como IFNULL y TO_DECIMALy ver definiciones.

¿Puede SQLFlow rastrear el linaje a través de vistas SQL de HANA por capas?

Sí. Las referencias a columnas se resuelven a través de vistas, CTE, subconsultas y SELECCIONAR * expansión, de modo que una columna en una vista de informe de nivel superior se rastrea a través de cada vista intermedia hasta las columnas de origen físicas, y cada cálculo se muestra a lo largo de la ruta.

¿SQLFlow admite vistas de cálculo de HANA?

Las vistas de cálculo gráficas son modelos XML, no SQL, por lo que quedan fuera del alcance del análisis sintáctico de SQL. SQLFlow rastrea todo lo que se expresa como SQL: las vistas SQL que rodean a las vistas de cálculo y cualquier instrucción SQL que las consulte.

¿SQLFlow necesita acceso a los datos de mis tablas HANA?

No. SQLFlow realiza un análisis estático del código SQL y, opcionalmente, lee los metadatos del esquema a través de JDBC. Nunca lee los datos de las filas de la tabla, y la edición local mantiene incluso el texto SQL dentro de su red.

¿Cómo puedo integrar mi consulta SQL de HANA en SQLFlow?

Existen tres maneras: pegar el código SQL directamente en el navegador, cargar archivos con definiciones de vistas y scripts, o conectarse a HANA mediante JDBC para que SQLFlow extraiga las definiciones de objetos del catálogo. Los resultados se exportan como JSON, CSV o PNG, o a través de la API REST.

¿Cuánto cuesta SQLFlow?

SQLFlow Cloud es gratuito; las cuentas premium cuestan 49,99 € al mes. SQLFlow On-Premise cuesta 500 € al mes o 4800 € por única vez por cada tipo de base de datos seleccionado, y se puede instalar en dos servidores. Los tipos de bases de datos adicionales cuestan 100 € al mes o 1000 € por única vez cada uno.

Realice un seguimiento de sus vistas HANA ahora

Pegue una cadena de vistas en el visualizador gratuito y vea el linaje a nivel de columna, o contáctenos para que le ayudemos a escanear todo su entorno HANA en sus propias instalaciones.