Approfondimenti commerciali in SAP con BigQuery ML

Questo documento descrive un'architettura di riferimento per l'utilizzo di BigQuery ML al fine di creare una macchina di machine learning nel tuo ambiente SAP, Utilizzando le versioni on-premise o cloud dell'SDK ABAP per Google Cloud. Con l'aiuto dell'architettura di riferimento descritta in questo documento, puoi sviluppare soluzioni che estraggono approfondimenti basati sui dati per accelerare i processi decisionali aziendali in SAP.

Il pubblico di destinazione di questo documento include sviluppatori ABAP, architetti di soluzioni SAP e architetti cloud. Il documento presuppone che tu abbia familiarità con BigQuery e SQL.

Architettura

Il seguente diagramma mostra un'architettura di riferimento per un machine learning soluzione che fornisce insight aziendali basati sui dati di un sistema SAP ERP:

Soluzione di machine learning per insight aziendali in SAP

Questa architettura della soluzione di machine learning include i seguenti componenti:

Componente Sottosistema Dettagli
1 Origine dati Un sistema SAP ERP come SAP S/4HANA, che è l'origine dei dati aziendali.
2 Data warehouse BigQuery, che archivia i dati non elaborati dei sistemi di origine e gli approfondimenti generati dall'AI.
3 Machine learning: addestramento Modelli di machine learning, addestrati sui dati di origine per generare approfondimenti aziendali.
4 Machine learning: fornisci insight Componenti che restituiscono insight aziendali generati dal machine learning per il consumo a SAP.

Prodotti utilizzati

Questa architettura di riferimento utilizza i seguenti prodotti Google Cloud:

  • ABAP SDK for Google Cloud: ti aiuta a sviluppare applicazioni ABAP che collegano i tuoi sistemi SAP ai servizi Google Cloud, come BigQuery.
  • BigQuery: ti aiuta a gestire e analizzare i dati aziendali.

Casi d'uso

BigQuery ML consente agli utenti SAP di ricavare preziosi insight per migliorare il processo decisionale e i risultati aziendali utilizzando i dati aziendali archiviati in BigQuery. Questa sezione fornisce esempi di casi d'uso per i quali puoi utilizzare BigQuery ML per creare soluzioni di machine learning.

Previsione

Le previsioni in BigQuery ML implicano l'analisi dei dati storici i dati di serie temporali per prevedere le tendenze future. Ad esempio, puoi analizzare dati di vendita storici di diverse sedi dei negozi per prevedere le vendite future in quelle località. Puoi eseguire la previsione utilizzando la funzione ML.FORECAST con il modello ARIMA_PLUS o ARIMA_PLUS_XREG.

Rilevamento di anomalie

Il rilevamento di anomalie rileva pattern insoliti nei dati, consentendo in modo proattivo in risposta a potenziali problemi o opportunità. Con i dati etichettati, puoi utilizzare vari modelli di machine learning supervisionati per questa attività. Puoi utilizzare lo regressione lineare e logistica, alberi potenziati, foreste casuali, reti neurali profonde, Modelli Wide and Deep o modello AutoML per il rilevamento di anomalie.

Sistemi di consigli

I sistemi di suggerimenti sono strumenti potenti per le attività, in quanto aiutano gli utenti a scoprire contenuti pertinenti all'interno di vaste raccolte. Questi sistemi utilizzano il machine learning per suggerire elementi che gli utenti potrebbero non trovare autonomamente, superando le limitazioni della ricerca. I sistemi di consigli adottano principalmente due approcci:

Note sul layout

Questa sezione fornisce indicazioni per aiutarti a utilizzare questa architettura di riferimento per sviluppare architetture che ti consentano di soddisfare i tuoi requisiti specifici di sicurezza, privacy, conformità, costi e prestazioni.

Sicurezza, privacy e conformità

Per implementare i criteri di governance dei dati, puoi utilizzare BigQuery le funzionalità di machine learning. La governance dei dati gestisce la sicurezza e la qualità dei dati durante tutto il loro ciclo di vita per garantire che l'accesso e l'accuratezza rispettino le norme e le normative. Per saperne di più, consulta Introduzione alla governance dei dati in BigQuery.

Costi e prestazioni

Per una stima del costo delle risorse Google Cloud utilizzate dalla soluzione data warehouse con BigQuery, consulta la stima precalcolata nel Calcolatore prezzi di Google Cloud.

Quando inizi a eseguire il ridimensionamento con BigQuery, hai a disposizione diversi modi per migliorare le prestazioni delle query e ridurre la spesa totale. Questi metodi includono la modifica della modalità di archiviazione fisica dei dati, la modifica delle query SQL e l'utilizzo delle prenotazioni di slot per garantire il rendimento in termini di costi. Per ulteriori informazioni su come favorire la scalabilità e l'esecuzione tuo data warehouse, consulta Introduzione all'ottimizzazione delle prestazioni delle query.

Design alternativo

Sebbene questo documento si concentri sulla versione on-premise o su qualsiasi versione cloud di ABAP SDK for Google Cloud, puoi ottenere risultati simili utilizzando la versione SAP BTP di ABAP SDK for Google Cloud. Puoi adattare le risorse fornite per creare soluzioni simili all'interno del tuo ambiente SAP BTP.

Deployment

Questa sezione mostra come caricare i dati dal sistema SAP di origine in BigQuery, creare un modello di machine learning adatte alle tue esigenze aziendali e, infine, generare insight utilizzabili per decisioni aziendali in SAP.

Prima di iniziare

Prima di implementare una soluzione basata su questa architettura di riferimento, assicurati di aver completato i seguenti prerequisiti:

Carica i dati da un sistema di origine SAP in BigQuery

Per caricare i dati da un sistema di origine SAP in una tabella BigQuery: con l'SDK ABAP per Google Cloud, utilizzi il metodo INSERT_ALL_TABLEDATA della classe /GOOG/CL_BIGQUERY_V2. Questi dati fungono da base per addestrare i modelli di machine learning.

L'esempio di codice seguente illustra come caricare i dati da un sistema di origine SAP in una tabella 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.

Sostituisci quanto segue:

  • CLIENT_KEY: la chiave client configurata per l'autenticazione.
  • BIGQUERY_DATASET: l'ID del set di dati BigQuery di destinazione.
  • BIGQUERY_TABLE: l'ID della tabella BigQuery di destinazione.

In alternativa, se stai cercando una soluzione di importazione dei dati BigQuery senza codice che gestisca sia il caricamento iniziale sia la gestione dei dati delta (CDC), puoi prendere in considerazione BigQuery Connector per SAP, Cloud Data Fusion o SAP Datasphere.

Creare un modello di machine learning

BigQuery fornisce un elenco completo di modelli di machine learning e risorse di IA per ricavare informazioni dai dati aziendali. Uno di questi modelli è ARIMA_PLUS, che puoi utilizzare per prevedere i valori delle serie temporali future in base ai dati storici. Ad esempio, puoi utilizzare il modello ARIMA_PLUS per prevedere i volumi di vendita futuri in base sulla base dei dati storici. Per addestrare un nuovo modello con i dati SAP che hai caricato in BigQuery, utilizza l'istruzione CREATE MODEL. A seconda delle dimensioni dei dati, l'esecuzione potrebbe richiedere alcuni minuti o alcune ore. Dopo il giorno viene creato il modello, puoi visualizzare il modello in BigQuery Studio.

Per creare e addestrare il modello, esegui l'istruzione CREATE MODEL:

  1. Nella console Google Cloud, fai clic sul pulsante Crea nuova query.

  2. Inserisci la seguente query GoogleSQL nell'Editor di query:

       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}`
    

    Sostituisci quanto segue:

    • MODEL_NAME: il nome del tuo modello addestrato per generare insight.
    • TIME_SERIES_TIMESTAMP_COL: il nome della colonna che fornisce i punti in tempo utilizzati per l'addestramento del modello.
    • TIME_SERIES_DATA_COL: il nome della colonna che contiene i dati da prevedere.

    Per ulteriori informazioni sugli argomenti, consulta la sintassi di CREATE MODEL.

  3. Fai clic su Esegui. Il modello viene visualizzato nel riquadro di navigazione.

Generare e pubblicare insight

Puoi generare approfondimenti utilizzando il tuo modello di machine learning. Ad esempio, se hai creato un modello ARIMA_PLUS, puoi utilizzarlo per generare approfondimenti per i valori delle serie temporali, come le previsioni di vendita future.

Genera insight

Per generare approfondimenti basati su un modello addestrato, svolgi i seguenti passaggi:

  1. Nella console Google Cloud, fai clic sul pulsante Crea nuova query.

  2. Inserisci la seguente query GoogleSQL nell'Editor di query:

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

    Sostituisci quanto segue:

    • MODEL_NAME: il nome del tuo modello addestrato per generare insight.
    • HORIZON: un valore INT64 che specifica il numero di punti nel tempo da prevedere.
    • CONFIDENCE_LEVEL: un valore CONFIDENCE_LEVEL che specifica la percentuale dei valori futuri che rientrano nell'intervallo di previsione.

    Per ulteriori informazioni sugli argomenti, consulta la sezione La funzione ML.FORECAST.

  3. Fai clic su Esegui. Il modello ML fornisce un output di valori previsti per date future.

  4. Al termine della query, fai clic sulla scheda Risultati. I risultati dovrebbero avrà il seguente aspetto:

    Genera e gestisci insight con BigQuery ML

Fornisci insight

Per pubblicare le previsioni generate per le decisioni aziendali basate sui dati dall'applicazione SAP utilizzando l'SDK ABAP per Google Cloud, utilizzi il metodo QUERY_JOBS della classe /GOOG/CL_BIGQUERY_V2.

Per aiutarti a eseguire il deployment della soluzione di esempio spiegata in questa sezione con il minimo sforzo, su GitHub è fornito un esempio di codice. Questo esempio di codice mostra un esempio end-to-end della generazione di previsioni dei valori delle serie temporali future utilizzando il modello ARIMA_PLUS e l'SDK ABAP on-premise o su qualsiasi cloud per Google Cloud.

Passaggi successivi

  • Per una panoramica di BigQuery ML, consulta Introduzione a BigQuery ML.
  • Per valutare i modelli di machine learning di BigQuery disponibili per i tuoi requisiti e processi aziendali, consulta Percorso utente end-to-end per ogni modello.
  • Anziché eseguire query ad hoc per ottenere le previsioni di BigQuery ML, puoi utilizzare Cloud Run per generare automaticamente approfondimenti per i dati nuovi o modificati in BigQuery. Gli insight generati possono essere scritti in un ambiente BigQuery temporaneo e recuperata da un'applicazione SAP.
  • Per estrarre un valore e informazioni maggiori dai tuoi dati SAP, puoi utilizzare Cortex Data Foundation di Google Cloud, che fornisce una base di dati scalabile ed estensibile, nonché pipeline e modelli di dati predefiniti per i casi d'uso aziendali comuni relativi a SAP.
  • Per saperne di più sulla console Google Cloud, consulta Utilizzo della console Google Cloud.
  • Per scoprire di più sull'SDK ABAP per Google Cloud, consulta la Panoramica dell'SDK ABAP per Google Cloud.
  • Se hai bisogno di aiuto per risolvere i problemi relativi all'SDK ABAP per Google Cloud, segui questi passaggi:

Collaboratori

Autore: Ajith Urimajalu | Team Lead, SAP Application Engineer

Altro collaboratore: Vikash Kumar | Technical Writer