Estadísticas empresariales en SAP con el AA de BigQuery

En este documento, se describe una arquitectura de referencia para usar BigQuery AA y compilar una solución de aprendizaje automático en tu entorno de SAP con la edición local o cualquier edición en la nube del SDK de ABAP para Google Cloud. Con la ayuda de la arquitectura de referencia que se explica en este documento, puedes compilar soluciones que extraigan estadísticas basadas en datos para acelerar tus procesos de toma de decisiones empresariales en SAP.

El público objetivo de este documento incluye a desarrolladores de ABAP, arquitectos de soluciones de SAP y arquitectos de nube. En el documento, se supone que conoces BigQuery y SQL.

Arquitectura

En el siguiente diagrama, se muestra una arquitectura de referencia para una solución de aprendizaje automático que proporciona estadísticas empresariales basadas en los datos de un sistema ERP de SAP:

Solución de aprendizaje automático para estadísticas empresariales en SAP

Esta arquitectura de solución de aprendizaje automático incluye los siguientes componentes:

Componente Subsistema Detalles
1 Fuente de datos Un sistema de ERP de SAP, como SAP S/4HANA, que es la fuente de los datos empresariales
2 Almacén de datos BigQuery, que almacena datos sin procesar de los sistemas de origen y las estadísticas generadas por el AA.
3 Aprendizaje automático: entrenamiento Modelos de aprendizaje automático, que se entrenan con datos de origen para generar estadísticas empresariales
4 Aprendizaje automático: Publica estadísticas Componentes que muestran estadísticas empresariales generadas por el AA para su consumo en SAP

Productos usados

En esta arquitectura de referencia, se usan los siguientes productos de Google Cloud:

  • SDK de ABAP para Google Cloud: Te ayuda a desarrollar aplicaciones de ABAP que conectan tus sistemas SAP a los servicios de Google Cloud, como BigQuery.
  • BigQuery: Te ayuda a administrar y analizar tus datos empresariales.

Casos de uso

BigQuery ML permite a los usuarios de SAP obtener estadísticas valiosas para mejorar la toma de decisiones y los resultados empresariales mediante los datos empresariales almacenados en BigQuery. En esta sección, se proporcionan ejemplos de casos de uso para los que puedes usar BigQuery ML para crear soluciones de aprendizaje automático.

Previsión

La previsión en BigQuery ML implica analizar datos históricos de series temporales para predecir tendencias futuras. Por ejemplo, puedes analizar los datos históricos de ventas de varias ubicaciones de tiendas para predecir las ventas futuras en esas ubicaciones. Puedes realizar una previsión mediante la función ML.FORECAST con el modelo ARIMA_PLUS o ARIMA_PLUS_XREG.

Detección de anomalías

La detección de anomalías encuentra patrones inusuales en los datos, lo que permite una respuesta proactiva a posibles problemas o oportunidades. Con los datos etiquetados, puedes utilizar varios modelos de aprendizaje automático supervisado para esta tarea. Puedes usar la regresión lineal y logística, los árboles potenciados, los bosques aleatorios, las redes neuronales profundas, los modelos de amplitud y profundidad o el modelo de AutoML para la detección de anomalías.

Sistemas de recomendación

Los sistemas de recomendación son herramientas potentes para las empresas, ya que ayudan a los usuarios a descubrir contenido relevante en grandes colecciones. Estos sistemas usan el aprendizaje automático para sugerir elementos que los usuarios podrían no encontrar por su cuenta, lo que supera las limitaciones de la búsqueda. Los sistemas de recomendación emplean principalmente dos enfoques:

Consideraciones del diseño

En esta sección, se proporciona orientación para ayudarte a usar esta arquitectura de referencia para desarrollar arquitecturas que te ayuden a cumplir con tus requisitos específicos de seguridad, privacidad, cumplimiento, costo y rendimiento.

Security, privacy, and compliance

Para implementar políticas de administración de datos, puedes usar las funciones de BigQuery. La administración de datos administra la seguridad y la calidad de los datos durante su ciclo de vida para garantizar que el acceso y la exactitud cumplan con las políticas y reglamentaciones. Para obtener más información, consulta Introducción a la administración de datos en BigQuery.

Costo y rendimiento

Para obtener una estimación del costo de los recursos de Google Cloud que usa la solución de almacén de datos con BigQuery, consulta la estimación calculada previamente en la calculadora de precios de Google Cloud.

A medida que comienzas a escalar con BigQuery, tienes varias formas disponibles para ayudar a mejorar el rendimiento de las consultas y reducir el gasto total. Estos métodos incluyen cambiar la forma en que tus datos se almacenan de forma física, modificar tus consultas de SQL y usar reservas de ranuras para garantizar el rendimiento de los costos. Para obtener más información sobre las formas de escalar y ejecutar tu almacén de datos, consulta Introducción a la optimización del rendimiento de las consultas.

Alternativa de diseño

Si bien este documento se enfoca en las ediciones locales o en la nube del SDK de ABAP para Google Cloud, puedes lograr resultados similares con la edición de SAP BTP del SDK de ABAP para Google Cloud. Puedes adaptar los recursos proporcionados para compilar soluciones similares dentro de tu entorno de SAP BTP.

Implementación

En esta sección, se muestra cómo cargar datos de tu sistema SAP de origen en BigQuery, crear un modelo de aprendizaje automático adecuado para tus requisitos comerciales y, por último, generar estadísticas que se pueden usar para tomar decisiones comerciales en SAP.

Antes de comenzar

Antes de implementar una solución basada en esta arquitectura de referencia, asegúrate de que completaste los siguientes requisitos previos:

Carga datos de un sistema de origen de SAP en BigQuery

Para cargar datos de un sistema de origen de SAP en una tabla de BigQuery con el SDK de ABAP para Google Cloud, usa el método INSERT_ALL_TABLEDATA de la clase /GOOG/CL_BIGQUERY_V2. Estos datos sirven como base para entrenar los modelos de aprendizaje automático.

En la siguiente muestra de código, se muestra cómo cargar datos de un sistema de origen de SAP a una tabla de BigQuery:

TRY.
    DATA(lo_client) = NEW /goog/cl_bigquery_v2( iv_key_name = 'CLIENT_KEY' ).

    TYPES:
      BEGIN OF t_timeseries,
        date  TYPE string,   "YYYY-MM-DD
        value TYPE string,   "Numeric value
      END OF t_timeseries.

    DATA: lt_data TYPE STANDARD TABLE OF t_timeseries.
    "Developer TODO - populate lt_data

    DATA: ls_input        TYPE /goog/cl_bigquery_v2=>ty_133.

    LOOP AT lt_data INTO FIELD-SYMBOL(<ls_data>).
      APPEND INITIAL LINE TO ls_input-rows ASSIGNING FIELD-SYMBOL(<ls_row>).
      CREATE DATA <ls_row>-json TYPE t_timeseries.
      FIELD-SYMBOLS: <lfs_json> TYPE t_timeseries.
      ASSIGN <ls_row>-json->* TO <lfs_json> CASTING.
      <lfs_json> = <ls_data>.
    ENDLOOP.

    "Call API method: bigquery.tabledata.insertAll
    CALL METHOD lo_client->insert_all_tabledata
      EXPORTING
        iv_p_dataset_id = 'BIGQUERY_DATASET'
        iv_p_project_id = CONV #( lo_client->gv_project_id )
        iv_p_table_id   = 'BIGQUERY_TABLE'
        is_input        = ls_input
      IMPORTING
        es_output       = DATA(ls_output)
        ev_ret_code     = DATA(lv_ret_code)
        ev_err_text     = DATA(lv_err_text).

    lo_client->close( ).

  CATCH cx_root.
    "handle error
ENDTRY.

Reemplaza lo siguiente:

  • CLIENT_KEY: Es la clave del cliente configurada para la autenticación.
  • BIGQUERY_DATASET: El ID del conjunto de datos de BigQuery de destino.
  • BIGQUERY_TABLE: Es el ID de la tabla de BigQuery de destino.

Como alternativa, si buscas una solución de transferencia de datos de BigQuery sin código que controle la carga inicial y el control de delta (CDC), puedes considerar BigQuery Connector para SAP, Cloud Data Fusion o SAP Datasphere.

Crea un modelo de aprendizaje automático

BigQuery proporciona una lista completa de modelos de aprendizaje automático y recursos de IA para obtener estadísticas a partir de datos empresariales. Uno de esos modelos es ARIMA_PLUS, que puedes usar para predecir valores futuros de series temporales en función de datos históricos. Por ejemplo, puedes usar el modelo ARIMA_PLUS para predecir los volúmenes de ventas futuros en función de los datos históricos. Para entrenar un modelo nuevo con los datos de SAP que cargaste en BigQuery, usa la sentencia CREATE MODEL. Según el tamaño de tus datos, la ejecución puede tardar unos minutos o horas. Después de crear el modelo, puedes verlo en BigQuery Studio.

Para crear y entrenar tu modelo, ejecuta la sentencia CREATE MODEL:

  1. En la consola de Google Cloud, haz clic en el botón Redactar consulta nueva.

  2. Ingresa la siguiente consulta de GoogleSQL en el Editor de consultas:

       CREATE OR REPLACE MODEL `MODEL_NAME`
           OPTIONS
           (model_type = 'ARIMA_PLUS',
           time_series_timestamp_col = 'TIME_SERIES_TIMESTAMP_COL',
           time_series_data_col = 'TIME_SERIES_DATA_COL',
           auto_arima = TRUE,
           data_frequency = 'AUTO_FREQUENCY',
           decompose_time_series = TRUE
             ) AS
         SELECT
           {timestamp_column_name},
           {timeseries_data_column_name}
         FROM
           `{BigQuery_table}`
    

    Reemplaza lo siguiente:

    • MODEL_NAME: Es el nombre del modelo que entrenaste para generar estadísticas.
    • TIME_SERIES_TIMESTAMP_COL: Es el nombre de la columna que proporciona los puntos de tiempo que se usan para entrenar el modelo.
    • TIME_SERIES_DATA_COL: Es el nombre de la columna que contiene los datos que se deben pronosticar.

    Para obtener más información sobre los argumentos, consulta la sintaxis de CREATE MODEL.

  3. Haz clic en Ejecutar. Tu modelo aparecerá en el panel de navegación.

Genera y publica estadísticas

Puedes generar estadísticas con tu modelo de aprendizaje automático. Por ejemplo, si creaste un modelo ARIMA_PLUS, puedes usarlo para generar estadísticas para los valores de las series temporales, como las predicciones de ventas futuras.

Generar estadísticas

Para generar estadísticas basadas en un modelo entrenado, sigue estos pasos:

  1. En la consola de Google Cloud, haz clic en el botón Redactar consulta nueva.

  2. Ingresa la siguiente consulta de GoogleSQL en el Editor de consultas:

    SELECT
    *
    FROM
    ML.FORECAST(MODEL `MODEL_NAME`,
    STRUCT(HORIZON AS horizon, CONFIDENCE_LEVEL AS confidence_level));
    

    Reemplaza lo siguiente:

    • MODEL_NAME: Es el nombre del modelo que entrenaste para generar estadísticas.
    • HORIZON: Un valor INT64 que especifica la cantidad de puntos en el tiempo que se deben pronosticar.
    • CONFIDENCE_LEVEL: Un valor FLOAT64 que especifica el porcentaje de los valores futuros que se incluyen en el intervalo de predicción.

    Para obtener más información sobre los argumentos, consulta La función ML.FORECAST.

  3. Haz clic en Ejecutar. El modelo de AA proporciona un resultado de valores previstos para fechas futuras.

  4. Cuando la consulta finalice, haz clic en la pestaña Resultados. Los resultados deberían verse como los siguientes:

    Genera y publica estadísticas con BigQuery ML

Publica estadísticas

Para publicar predicciones generadas para decisiones empresariales basadas en datos desde tu aplicación de SAP con el SDK de ABAP para Google Cloud, usa el método QUERY_JOBS de la clase /GOOG/CL_BIGQUERY_V2.

Para ayudarte a implementar la solución de ejemplo que se explica en esta sección con un esfuerzo mínimo, se proporciona una muestra de código en GitHub. En esta muestra de código, se muestra un ejemplo de extremo a extremo para generar previsiones de valores futuros de series temporales con el modelo ARIMA_PLUS y las ediciones locales o en la nube del SDK de ABAP para Google Cloud.

¿Qué sigue?

  • Para obtener una descripción general de BigQuery ML, consulta Introducción a BigQuery ML.
  • Para evaluar los modelos de aprendizaje automático de BigQuery disponibles para tu proceso y requisitos empresariales, consulta Recorrido del usuario de extremo a extremo para cada modelo.
  • En lugar de realizar consultas ad hoc para obtener predicciones de BigQuery ML, puedes usar Cloud Run para generar automáticamente estadísticas de datos nuevos o modificados en BigQuery. Las estadísticas generadas se pueden escribir en una tabla temporal de BigQuery y, luego, una aplicación de SAP puede recuperarlas.
  • Para extraer más valor y estadísticas de tus datos de SAP, puedes usar la Cortex Data Foundation de Google Cloud, que proporciona una base de datos escalable y extensible, junto con modelos y canalizaciones de datos precompilados para casos de uso comerciales comunes relacionados con SAP.
  • Para obtener más información sobre la consola de Google Cloud, consulta Usa la consola de Google Cloud.
  • Para obtener información sobre el SDK de ABAP para Google Cloud, consulta Descripción general del SDK de ABAP para Google Cloud.
  • Si necesitas ayuda para resolver problemas con el SDK de ABAP para Google Cloud, haz lo siguiente:

Colaboradores

Autor: Ajith Urimajalu | Ingeniero de aplicaciones de SAP y líder de equipo

Otro colaborador: Vikash Kumar | Escritor técnico