Modélisation des données SAP dans Snowflake (Partie 2)

Modélisation des données SAP dans Snowflake (Partie 2)


En tant que plate-forme, Snowflake prend en charge la technique de modélisation de données de votre choix, notamment Data Vault, la modélisation dimensionnelle Kimball, Inmon, une combinaison de techniques ou tout ce que vous choisissez de créer vous-même. Dans Partie 1 de cet article en deux parties, nous expliquons comment travailler avec les données SAP dans Plate-forme de données cloud Snowflake dans le cadre d’un flux de travail ELT.

Une fois que HVR a répliqué les données de SAP dans Snowflake (ce qui est généralement la partie la plus difficile du travail avec les données SAP), vous pouvez travailler avec et modéliser les données de la manière que vous préférez. Ici, dans la partie 2, nous décrivons comment transformer les données répliquées en un schéma en étoile à l’aide de vues qui encapsulent la logique métier requise. Une fois ces vues créées, elles peuvent être directement interrogées par les outils BI ou matérialisées dans des tables interrogeables.

La procédure suivante utilise une table très simple, MARA (General Material Data), mais les concepts s’appliquent à toute table répliquée de SAP dans Snowflake. À la fin du blog, vous verrez une capture d’écran d’un simple magasin de données SAP Sales and Distribution (SAP SD).

Vous trouverez ci-dessous une architecture de haut niveau du processus :

ModelingSAP 5

L’un des avantages de l’utilisation de HVR est qu’il peut répliquer des données à partir d’applications SAP, quelle que soit la base de données sous-jacente.

Étape 1 : Créer et charger la table physique

La première étape consiste à créer la table cible à l’aide de HVR dans le cadre du chargement initial de SAP dans Snowflake.

Dans cette procédure, toutes les tables SAP résident dans un schéma appelé PHYSICAL_TABLES dans la base de données SAP_ERP_SHARE.

ModelingSAP 1

Notez que les tables sont chargées dans Snowflake telles quelles avec toutes les colonnes disponibles. Il s’ensuit un extrait et charge tout/transforme ce qui est nécessaire du modèle.

Étape 2 : Construire la couche sémantique

L’une des parties les plus difficiles de l’utilisation des données SAP consiste à comprendre ce que signifient réellement les noms cryptés des tables et des colonnes. Commencez par créer une couche sémantique qui traduit les noms de table et de colonne SAP en quelque chose de plus significatif. Cela nécessite une compréhension du fonctionnement de la traduction des tables et des colonnes. La plupart des PME SAP comprennent cela, et si vous avez accès à la documentation SAP ou à un système SAP où vous pouvez exécuter SE11, vous pouvez le créer vous-même.

Il existe également de nombreux sites Web qui font un excellent travail pour définir cela. Personnellement, j’aime utiliser https://www.sapdatasheet.org/ car il contient à la fois des informations de table et de colonne ainsi qu’un diagramme ERD des tables SAP et des différentes relations entre les tables.

Une autre excellente ressource est HANA Live de SAP. Si vous êtes familier avec cela, vous pouvez utiliser le code sous-jacent comme base pour comprendre comment les tables sont jointes et une partie de la logique de transformation requise pour créer ou modéliser dans Snowflake.

Par exemple, la couche sémantique pour MARA (General Material Data) ressemble à ceci dans notre scénario :

ModelingSAP 2

Ce DDL vit dans un schéma appelé HARMONIZATION en tant que vue nommée GeneralMaterialData. (La table MARA a 236 colonnes dans cet exemple, elles ne sont donc pas toutes affichées dans la figure ci-dessus). Pour nos besoins, toutes les colonnes de MARA sont incluses dans la couche sémantique. Cela permet aux processus en aval d’accéder aux colonnes dont ils ont besoin dans un format conforme.

Notez qu’il n’y a que deux choses qui se produisent dans cette déclaration :

  • Traduction de MARA en une vue appelée GeneralMaterialData
  • Mappage des abréviations de colonne aux descriptions en anglais

L’objectif principal de la couche d’harmonisation est de transformer les tables SAP en quelque chose de significatif pour la plupart des gens.

Étape 3 : Construire la couche de propagation

Maintenant que nous avons une vue avec des noms de colonnes significatifs, l’étape suivante consiste à propager les colonnes qui seront utilisées dans le magasin de données superposer et enrichir les données si nécessaire.

Cela peut inclure des éléments tels que :

  • Gestion des conversions de types de données
  • Ajout de colonnes calculées
  • Transformer les champs de date
  • Filtrage des données
  • Effectuer d’autres transformations diverses

Le but de cette étape n’est pas d’effectuer une transformation en gros. Au lieu de cela, cette étape nettoie les données tout en conservant un mappage 1:1 à partir des données répliquées via la couche sémantique et dans la vue propre.

En plus de la vue GeneralMaterialData, une vue appelée GeneralMaterialDataActive est créée avec le DDL suivant :

image 5

À titre d’exemple, les actions suivantes ont été incluses :

  • Filtrer uniquement les données qui n’ont pas été supprimées
  • Filtrage sur des données MaterialType spécifiques
  • Filtrage sur Client 800
  • Calcul sur MaterialType pour fournir une description

Étape 4 : Construire la couche du magasin de données

La couche suivante est la couche du magasin de données. Cette couche prend les données de la couche de propagation et les traite dans les dimensions ou les faits qui créent le modèle dimensionnel.

La vue GeneralMaterialData est utilisée pour créer une dimension pour les données produit appelée SD.ProductDim, illustrée ci-dessous.

image 6

Étape 5 : Créer des extensions supplémentaires ou utiliser des dimensions et des faits

À ce stade, la sortie de l’étape précédente est un ensemble de dimensions et de faits basés sur le processus métier modélisé. À partir de là, vous pouvez importer les métadonnées des dimensions et des faits dans les outils de BI pour exécuter des analyses, matérialiser les dimensions et les faits, ou traiter les dimensions et les faits en fonction des besoins de vos utilisateurs finaux.

Remarque : Ce blog a montré comment cela fonctionne avec MARA, mais j’ai également exécuté les mêmes étapes pour de nombreuses autres tables avec la sortie ci-dessous. Les détails varient en fonction de votre environnement SAP SD spécifique, mais vous pouvez appliquer le concept global au SD ou à tout autre domaine.

ModelingSAP3

En conclusion, nous avons parcouru un exemple simple pour montrer de manière conceptuelle comment modéliser des données de SAP ERP dans Snowflake en utilisant HVR pour répliquer les données dans Snowflake et des vues dans Snowflake pour transformer les données. Vous pouvez développer ces blocs de construction de base pour construire tout ce que vous voulez.

Ce processus n’est pas limité aux données SAP. Pour la plupart des entreprises, SAP n’est qu’une source de données parmi d’autres. Vous pouvez également utiliser des données de Salesforce, Workday, divers systèmes de fabrication ou des applications maison. Les dimensions que vous créez et les faits que vous dérivez peuvent inclure des données provenant de l’une de ces sources.

Le flocon de neige peut être le plate-forme de données pour stocker toutes ces données en un seul endroit afin que vous puissiez visualiser les données SAP dans le contexte complet de votre environnement.

Apprenez-en plus en vous inscrivant à notre webinaire : Mode d’emploi : données SAP vers Snowflake. Co-organisé par Snowflake et HVR, ce webinaire plonge dans les détails de la façon dont ces deux solutions peuvent permettre une vue plus large de votre entreprise et une prise de décision en temps réel.

Van de Wiel

Mark est le directeur technique du fournisseur de solutions de réplication de données en temps réel, HVR. Mark possède une solide expérience en réplication de données ainsi qu’en intelligence d’affaires et en analyse en temps réel. Tout au long de sa carrière de plus de 15 ans, Mark a élargi ses responsabilités de consultant à la gestion de produits et au développement commercial.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.