Ecrire dans un cube AnalysisServices2005

Ecrire dans un cube AnalysisServices2005 - SQL/NoSQL - Programmation

Marsh Posté le 24-09-2007 à 18:26:03    

Objectif : ajouter des données au cube
 
Situation : le cube n'est pas complet, certaines données sont manquantes
celui-ci est alimenté par un datawarehouse qui est alimenté par plusieurs bases de données
les données manquantes se trouvent dans des fichiers Excel sur lesquels travaillent les utilisateurs (ces vilains)
 
Solution : ETL vers un serveur IIS sur lequel les utilisateurs peuvent mettre leurs fichiers Excel pour inclure leurs données dans le cube ?
 
 
Alors pour être honnête les cubes c'est une grande découverte pour moi et même l'informatique décisionelle en général donc si qqchose vous semble louche ou incoherent n'hesitez pas.
 
Cordialement,
Utopiah.
 
PS : c'est du tout Microsoft


Couche           Logiciel
 
Données          Microsoft SQL Server 2005 Edition Entreprise (Data Engine)
OLAP              Microsoft SQL Server 2005 Edition Entreprise (SQL Server Analysis Services)
Présentation    Microsoft Internet Information Services (IIS 6) : serveur Web
Présentation    Microsoft SQL Server 2005 Edition Entreprise (SQL Server Reporting Services)
Présentation    Proclarity Analytics Server 6.2
ETL                Microsoft SQL Server 2005 Edition Entreprise (SQL Server Integration Services)
Administration  Microsoft Operation Manager / Event viewer Microsoft


Message édité par utopiah le 24-09-2007 à 19:00:59
Reply

Marsh Posté le 24-09-2007 à 18:26:03   

Reply

Marsh Posté le 25-09-2007 à 08:59:22    

je n'ai jamais touché a la techo décisionelle avec la suite ms, mais pour moi clairement ton soucis sera de charger tes données et de les rendre cohérente par rapport a tes dimensions, c'est la que le vrai cassage de tête va entrer en jeu, a moins de faire un reject pur et dur du moindre pépin ou que les donées a charger soient très simples.
 
tu as un exemple de données a charger et vers quoi ca devrait arriver?
 

Reply

Marsh Posté le 25-09-2007 à 21:25:59    

Hello,
 
Si j'ai bien compris, le traitement doit etre fait au niveau de l'alimentation du  datawharehouse.
Il faut donc récupérer les données des feuilles excel via integration services pour compléter les tables en question.    
 
Ensuite, il faut processer le cube anaysis services afin de mettre les données à jour.

Reply

Marsh Posté le 26-09-2007 à 10:27:45    

Tout d'abord merci beaucoup pour vos réponses.
 
casimimir : et bien il s'agit du dernier onglet d'un fichier Excel, celui-ci est en fait une "base de donnée" applatie pour servir de sources aux autres onglets (feuilles de calcul). Il s'agit de prendre une selection de données de cet onglet puis de compléter le DW avec celles-ci (environ 1 milliers d'occurences composées chacune d'environ une dizaine de données textuelles et une dizaine de données numériques). Il y aura probablement un peu de nettoyage à réaliser afin d'assurer la cohérence de ces nouvelles données avec celles déja incluses. Ces nouvelles données sont en fait l'équivalent de cas spéciaux mais sont du même type que celles existentes (comme si on ajoutait des ventes "officieuses" depuis Excel à des ventes officielles déja incluses dans la BDD originale disons).
 
 
Mizouf : je pense oui, Integration services est capable de réaliser directement une telle opération ou faut-il convertir le fichier Excel "à la main" dans une BDD puis ajouter une procédure stoquer dans le DW puis demander une maj du cube ?

Reply

Marsh Posté le 26-09-2007 à 22:28:42    

Oui en effet integration services permet de d'integrer directement des données depuis un fichier Excel vers une base de données. Pour cela , brièvement , il faut :
 
- créer un nouveau projet SSIS sous VisualStudio
- dans un fichier dtsx ajouter un « dataflow task » dans l'onglet control flow
- puis dans le dataflow mettre en source du flux une tache de type « Excel flow »
- ensuite réaliser toutes les  taches de traitements des data (modificationn exclusion, ajout, traitement des anomalies, normalisation,...)
- enfin finaliser le flux par une tache du type « SQL server destination » pour inserer les data dans la/les tables de la base SQLserver
 
Une fois le DatawhareHouse complété avec les données issues des feuilles Excel , il faut processer la base OLAP(pas obligatoire*) pour que les cubes d'analyses intègrent les nouvelles données. (De manière générale le process de la base OLAP est réalisé à fréquence regulière à l'aide d'un job SQL agent)
 
*ce dernier point depend du mode de stockage des éléments de la base OLAP : ROLAP, HOLAP ou MOLAP.

Reply

Marsh Posté le 10-10-2007 à 11:03:46    

Ok alors j'ai jeté un coup d'oeil et ça semble bien mais... dans le "Excel file path" du Connection Manager (OLE DB Connection Manager) il me propose uniquement de selectionner un fichier local. Etant donné que le fichier Excel source sera sur un ordinateur pour le moment inconnu (celui du futur utilisateur) je souhaiterais pouvoir utiliser un fichier distant (par exemple mis sur SharePoint).

Reply

Marsh Posté le 12-10-2007 à 22:03:48    

En reseau Local LAN, dans le "Excel file path" du Connection Manager on peut tout a fait indiquer un chemin reseau du type :
\\<computername>\<sharedfolder>\<excelfile.xls>.  
Si le fichier est accessible depuis un sharepoint,normalement il peut etre accessible directement via ce type de chemin reseau.  
 
En tout cas il n'est pas possible nativement de recupérer un fichier via une URL. C'est peut etre possible via une script task(a tester).
Autre possibilité , utiliser la "FTP task" pour recupérer le fichier depuis un serveur FTP.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed