La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Business Objects 7 avril 2017.

Présentations similaires


Présentation au sujet: "Business Objects 7 avril 2017."— Transcription de la présentation:

1 Business Objects 7 avril 2017

2

3 Business Objects Société d’origine française (Skipper SQL en 1990)
Fondée par d’anciens managers de la société Oracle Activité totalement dédiée aux problèmes d’infocentre relationnel Devient Business Objects en 1992 (Partenariat Oracle) Rachat de BO par SAP en 2008 par OPA Amicale (4.8 Milliards d’€)

4 Business Objects Outil de restitution d’information
Leader dans les logiciels d’informatique décisionnel Concurrents : SAS, Microstrategy, Cognos… Utilisé par les grandes entreprises clients Interface basée sur les « objets d’interrogation »  Concept de couche sémantique (breveté) Univers Objets Classes et sous classes

5 Couche sémantique Transformation de la structure technique en un vocabulaire métier Représentation metier Données de L’entreprise Gestion Finance Ventes Client Vendeur Chiffre d’affaire Prix Utilisateurs finaux Informaticien

6 BO au sein de la BI Fournir des réponses aux décideurs sur des problèmes spécifiques Autonomie d’accès à un rapport au moment du besoin Business Objects Production de rapports par les utilisateurs Pas d’intervention IT Grande flexibilité Illusion de simplicité (concepts métier) Gain de temps (concentration sur l’analyse plutôt que sur l’implémentation)

7 L’accès à l’information
Création de requête de l’utilisateur via sélection d’objets et filtres Exécution de la requête Traduction du serveur BO en langage SQL Transmission au serveur de BD Traitement de la requête et retour des données au serveur Génération du document et envois du résultat 1 2 3 4 6 5

8 La suite Business Objects

9 Le Designer

10 Présentation de BO Designer
L’univers Couche sémantique entre les utilisateurs et la base de donnée Les paramètres Connexion à la base et restrictions accès Les Tables Alias, requête SQL Les relations et cardinalités (nombre de lignes) Optimisation des jointures lors de la génération dynamique SQL Les classes : regroupement d’objets de même thème Les Objets (Dimensions, Informations, mesures) Fonctions de projection Les LOV (listes de valeurs)

11 Résolution des boucles
Le raccourci jointure Chemin de prédilection L’alias Objets spécifiques Le contexte A spécifier lors de exécution Implicite en fonction de la sélection des objets

12 Classe Cla_id nom Promotion Etudiant Etu_id Nom Prénom Cla_id Matière Mat_id nom NB_heures Coefficient Enseignement Cla_id Mat_id Mois Année Jour Mois Année Présence Etu_id Cours_id Départ_pause Cours Cours_id Jour Heure Mat_id Année

13 Proposer une modélisation pour résoudre les boucles de la modélisation précédente

14 Classe Cla_id nom Promotion Raccourci jointure Etudiant Etu_id Nom Prénom Cla_id Matière Mat_id nom NB_heures Coefficient Enseignement Cla_id Mat_id Mois Année Jour Mois Année Présence Etu_id Cours_id Départ_pause Cours Cours_id Jour Heure Mat_id Année

15 Classe Cla_id nom Promotion Contexte Présence * Contexte Enseignement * Etudiant Etu_id Nom Prénom Cla_id Matière Mat_id nom NB_heures Coefficient * Enseignement Cla_id Mat_id * Mois Année * Jour Mois Année Présence Etu_id Cours_id Départ_pause Cours Cours_id Jour Heure Mat_id * Année

16 Classe Cla_id nom Promotion Alias Matière ens Mat_id nom NB_heures Coefficient Matière pres Mat_id nom NB_heures Coefficient Etudiant Etu_id Nom Prénom Cla_id Enseignement Cla_id Mat_id Mois Année Jour Mois Année Présence Etu_id Cours_id Départ_pause Cours Cours_id Jour Heure Mat_id Année

17 Présentation de BO Designer
Les fonctions d’agrégats Se baser sur les tables optimisées en fonction du contexte La navigation agrégée Précision des incompatibilités de type Les Clefs sur Objets Accès plus rapide à la donnée Le requêteur SQL Les hiérarchies Drill up / Drill down Les invites

18 Classe Cla_id nom Promotion Note_finale = note_réelle * %age présence cours Etudiant Etu_id Nom Prénom Cla_id Matière Mat_id nom NB_heures Coefficient Enseignement Etu_id Mat_id Note_réelle Note_finale Mois Année Jour Mois Année Présence Etu_id Cours_id Départ_pause Cours Cours_id Jour Heure Mat_id Année

19 Proposer une modélisation permettant d’optimiser le requêtage des professeurs souhaitant visualiser les moyennes des notes par matière

20 Classe Cla_id nom Promotion Enseignement_agg Mat_id Note_réelle Note_finale Matière Mat_id nom NB_heures Coefficient Etudiant Etu_id Nom Prénom Cla_id Enseignement Etu_id Mat_id Note_réelle Note_finale Mois Année Jour Mois Année Présence Etu_id Cours_id Départ_pause Cours Cours_id Jour Heure Mat_id Année

21 Donner la définition des objets : Matière, Etudiant ,Note_réelle et Note_finale
Donner les incompatibilités de type associées pour que la requête choisisse correctement la table de destination en fonction des objets sélectionnés

22 Matière : Matière.Nom Etudiant : Etudiant.Nom +’ ’+ Etudiant.Prénom Note_réelle : aggregate_aware(Enseignement_agg.Note_réelle, Enseignement.Note_réelle) Note_finale : aggregate_aware(Enseignement_agg.Note_finale, Enseignement.Note_ finale) Etudiant incompatible avec Enseignement_agg

23 BO InfoView Portail d’accès Boites email Organisation
Recherche imbriquée Préférences Publication PDF / XLS/ …

24 BO Webi : L’éditeur de rapports
Mode édition/création Rafraichissement des données Sections/Break Tris Graphiques Filtres/Alerters Mode structure Cellules libres Fonctions d’agrégation Fonction de Drill

25 BO Webi : L’éditeur de requête
Sélection Filtres Invites SQL généré Top N / Sous requêtes Multi requêtes Cellules libres Fonctions d’agrégation Fonction de Drill

26 BO InfoView/Webi: fonctions avancées
Planification (Schedule) Création de mesures Module de traçage* Paramètres des requêtes Fonctions d’agrégation avancées ([In], [ForEach], [ForAll],[All]…)*

27 Fonctions d’agrégation avancées

28 Fonctions d’agrégation avancées
Percentage of total : [Sales revenue]/(Sum([Sales revenue] In Report)) Percentage of Year : [Sales revenue]/(Sum([Sales revenue] In Section))

29 Fonctions d’agrégation avancées
Max : Max ([Sales Revenue] In ([Year];[Quarter])) In ([Year])

30 Fonctions d’agrégation avancées
Max : Max ([Sales Revenue] In ([Year];[Quarter])) In ([Year]) Max : Max ([Sales Revenue] ForEach ([Quarter])) In ([Year])

31 Fonctions d’agrégation avancées
Yearly Total : Sum([Sales Revenue] ForAll ([Quarter])) Yearly Total : Sum([Sales Revenue] In ([Year]))

32 Fonctions d’agrégation avancées
Yearly Average : Average([Sales revenue] In Section) First Half Average : Average ([Sales revenue]) In Block Block = Section filtrée (ignore les Breaks)

33 Module de Traçage Comparaison des modifications de données
Se base sur une instance Comparaison instance précédente ou instance fixe Données supprimées, ajoutés, mises à jour (suivant la valeur) Customisation de la visualisation des différences Etudiant Note Bob 14 Jim 8 Stella 15

34 Lier des rapports WebI

35 Lier des rapports WebI "<a href=\"../../opendoc/openDocument.jsp?
sType=wid&iDocID=AYFh22UFHEJHiT0QJGA_z_0 &sIDType=CUID &lsM"+URLEncode("Select Product Part Number Code")+"=“ +URLEncode([Product Part Number Code])+“ &lsS"+URLEncode("Enter Date (Start):")+"="+ URLEncode(UserResponse("Enter Date (Start):"))+"&lsS"+URLEncode("Enter Date (End):")+"="+URLEncode(UserResponse("Enter Date (End):"))+“ &lsM"+URLEncode("Select Source System Code"+"="+URLEncode([Source System Code])+“ &NAII=Y\">Phone Resolution</a>"

36 Lier des rapports WebI &lsM paramètre d’invite de type "in list"
&lsS paramètre d’invite de type "equals to" + pour concatener les chaines et les formules URLEncode pour convertir une chaine (avec espaces et carractères spéciaux) en une URL [] nom d’un objet dans le rapport parent UserResponse réponse donnée dans le rapport parent

37 BI Corporate vs BI Light
« BI Corporate » / « BI Light » BI Corporate Approche classique Gestion centralisée, fiable, unicité de la donnée Cohérence inter systèmes (gouvernance) Stockage massifs et historiques Lourdeur et complexité d’architecture Demandes d’évolution coûteuse et coté IT Coût élevé Accès figé

38 BI Corporate vs BI Light
« BI Corporate » / « BI Light » BI Light Nouvelle génération Flexibilité Prise en main rapide Orienté utilisateur Coût faible Pas d’ETL et de qualité de données Délocalisé sur les postes clients Gouvernance absente Pas de sécurité Gestion complexe des gros volumes

39 BI Corporate vs BI Light
« BI Corporate » / « BI Light » BI Light Qliktech Tibco Jaspersoft BI Corporate SAP (Business Objects) Oracle SAS Microsoft

40 BI Corporate vs BI Light
Complémentarité des deux approches Tendance à se rapprocher (version light pour les « majors » et fonctionnalités pour les « arrivants ») Amélioration des interfaces utilisateur Développement de solution light à déployer Gestion des volumes, travail en mémoire Développement de solutions de mobilité Amélioration de la complétude des fonctionnalités Source le CXP 2012 BI Classique BI Light

41 QlikView

42 Business Objects

43

44 Le langage SQL Création en 1974 (normalisation 1986)
SQL (Structured Query Language) Langage informatique normalisé Effectuer des opérations sur des bases de données SQL1 / SQL2 / SQL3… Quatre grandes familles d’instructions SELECT INSERT UPDATE DELETE CREATE / GRANT

45 Select SELECT [TABLE1.CHAMP1] FROM [TABLE1] Comics Héros Numero Nom
[INNER / LEFT OUTER / RIGHT OUTER] JOIN [TABLE2] ON ([TABLE1.CHAMPCLEF] = [TABLE2.CHAMPCLEF] ) WHERE / AND [RESTRICTION] GROUP BY [TABLE1.CHAMP1] HAVING [FILTRE] Afficher la liste de comics de Sheldon dont le héros est masqué Puis la liste des héros que Sheldon ne collectionne pas Enfin la liste des héros ayant le même type que le héros le plus collectionné par Raj Comics Numero Nom Héros Propriétaire Héros Nom Type

46 Comics Héros Numero Nom Nom Héros Type Propriétaire
Afficher la liste de comics de Sheldon dont le héros est masqué Comics Numero Nom Héros Propriétaire Héros Nom Type

47 SELECT Cs.Nom FROM Comics cs
Afficher la liste de comics de Sheldon dont le héros est masqué SELECT Cs.Nom FROM Comics cs INNER JOIN Héros hs ON (hs.Héros = cs.Héros) WHERE hs.Type =« Masqué » Comics Numero Nom Héros Propriétaire Héros Nom Type

48 Comics Héros Numero Nom Nom Héros Type Propriétaire
Afficher la liste des héros que Sheldon ne collectionne pas Comics Numero Nom Héros Propriétaire Héros Nom Type

49 SELECT DISTINCT hs.Nom FROM Héros hs
Afficher la liste des héros que Sheldon ne collectionne pas SELECT DISTINCT hs.Nom FROM Héros hs WHERE NOT EXISTS (SELECT 1 FROM Comics cs WHERE cs.Propriétaire =« Sheldon » AND cs.Héros=hs.Héros) LEFT OUTER JOIN Comics cs ON (cs.Propriétaire =« Sheldon » AND cs.Héros=hs.Héros) WHERE cs.Numero IS NULL Comics Numero Nom Héros Propriétaire Héros Nom Type

50 Comics Héros Numero Nom Nom Héros Type Propriétaire
Afficher la liste des héros ayant le même type que le héros le plus collectionné par Raj Comics Numero Nom Héros Propriétaire Héros Nom Type

51 Comics Héros Numero Nom Nom Héros Type Propriétaire
Afficher la liste des héros ayant le même type que le héros le plus collectionné par Raj SELECT cs1.Héros FROM (SELECT Héros FROM (SELECT cs.Héros, count(hs.Numero) FROM Comics cs WHERE cs.Propriétaire =« Raj » GROUP BY cs.Héros ORDER BY count(cs.Numero) DESC) WHERE ROWNUM = 1) cs1 INNER JOIN Héros hs ON (cs1.Héros=hs.Héros) INNER JOIN Héros hs2 ON (hs1.Type=hs.Type AND hs1.Héros <> hs.Héros) Comics Numero Nom Héros Propriétaire Héros Nom Type

52 Comics Héros Numero Nom Nom Héros Type Propriétaire
Afficher la liste des héros ayant le même type que le héros le plus collectionné par Raj SELECT (SELECT DISTINCT first_value(Héros) Héros OVER (PARTITION BY cs.Propriétaire ORDER BY count(cs.Numero) DESC) FROM Comics cs WHERE cs.Propriétaire =« Raj » INNER JOIN Héros hs ON (cs.Héros=hs.Héros)) INNER JOIN Héros hs2 ON (hs1.Type=hs.Type AND hs1.Héros <> hs.Héros) Comics Numero Nom Héros Propriétaire Héros Nom Type

53 Comics Héros Numero Nom Nom Héros Type Propriétaire
Penny voudrait se commencer une collection elle aussi même si beaucoup de héros sont déjà pris. Elle pose toute de même une condition : ne pas commencer une collection dont d’Howard aurai plus de 2 exemplaires Lister les choix de penny par ordre de préférence Comics Numero Nom Héros Propriétaire Héros Nom Type

54 Comics Héros Numero Nom Nom Héros Type Propriétaire
Penny voudrait se commencer une collection elle aussi même si beaucoup de héros sont déjà pris. Elle pose toute de même une condition : ne pas commencer une collection dont d’Howard aurai plus de 2 exemplaires Lister les choix de penny par ordre de préférence SELECT DISTINCT cs1.Héros, 0 FROM Comics cs1 WHERE NOT EXISTS (SELECT 1 FROM Comics cs2 WHERE cs2.Propriétaire =«  Howard  » AND cs1.Héros=cs2.Héros) UNION ALL SELECT cs.Héros, count(hs.Numero) FROM Comics cs WHERE cs.Propriétaire =« Howard » GROUP BY cs.Héros ORDER BY count(hs.Numero) ASC HAVING count(cs.Numero)<=2 Comics Numero Nom Héros Propriétaire Héros Nom Type


Télécharger ppt "Business Objects 7 avril 2017."

Présentations similaires


Annonces Google