BI experience

24 juin 2008
par maryam khiali
2 Commentaires

Evènement : openday

Pour ceux qui s’intéressent à la BI open source, je vous attends le 9 Septembre 2008 pour une conférence : Acteurs, Solutions, Perspectives à La Cantine – 12 passage Montmartre- Galerie des Panoramas- 151 rue Montmartre, 75002 Paris

openday.JPG

Comme l’a indiqué Marc Sallières dans son commentaire, pour assister à cette conférence il faudra s’inscrire au préalable sur openday.fr

24 juin 2008
par maryam khiali
0 Commentaires

Openday : Ingres

Hier soir il y avait une conférence BI concernant INGRES. Voici mon petit compte rendu…

pinguin_ingres.JPG

Petit historique :

La création de la Base de données Ingres a été créée en 1970. Ce n’est qu’en 2006 qu’ils ont déclaré leur présence au sein de l’open source afin de favoriser l’innovation et pour redonner un coup de jeune à leur offre. En 2007 est née Appliance : une solution clef en main que j’ai présentée dans un autre post ( OS : Linux, ETL : Talend Report : Jaspersoft)

Leur communauté :

Cette communauté insiste sur le fait qu’elle est francophone et donc que tous les forums, documents, assistances sont en français.

Plusieurs projets communautaires sont en cours de création. D’ailleurs si ça intéresse quelqu’un il recherche des gens pour participer à tout ce travail de communauté.

Résumé technique :

Cette conférence était très théorique. Ils ont beaucoup insisté sur les concepts de base de la BI ainsi que sur les particularités de leur base de données Ingres :

  • optimisation de requêtes
  • support des hash join
  • Architecture multithreads : Requêtes parallèles, Optimisation des I/O, Optimisation des indexations
  • Fonctionnalité de bulkloading puissant
  • grands choix de connectivité pour les ETL
  • Supporte une forte volumétrie ( voir le post sur Ingres qui entre le livre des records)

J’attends les prochaines conférences et j’espère qu’elles seront plus orientées BI.

Sympa sinon l’ambiance de la conférence à la Cantine! (151 rue de Montmartre Paris 2e)

En tout cas ce qu’il en est ressorti c’est que sur le marché OSBI les solutions qui marchent sont : SpagoBI, Jaspersoft et Ingres ! Et oui pentaho n’a pas de succès…

Pour aller plus loin :

Si vous voulez tester cette solution pendant 60 jours :
ingres.com/downloads

Pour plus de renseignements sur le sujet :
ingres-ua.fr
iicomfr.org

19 juin 2008
par maryam khiali
0 Commentaires

Reporting Services : astuces

J’utilise pas mal SSRS ces derniers jours…Je voudrais juste vous faire part de quelques astuces :

Au niveau des couleurs :

  • on peut mettre une condition à l’affichage de la couleur d’une case : exemple Iif(Field!monchamp.value<1000, »Red », »blue). Cette expression est à mettre au niveau des propriétés de la case > BackgroundColor > Expression
  • On peut aussi mettre une couleur une ligne sur deux pour plus de lisibilité : Iif(RowNumber(Nothing) Mod 2, « blue »)

Au niveau des dates :

  • Si la date est déjà sous le format date mais que ce format ne vous plait pas. utiliser : FormatDatetime(Field!maDate.value,2) 2 étant le type de format DD/MM/YY
  • Si la date est sous le format varchar on fait appelle à la fonction texte. Imaginons que la date soit : « YYYYMMDD » et qu’on veut l’afficher « DD/MM/YY », voilà ce qu’on peut faire : RIGHT(Field!monchamp.value,2)& »/ »&LEFT(RIGHT(Field!monchamp.value,4),2) & »/ »RIGHT(LEFT(Field!monchamp.value,4),2)

Pour la mise en page du rapport :

  • mettre au format paysage : Ouvrez votre rapport. Dans le menu SSRS allez dans rapport>propriété du rapport>mise en page> et inverser hauteur et largeur. Puis attention régler votre marge pour voir si tout contient dans une page A4.
  • forcer SSRS à générer tout le rendu sur une seule page : il suffit de mettre le paramètre « InteractiveSize » à « 0 ;0 ».

Avec SSRS on peut aussi gérer les langues d’une case:

avec un Iif(…) et le champ User!Language. Vous aurez plus d’infos sur ce site technet.microsoft.com vous pourrez consulter les langues prises en compte.

Pour les COUNT conditionnels :

=COUNTDISTINCT(Iif(Fields!new_disponibilite.Value<Today(), Fields!new_collaborateurid.Value,0))

Cela permet de compter le nombre de collaborateurs avec une condition sur la date

Gérer les quotients null

Je pense que plein de personnes ont déjà tapé : IIF(Fields!ODO.Value <> 0, (Fields!MAINT.Value + Fields!SERVICE.Value + Fields!TYRES.Value) / Fields!ODO.Value, 0)

Mais bien sûr ça n’a pas fonctionné…Voilà l’astuce :
=IIF(Fields!ODO.Value <> 0, (Fields!MAINT.Value + Fields!SERVICE.Value + Fields!TYRES.Value) / IFF(Fields!ODO.Value <> 0, Fields!ODO.Value, 1), 0)

Utiliser un Dataset différent du dataset précisé dans un tableau :

Voici une astuce tirée par les cheveux je trouve :
Si dans un de vos tableaux, vous avez un dataset1 et que dans l’une des cellules de votre tableau, vous voulez utiliser un dataset2, il faudra utiliser un fonction du type :

max(IIF(Fields!FirstName.Value= »Robert », Fields!LastName.Value, nothing), « nomdudataset »)

En gros dans cette fonction, on a utilisé la fonction MAX mais elle est utilisée de manière détournée, dans le sens où elle ne récupérera que la ligne où le FirstName sera égal à « Robert » et élimera les autres qui seront associés à nothing.

Voilà!!

11 juin 2008
par maryam khiali
4 Commentaires

Utiliser des vues avec SQL Server 2005

Plusieurs professionnels de SQL Server 2005 utilisent des vues au lieu d’utiliser directement les tables lorsqu’il faut avoir accès aux données…Mais quel est l’intérêt?

En fait il peut y avoir plusieurs raisons :

  • pour affiner, simplifier et personnaliser la perception de la base de données par chaque utilisateur. Un exemple flagrant est lorsqu’un rapport appelle une requête assez compliquéz à chaque génération, il sera alors plus judicieux de créer une vue qui contiendra directement les bonnes données pour plus de simplicité. C’est la vue qui est interrogée lors de la génération du rapport.
  • pour être utilisées comme mécanismes de sécurité en permettant aux utilisateurs d’accéder aux données par le biais de la vue, sans leur accorder d’autorisations d’accéder directement aux tables de base sous-jacentes de la vue.
  • pour fournir une interface de compatibilité descendante afin d’émuler une table qui existait mais dont le schéma a changé. Exemple : la création d’une vue issue de la fusion de données présentes dans 2 tables normalisées.
  • pour copier des données vers et à partir de Microsoft SQL Server 2005 afin d’améliorer les performances et de partitionner les données.

J’espère que vous comprenez mieux l’utilité des vues…