Direction des Systèmes d’Information et des Moyens Généraux Business Objects 15 décembre 2014.
-
Upload
etienne-pereira -
Category
Documents
-
view
106 -
download
2
Transcript of Direction des Systèmes d’Information et des Moyens Généraux Business Objects 15 décembre 2014.
Direction des Systèmes d’Information et des Moyens Généraux
Business Objects
11 avril 2023
M1-2013
P 2Business Objects
Amaury de Taddeo – Thélem assurances
M1-2013
P 3Business Objects
Amaury de Taddeo – Thélem assurances
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’€)
M1-2013
P 4Business Objects
Amaury de Taddeo – Thélem assurances
Business Objects
Outil de restitution d’information Leader dans les logiciels d’informatique décisionnel
Concurrents : SAS, Microstrategy, Cognos… Utilisé par les grandes entreprises
46 000 clients Interface basée sur les « objets d’interrogation »
Concept de couche sémantique (breveté) Univers Objets Classes et sous classes
M1-2013
P 5Business Objects
Amaury de Taddeo – Thélem assurances
Couche sémantique
Transformation de la structure technique en un vocabulaire métier
FinanceGestion
Ventes
ClientVendeur
Chiffre d’affairePrix
Données deL’entreprise
Représentationmetier
InformaticienUtilisateurs finaux
M1-2013
P 6Business Objects
Amaury de Taddeo – Thélem assurances
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)
M1-2013
P 7Business Objects
Amaury de Taddeo – Thélem assurances
L’accès à l’information
1. Création de requête de l’utilisateur via sélection d’objets et filtres2. Exécution de la requête3. Traduction du serveur BO en langage SQL4. Transmission au serveur de BD5. Traitement de la requête et retour des données au serveur6. Génération du document et envois du résultat
12 3 4
56
M1-2013
P 8Business Objects
Amaury de Taddeo – Thélem assurances
La suite Business Objects
M1-2013
P 9Business Objects
Amaury de Taddeo – Thélem assurances
Le Designer
M1-2013
P 10Business Objects
Amaury de Taddeo – Thélem assurances
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)
M1-2013
P 11Business Objects
Amaury de Taddeo – Thélem assurances
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
M1-2013
P 12Business Objects
Amaury de Taddeo – Thélem assurances
EtudiantEtu_idNom PrénomCla_id
MatièreMat_idnomNB_heuresCoefficient
CoursCours_idJourHeureMat_id
EnseignementCla_idMat_id
PrésenceEtu_idCours_idDépart_pause
ClasseCla_idnomPromotion
JourJourMoisAnnée
MoisMoisAnnée
AnnéeAnnée
M1-2013
P 13Business Objects
Amaury de Taddeo – Thélem assurances
Proposer une modélisation pour résoudre les boucles de la modélisation précédente
M1-2013
P 14Business Objects
Amaury de Taddeo – Thélem assurances
EtudiantEtu_idNom PrénomCla_id
MatièreMat_idnomNB_heuresCoefficient
CoursCours_idJourHeureMat_id
EnseignementCla_idMat_id
PrésenceEtu_idCours_idDépart_pause
ClasseCla_idnomPromotion
JourJourMoisAnnée
MoisMoisAnnée
AnnéeAnnée
Raccourci jointure
M1-2013
P 15Business Objects
Amaury de Taddeo – Thélem assurances
EtudiantEtu_idNom PrénomCla_id
MatièreMat_idnomNB_heuresCoefficient
CoursCours_idJourHeureMat_id
EnseignementCla_idMat_id
PrésenceEtu_idCours_idDépart_pause
ClasseCla_idnomPromotion
JourJourMoisAnnée
MoisMoisAnnée
AnnéeAnnée
Contexte Présence *Contexte Enseignement *
*
*
*
*
M1-2013
P 16Business Objects
Amaury de Taddeo – Thélem assurances
EtudiantEtu_idNom PrénomCla_id
Matière ensMat_idnomNB_heuresCoefficient
CoursCours_idJourHeureMat_id
EnseignementCla_idMat_id
PrésenceEtu_idCours_idDépart_pause
ClasseCla_idnomPromotion
JourJourMoisAnnée
MoisMoisAnnée
AnnéeAnnée
Alias
Matière presMat_idnomNB_heuresCoefficient
M1-2013
P 17Business Objects
Amaury de Taddeo – Thélem assurances
Présentation de BO Designer
Les fonctions d’agrégats (@aggregate_aware) 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 (@prompt)
M1-2013
P 18Business Objects
Amaury de Taddeo – Thélem assurances
EtudiantEtu_idNom PrénomCla_id
MatièreMat_idnomNB_heuresCoefficient
CoursCours_idJourHeureMat_id
EnseignementEtu_idMat_idNote_réelleNote_finale
PrésenceEtu_idCours_idDépart_pause
ClasseCla_idnomPromotion
JourJourMoisAnnée
MoisMoisAnnée
AnnéeAnnée
Note_finale = note_réelle * %age présence cours
M1-2013
P 19Business Objects
Amaury de Taddeo – Thélem assurances
Proposer une modélisation permettant d’optimiser le requêtage des professeurs souhaitant visualiser les moyennes des notes par matière
M1-2013
P 20Business Objects
Amaury de Taddeo – Thélem assurances
EtudiantEtu_idNom PrénomCla_id
MatièreMat_idnomNB_heuresCoefficient
CoursCours_idJourHeureMat_id
EnseignementEtu_idMat_idNote_réelleNote_finale
PrésenceEtu_idCours_idDépart_pause
ClasseCla_idnomPromotion
JourJourMoisAnnée
MoisMoisAnnée
AnnéeAnnée
Enseignement_aggMat_idNote_réelleNote_finale
M1-2013
P 21Business Objects
Amaury de Taddeo – Thélem assurances
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
M1-2013
P 22Business Objects
Amaury de Taddeo – Thélem assurances
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
M1-2013
P 23Business Objects
Amaury de Taddeo – Thélem assurances
BO InfoView
Portail d’accès Boites email Organisation Recherche imbriquée Préférences Publication PDF / XLS/ …
M1-2013
P 24Business Objects
Amaury de Taddeo – Thélem assurances
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
M1-2013
P 25Business Objects
Amaury de Taddeo – Thélem assurances
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
BO Webi : L’éditeur de requête
M1-2013
P 26Business Objects
Amaury de Taddeo – Thélem assurances
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]…)*
BO InfoView/Webi: fonctions avancées
M1-2013
P 27Business Objects
Amaury de Taddeo – Thélem assurances
Fonctions d’agrégation avancées
M1-2013
P 28Business Objects
Amaury de Taddeo – Thélem assurances
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))
M1-2013
P 29Business Objects
Amaury de Taddeo – Thélem assurances
Fonctions d’agrégation avancées
Max : Max ([Sales Revenue] In ([Year];[Quarter])) In ([Year])
M1-2013
P 30Business Objects
Amaury de Taddeo – Thélem assurances
Fonctions d’agrégation avancées
Max : Max ([Sales Revenue] In ([Year];[Quarter])) In ([Year]) Max : Max ([Sales Revenue] ForEach ([Quarter])) In ([Year])
M1-2013
P 31Business Objects
Amaury de Taddeo – Thélem assurances
Fonctions d’agrégation avancées
Yearly Total : Sum([Sales Revenue] ForAll ([Quarter])) Yearly Total : Sum([Sales Revenue] In ([Year]))
M1-2013
P 32Business Objects
Amaury de Taddeo – Thélem assurances
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)
M1-2013
P 33Business Objects
Amaury de Taddeo – Thélem assurances
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
M1-2013
P 34Business Objects
Amaury de Taddeo – Thélem assurances
Lier des rapports WebI
M1-2013
P 35Business Objects
Amaury de Taddeo – Thélem assurances
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>"
M1-2013
P 36Business Objects
Amaury de Taddeo – Thélem assurances
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
M1-2013
P 37Business Objects
Amaury de Taddeo – Thélem assurances
« BI Corporate » / « BI Light »
BI CorporateApproche classiqueGestion centralisée, fiable, unicité de la donnéeCohérence inter systèmes (gouvernance)Stockage massifs et historiques
Lourdeur et complexité d’architectureDemandes d’évolution coûteuse et coté ITCoût élevéAccès figé
BI Corporate vs BI Light
M1-2013
P 38Business Objects
Amaury de Taddeo – Thélem assurances
« BI Corporate » / « BI Light »
BI Light Nouvelle générationFlexibilitéPrise en main rapideOrienté utilisateurCoût faible
Pas d’ETL et de qualité de donnéesDélocalisé sur les postes clientsGouvernance absentePas de sécuritéGestion complexe des gros volumes
BI Corporate vs BI Light
M1-2013
P 39Business Objects
Amaury de Taddeo – Thélem assurances
« BI Corporate » / « BI Light »
BI Light QliktechTibcoJaspersoft
BI CorporateSAP (Business Objects)OracleSASMicrosoft
BI Corporate vs BI Light
M1-2013
P 40Business Objects
Amaury de Taddeo – Thélem assurances
BI Corporate vs BI Light
« 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 utilisateurDéveloppement de solution light à déployerGestion 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
M1-2013
P 41Business Objects
Amaury de Taddeo – Thélem assurances
QlikView
M1-2013
P 42Business Objects
Amaury de Taddeo – Thélem assurances
Business Objects
M1-2013
P 43Business Objects
Amaury de Taddeo – Thélem assurances
M1-2013
P 44Business Objects
Amaury de Taddeo – Thélem assurances
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
M1-2013
P 45Business Objects
Amaury de Taddeo – Thélem assurances
Select
SELECT [TABLE1.CHAMP1] FROM [TABLE1]
[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
ComicsNumeroNomHérosPropriétaire
HérosHérosNomType
M1-2013
P 46Business Objects
Amaury de Taddeo – Thélem assurances
Afficher la liste de comics de Sheldon dont le héros est masqué
ComicsNumeroNomHérosPropriétaire
HérosHérosNomType
M1-2013
P 47Business Objects
Amaury de Taddeo – Thélem assurances
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é »
ComicsNumeroNomHérosPropriétaire
HérosHérosNomType
M1-2013
P 48Business Objects
Amaury de Taddeo – Thélem assurances
Afficher la liste des héros que Sheldon ne collectionne pas
ComicsNumeroNomHérosPropriétaire
HérosHérosNomType
M1-2013
P 49Business Objects
Amaury de Taddeo – Thélem assurances
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)
SELECT DISTINCT hs.Nom FROM Héros hs
LEFT OUTER JOIN Comics cs
ON (cs.Propriétaire =« Sheldon » AND cs.Héros=hs.Héros)
WHERE cs.Numero IS NULL
ComicsNumeroNomHérosPropriétaire
HérosHérosNomType
M1-2013
P 50Business Objects
Amaury de Taddeo – Thélem assurances
Afficher la liste des héros ayant le même type que le héros le plus collectionné par Raj
ComicsNumeroNomHérosPropriétaire
HérosHérosNomType
M1-2013
P 51Business Objects
Amaury de Taddeo – Thélem assurances
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)
ComicsNumeroNomHérosPropriétaire
HérosHérosNomType
M1-2013
P 52Business Objects
Amaury de Taddeo – Thélem assurances
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)
ComicsNumeroNomHérosPropriétaire
HérosHérosNomType
M1-2013
P 53Business Objects
Amaury de Taddeo – Thélem assurances
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
ComicsNumeroNomHérosPropriétaire
HérosHérosNomType
M1-2013
P 54Business Objects
Amaury de Taddeo – Thélem assurances
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)<=2ComicsNumeroNomHérosPropriétaire
HérosHérosNomType