Introduction
SAP HANA est une plateforme qui repose sur la technologie « In-memory » (les données sont stockées dans la RAM et non sur disque) et regroupe des services de base de données, des services applicatifs, des outils analytiques et des services d’acquisition de données. Pour accéder à ces données stockées « In-memory », à partir d’outils de reporting, nous aurons besoin de modéliser des « Vues ».
La modélisation des vues sur HANA
La plateforme dispose de son propre système de modélisation, celui-ci s’articule autour de modèles d’information également appelés vues.
Cette modélisation s’effectue au travers de l’outil « SAP HANA Studio » (c.f. notre article de blog dédié au sujet https://www.decivision.com/blog/sap-hana/decouverte-de-sap-hana-studio)
Ces vues peuvent être créées directement sur des tables et ainsi permettre d’implémenter la logique business au sein de la base de données. Ces vues peuvent ensuite être consommées par des outils de reporting, des applications java ou encore des outils tiers.
Trois types de vues existent :
- Les vues d’attribut (Attribute Views)
- Les vues analytiques (Analytic Views)
- Les vues de calcul (Calculation Views)
1 – La vue d’attribut
Les vues d’attribut sont comparables à des dimensions en modélisation classique. Elles ne peuvent contenir que des attributs. Elles sont principalement utilisées pour joindre des tables d’attributs entre elles et sont relativement limitées en termes de fonctionnalités.
Ces vues ne peuvent pas contenir de mesures et ne sont pas utilisables par les outils de reporting. Elles peuvent êtres utilisées dans les vues d’analyse et les vues de calcul.
Exemple de vue d’attribut :
La vue d’attribut peut être standard, temporelle ou dérivée :
Standard: C’est une vue d’attribut utilisée pour créer une dimension classique.
Temporelle: C’est une vue d’attribut pour laquelle la granularité peut être définie à l’année, au mois, à la semaine, à la date (jour), à l’heure, à la minute et à la seconde. A la différence de la vue standard, celle-ci repose sur une période et permet d’effectuer des calculs temporels. Cette vue peut être générée automatiquement à partir des tables système de SAP HANA.
Dérivée : C’est une vue d’attribut d’une autre vue d’attribut existante. Alors qu’une vue d’attribut classique est modifiable, la vue dérivée est en mode ‘Read-Only’ (Lecture seule). Le seul champ modifiable est sa description.
Notre avis : Ces vues sont très peu utilisées de par leurs restrictions. De plus à partir des « Vues de calcul » on peut réaliser la plupart des fonctions d’une vue d’attribut. Elles présentent peu d’intérêt.
2- La vue analytique
La vue analytique peut être comparée à un schéma en étoile. On y trouve une table de fait autour de laquelle gravitent une ou plusieurs dimensions.
Exemple de vue de d’analyse :
De nouvelles fonctionnalités font leur apparition avec ce type de vue :
- Les colonnes calculées : Ce sont des champs créés par le modélisateur au sein des vues qui permettent d’ajouter des champs et des calculs supplémentaires.
- Les contrôles d’entrée : Il s’agit de prompts utilisés pour filtrer les données en fonction d’une valeur saisie par l’utilisateur. Ces prompts seront transmis de manière automatique aux outils de reporting. Ils correspondent à des PLACEHOLDER en SQL. Ces filtres sont dynamiques.
- Les variables : Les variables sont liées aux colonnes et sont utilisées pour le filtrage. Elles correspondent aux clauses WHERE en SQL. Ces filtres sont statiques.
Notre avis : Ces vues nous permettent de réaliser une modélisation standard (table de fait, table de dimension, schéma en étoile, …). La logique standard de modélisation dans un système décisionnel peut donc être réutilisée ici au travers de ces vues.
La conception de ces vues est semblable à celle d’un univers Business Objects.
3 – La vue de calcul
Ce type de vue est plus complexe et offre plus de possibilités que les vues d’attribut et d’analyse. Il s’agit de vues composites qui peuvent supporter une logique poussée.
En complément des variables, contrôles d’entrée et colonnes calculées, de nouvelles opérations sont possibles :
- Les unions : Utilisées pour combiner les données provenant de plusieurs sources de données (deux ou plus).
- Les jointures : Référentielle, Interne, Externe gauche/droite, Jointure de texte, « Temporal Join ».
- Les projections : Utilisées pour filtrer les données depuis la table/vue ou pour obtenir un sous-ensemble des colonnes d’une table/vue.
- Les rank : Utilisés pour ordonner les données en fonction d’un Top N sur une mesure.
- Les agrégations : Utilisées pour agréger les données en fonction d’un attribut.
Ces vues peuvent être de type « temporelle », dimension, cube ou cube avec jointure en étoile.
A la différence des autres vues, celles-ci peuvent être de type graphique ou sous forme de script.
Exemple de vue de calcul graphique :
Notre avis : Ces vues sont les plus utilisées de par leurs fonctionnalités. Elles permettent de réaliser tous les types de modélisations. De plus elles peuvent être directement utilisées dans les outils de reporting BO (Web Intelligence, SAP Analytics Cloud, Lumira, …)
Conclusion – Préconisations DeciVision
Avec les dernières versions de HANA, les préconisations de SAP en matière de modélisation sont de n’utiliser que des vues de calcul. En effet, il est désormais possible de créer des vues de calcul graphique de type dimension et de type cube avec « star join » (jointure en étoile) qui remplacent respectivement les vues d’attribut et les vues d’analyse.
Actuellement dans tous nos développements, nous utilisons essentiellement des « Vues calculées ». Elles possèdent toutes les fonctionnalités dont nous avons besoin, et leur conception est similaire à un univers Business Objects.
A noter également : nous sommes partenaires des solutions développées par RapidViews, datamarts virtuels temps réel sur SAP HANA qui permettent d’accélérer les déploiements BI sur SAP HANA.