• Inicio
  • Novedades
  • Academia SAP
  • FAQ
  • Blog
  • Contacto
S4PCADEMY_Logo
Twitter Linkedin Instagram
S4PCADEMY_Logo
Twitter Linkedin Instagram
GiriSAPblogs  ·  Technical Articles

Flujo de datos usando Python – en SAP “Data Warehouse Cloud”

By s4pcademy 


En las implementaciones de almacenamiento de datos del mundo real, los requisitos comerciales exigen la necesidad de limpiar, consolidar e integrar los datos para adaptarse al análisis/informes de las organizaciones. El flujo de datos en “SAP Data Warehouse Cloud” nos brinda una posibilidad para transferir datos de un origen a destinos de destino (tablas DWC) y limpiar, consolidar e integrar los datos para que puedan usarse para análisis, informes y posiblemente también para la planificación.

Podemos diseñar un flujo de datos para transportar y transformar datos fácilmente a través de una interfaz gráfica de usuario, antes de publicar los datos en la tabla de destino. puede arrastrar y soltar fuentes desde el Explorador de fuentes, combinarlas según sea necesario, agregar operadores adicionales para eliminar o agregar columnas, agregar los datos y ejecutar secuencias de comandos de Python.

Este blog intenta responder a algunos de los scripts de Python necesarios para su uso en implementaciones de DWC en el mundo real y nos ayuda a transformar los datos para los requisitos dinámicos del negocio.

#Pantalla de flujo de datos de muestra:

  • ¿Cuál es la conclusión clave de este blog?
    • Lo guía para diseñar DWC Dataflow
    • Lo guía para transformar datos usando scripts de Python
    • Lo guía paso a paso para implementar operaciones DML en python.
    • Insertar nuevo registro usando script
    • Modificar contenidos de campos específicos.
    • Actualización de valores en un número de fila específico.
    • Concatenación de valores de campo.
    • Eliminación de un registro específico

  • Paso 1: en la página de inicio de DWC -> la opción Data Builder presentará la siguiente pantalla

La opción Flujo de datos anterior: seleccione el Flujo de datos de datos nuevos, que nos proporcionará la opción de seleccionar las tablas/extractores de origen.

  • Paso 2: arrastre los objetos de origen y de destino desde el panel izquierdo.

Como se muestra arriba, seleccione la fuente del panel izquierdo y también seleccione las proyecciones y seleccione Objetos de destino en el área de diseño. Tenga en cuenta que para las tablas de destino, debemos seleccionar la opción que se muestra arriba e implementarla.

Inserte el cuadro del operador SCRIPT desde el panel superior para transformar los datos con algunas lógicas y condiciones. Aquí vamos a ver paso a paso el uso de python scrip en el flujo de datos.

    • Escenario 1: Insertar un nuevo registro usando un script
    • Escenario 2: modificar contenidos de campo específicos.
    • Escenario 3: Actualización de valores en un número de fila específico.
    • Escenario 4: Concatenación de valores de campo.
    • Escenario 5: Eliminación de un registro específico
  • Paso 3: en el cuadro Operador de secuencia de comandos: seleccione el botón Cambiar de Propiedades

  • Paso 4: Inserte un Nuevo registro usando el script de Python (Escenario 1)

Para fines de demostración, hemos considerado la tabla de origen con los nombres de las columnas que se muestran a continuación:

Una vez que navegue al editor de secuencias de comandos, para insertar nuevos registros: datos.anexar El código nos permite insertar un nuevo registro en el conjunto de registros. tenga en cuenta que, según nuestro escenario, tenemos que copiar los últimos valores de registro, para este propósito, se usa la línea n. ° 19: datos (-1) en el código. Captura los últimos valores de campo de registro en un nuevo marco de datos llamado newRow.

Una vez que tengamos el código anterior en lugar del editor de secuencias de comandos, guarde el código e implemente y ‘EJECUTE’ el flujo de datos. como se demuestra aquí, los conjuntos de resultados después de la ejecución del flujo de datos se ven así en la siguiente pantalla.

Se debe seguir el mismo proceso para cualquier implementación de script. para fines de demostración en el escenario 1 utilizado para insertar nuevos registros.

  • Escenario 2: modificar contenidos de campo específicos.

Como se demuestra en el enfoque paso a paso anterior. siga los pasos 3 y 4 para este escenario2, para modificar el contenido del campo del conjunto de registros existente. Tenga en cuenta que se debe seguir el mismo proceso para cualquier implementación de script.

En este, hemos modificado el Rownum, el código de la compañía incrementando 1. como se discutió anteriormente, el comando ‘agregar’ nos ayuda a agregar registros. en la pantalla anterior, la línea n.° 33 y 34 realiza un incremento de valor.

Como podemos ver en la salida anterior, que modifica los valores de número de fila y código de empresa.

  • Escenario 3: Actualización de valores en un número de fila específico.

Este escenario: cambiaremos el contenido del campo según la condición. aquí queríamos actualizar los ‘Comentarios’ para la fila n.º 2.

El código que se usa en la línea no: 16. El comando clave para realizar esta actividad es data.at[ ]. aquí tenemos que mencionar la posición de la fila. como todos sabemos, el recuento de registros de Array comienza desde 0. por lo tanto, para reemplazar la fila n. ° 2: debemos proporcionar 1.

El resultado de la operación se muestra arriba. Se modifica la fila número 2 ‘Observaciones’.

  • Escenario 4: Concatenación de valores de campo.

En este escenario, concatenaremos valores extraídos de otros campos. Aquí la columna ‘Observaciones’ se actualiza con ‘Parent_id’ y ‘Child_id” con valores de columna.

La Línea nº : 16 realiza esta operación.

La salida que se muestra arriba. Los valores de campo se concatenan en el último campo. Usando el operador ‘+’ podemos combinar y concatenar campos y almacenarlos en campos requeridos. Tenga en cuenta que debemos usar str(‘integer value’) , si queremos concatenar los valores enteros.

  • Escenario 5: Eliminación de un registro específico del conjunto de resultados.

En este escenario, eliminaremos el registro completo según las condiciones. queríamos eliminar rownum menos de 3. Por lo tanto, copiamos las filas requeridas al nuevo marco de datos y reasignamos el conjunto de datos filtrado al original.

Número de línea: 17: los resultados requeridos se copian en el marco de datos df_filtered. y en la línea no: 18, esto se reasigna al marco de datos real «datos».

Como se demostró, podemos obtener el número de fila de salida 3 y superior. Estos códigos serán muy útiles para transformar datos durante proyectos de implementación en vivo.

Data Warehouse Cloud: es una poderosa herramienta para revitalizar la solución de almacenamiento de datos de SAP. En este blog, logramos demostrar una de las características clave del flujo de datos de DWC en combinación con los scripts de Python.

    • Práctico código Python para ayudar en las implementaciones.
    • Nos brinda confianza para transformar datos basados ​​en lógicas.
    • Nos guía para filtrar y actualizar los conjuntos de registros para requisitos dinámicos.

– Giri Raaj. PMP-




CloudDatadatosflujoPythonSAPusandoWarehouse

Artículos relacionados


Product Information
Änderungen in den deutschen Umsatzsteuermeldungen 2023 en SAP Business ByDesign (Cambios en los formularios de IVA alemanes 2023 en SAP Business ByDesign)
Technical Articles
Cómo cargar elementos de alcance por LoB en SAP Cloud ALM con DDA Export
#archiving  ·  #saparchiving  ·  Technical Articles
Archivo de datos en SAP GRC Access Control y Process Control
Preguntas y respuestas de SAP: cómo publicar una pregunta perfecta para obtener una respuesta perfecta
Previo
Los 10 nuevos microaprendizajes principales para SAP S/4HANA Cloud, edición pública
Siguiente

Madrid

Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010

México

Paseo de la Reforma 26
Colonia Juárez,  Cuauhtémoc
Ciudad de México 06600

Costa Rica

Real Cariari
Autopista General Cañas, 
San José, SJ 40104

Perú

Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073

Twitter Linkedin Instagram
Copyright 2022 | All Right Reserved.