Compatibilité avec Cortex Framework v6

Le contenu de compatibilité v6 fournit une couche compatible avec le schéma pour les charges de travail Cortex Framework v6 dans l'architecture Cortex Framework v7. Cela vous permet de migrer vers Cortex Framework v7 sans interrompre les actifs d'analyse existants, tels que les tableaux de bord Looker ou les modèles sémantiques LookML.

Sources de données prises en charge

Le framework fournit du contenu de compatibilité v6 pour les sources de données SAP ECC et SAP S/4HANA.

Fonctionnement

Le contenu de compatibilité v6 sert d'adaptateur entre les modèles de données v7 et vos actifs de création de rapports existants :

  • Vues compatibles avec le schéma : exposez les noms, les colonnes et la casse des vues de création de rapports exactement tels qu'ils apparaissaient dans Cortex Framework (v6).
  • Isolation de la cible : isolez les vues de compatibilité des tables Cortex Framework principales en les déployant dans un espace de noms distinct (cortex_v6_compatibility) et un ensemble de données cible BigQuery dédié.

Déployer le contenu de compatibilité

Pour déployer le contenu de compatibilité Cortex Framework v6, procédez comme suit :

  • Configurez un ensemble de données cible BigQuery dédié.
  • Activez les modules de compatibilité v6 dans le fichier config.yaml.
  • Exécutez les scripts de compilation et de déploiement de Google Cloud Cortex Framework.
  • Exécutez les pipelines Dataform.

Ensemble de données cible dédié

Vous devez déployer le contenu de compatibilité v6 dans un ensemble de données BigQuery distinct. Cela évite le masquage de l'espace de noms et les conflits de tables physiques, car de nombreuses tables utilisées par le contenu de compatibilité partagent des noms physiques identiques (tels que cost_centers, profit_centers, billing et deliveries) avec les tables principales de Cortex Framework v7.

Pour créer l'ensemble de données BigQuery dédié, ajoutez cortex_v6_compatibility_target à votre fichier config.yaml :

data:
  datasets:
    - id: product_target
      projectId: YOUR_TARGET_PROJECT_ID
      datasetId: prod_sap_dataproducts # Core v7 tables
    - id: cortex_v6_compatibility_target
      projectId: YOUR_TARGET_PROJECT_ID
      datasetId: prod_sap_cortex6 # Compatibility v6 tables

Configurer Cortex Framework

Pour enregistrer et activer la couche de compatibilité dans votre fichier config.yaml, vous devez effectuer les tâches suivantes :

  • Configurez l'ensemble de données cible dédié.
  • Enregistrez l'espace de noms de compatibilité.
  • Définissez l'attribut activé sur true pour tous les modules de compatibilité Cortex Framework v6 suivants :

  • sap_cortex_v6_compatibility_master_data

  • sap_cortex_v6_compatibility_accounts_payable

  • sap_cortex_v6_compatibility_finance

  • sap_cortex_v6_compatibility_inventory

  • sap_cortex_v6_compatibility_purchasing

  • sap_cortex_v6_compatibility_sales

L'exemple suivant illustre les modifications de configuration nécessaires pour activer sap_cortex_v6_compatibility_inventory :

data:
  datasets:
    - id: cortex_v6_compatibility_target
      projectId: YOUR_TARGET_PROJECT_ID
      datasetId: prod_sap_cortex6

  namespaces:
    - name: cortex_v6_compatibility
      path: ../src/data_modules/cortex_v6_compatibility

  modules:
    products:
      - moduleId: sap_cortex_v6_compatibility_inventory
        modulePath: cortex_v6_compatibility.sap.products.inventory
        enabled: true # If using configuration file based on config.yaml.example, ensure the `enabled` flag is set to `true`
        syncToKc: false
        dependencyBindings:
          sapModule: erp
          sapMasterData: sap_cortex_v6_compatibility_master_data
          sapSales: sap_cortex_v6_compatibility_sales
        dataTargetId: cortex_v6_compatibility_target
        moduleSettings:
          targetCurrencies: ['USD']
          rateType: 'M'
          languages: ['E']

#    You must ensure the `enabled` flag is set to `true` for all of the listed dependent modules. In this example:
#   `sap_cortex_v6_compatibility_master_data`
#   `sap_cortex_v6_compatibility_sales`

Conditions de fonctionnement

Nous vous recommandons vivement d'activer tous les modules de compatibilité Cortex Framework v6 en même temps. Le contenu de compatibilité contient des dépendances inter-modules (par exemple, les vues de facturation dépendent des tables de données maîtres, et les vues d'instantanés d'inventaire dépendent des dimensions de calendrier). Les activer ensemble évite les erreurs de dépendance dans Dataform.

Instantanés d'inventaire

Vous devez configurer et exécuter les tables d'instantanés d'inventaire (stock_weekly_snapshots et stock_monthly_snapshots) en tant que tables incrémentielles. Dans Cortex Framework v6, les instantanés d'inventaire calculent un total cumulé des quantités et des valeurs de stock :

  1. Exécution initiale : les tables traitent l'intégralité de l'historique des transactions de mouvement pour établir les niveaux de stock de départ.
  2. Exécutions ultérieures : Dataform ne traite que les mouvements enregistrés depuis la dernière exécution de l'instantané, en les ajoutant aux totaux cumulés de la période précédente.

Si vous exécutez ces tables en mode d'actualisation complète (non incrémentiel), elles recalculent l'intégralité de l'historique des mouvements à partir de zéro à chaque exécution. Cette approche est très inefficace, coûteuse et peut entraîner des calculs cumulés incorrects si les tables sources contiennent des écarts de date. Conservez le type de matérialisation de ces tables défini sur incrémentiel (configuration par défaut).

Créer et déployer le contenu de compatibilité

Pour créer et déployer le contenu de compatibilité, suivez les instructions de la documentation Déploiement et post-déploiement.