BI experience

30 octobre 2008
par maryam khiali
0 Commentaires

Enquête sur les tables de nos bases de données

Dans le décisionnel, la volumétrie est quand même une donnée non négligeable. Vous avez envie d’en savoir plus sur vos tables? Voilà une requête qui peut vous intéresse^r :

—————————————

/*On crée la table  #temp qui contiendra les infos sur chaque table de notre BDD*/

CREATE TABLE #temp(
rec_id int IDENTITY (1, 1),
NomTable varchar(128),
nbrLignes int,
data_space decimal(15,2),
index_space decimal(15,2),
total_size decimal(15,2),
percent_of_db decimal(15,12),
db_size decimal(15,2))

/*j’exécute ce script qui me permet de relever des infos grâce aux tables system*/

EXEC sp_msforeachtable @command1= »insert into #temp(nbrLignes, data_space, index_space) exec sp_mstablespace ‘?’ »,
@command2= »update #temp set NomTable= ‘?’ where rec_id = (select max(rec_id) from #temp) »
UPDATE #temp
SET total_size = (data_space + index_space), db_size = (SELECT SUM(data_space + index_space) FROM #temp)
UPDATE #temp
SET percent_of_db = (total_size/db_size) * 100
SELECT * FROM #temp ORDER BY total_size DESC

/* vous pouvez tout sélectionner */
SELECT * FROM #temp

/*les 5 premières plus grosses tables */
SELECT TOP 5 * FROM #temp ORDER BY total_size DESC

/*supprimer la table */
DROP TABLE #temp

————————————

Cette requête a été faite pour SQL Server et les tailles sont exprimés en Mo

27 octobre 2008
par maryam khiali
1 Commentaire

Une Formation ? C’est trop bon!

Avoir une formation sur un outil c’est vraiment trop bon…Jeudi et Vendredi dernier, j’ai eu une formation Talend et je peux vous dire que ça fait du bien!

formation1.jpg

C’est vrai quand on ne connait pas la philosophie d’un logiciel ou même la manière dont il a été conçu, la plus petite manipulation peut devenir un vrai calvaire. Et en l’occurrence pour Talend, je pense vraiment qu’une formation est nécessaire.

Recevoir le savoir bien formulé, bien expliqué tout de suite c’était vraiment jouissif. En effet lorsqu’on est face à un logiciel que l’on ne connait pas bien on part sur des suppositions pour faire fonctionner les choses et puis le résultat n’est pas forcement optimisé.

Je voudrai donc juste dire « vive les formations ».

Et vous qu’en pensez-vous?

21 octobre 2008
par maryam khiali
0 Commentaires

iReport les samples

Je sais que les sample peuvent vraiment aider les développeurs de iReport parce qu’il y a vraiment des manipulations qui ne sont pas intuitives…

Malheureusement pour les samples qui utilisent les Scriptlets, les .java ou même les .class ne sont pas fournis alors ne vous étonnez pas d’ avoir un problème de « ClassNotFoundException : nomduScriptlet »

Bref voici l’adresse des samples

Et voici un tutorial développez.com bien mené sur iReport . En plus, il est récent.

20 octobre 2008
par maryam khiali
1 Commentaire

Rapport maitre / sous Rapport avec iReport

iReport permet de créer des sous rapports. Voici une des façons de les faire communiquer :

  1. Créer votre rapport maitre avec votre connexion et votre requête
  2. Créer votre sous rapport puis l’intégrer à votre rapport principale (voir le post : « iReport un outil sympathique »
  3. double cliquer sur l’élément subreport de votre rapport principal
    1. dans l’onglet « Rapport secondaire » mettre « Utiliser l’expression de connexion » :  » $P{REPORT_CONNECTION} ce qui veut dire que votre sous rapport aura la même connexion  datasource que votre rapport maitre.
    2. dans l’onglet « Rapport secondaire (autre) » indiquer dans « Expression de rapport secondaire » : « lenomdevotresubreport.jasper »
    3. mettre les paramètre créer (faire ajouter le nom de votre paramètre et dans expression mettre $F{nomchamp}
  4. Dans votre subreport vous n’aurez qu’à créer les même paramètres avec les même noms et même type sans expression particulière.
  5. puis dans le menu Données >Consultation du rapport de votre sous-rapport mettre une requête SQL de type : « SELECT * FROM table Where id= $P{monid}

Enjoy!

20 octobre 2008
par maryam khiali
0 Commentaires

iReport et ANT

iReport permet de faire des extensions : Exemple pour créer un sommaire à un rapport.

Ces extensions se font via des Scriptlets en java. Je suis en train d’essayer de créer un sommaire. D’ailleurs pour nous aider JasperSoft a mis à disposition des samples que vous trouverez ici :

tableOfcontentsRaport.jrxml et HeadingsReport.jrxml
HeadingsScriptlet.java

En tout cas il a fallu se familiariser avec ANT car iReport ne compile le code Java. Il faut le faire à part puis insérer notre code compilé : nos .class dans le classpath de iReport ( options > chemin de classe)

Pour ANT il y a une version fournie directement avec JasperServer 3.0 voir dans le dossier ANT. Pour utiliser ce logiciel, voici les étapes à respecter :

  • bien paramétrer vos variables d’environnement :

JAVA_HOME : C:\…\java\jdk1.6.0_03 indiquer l’emplacement de votre jdk

ANT_HOME :C:\…\ant indiquer l’emplacement de votre ant

PATH : %PATH; %ANT_HOME\bin%; %JAVA_HOME\bin%

CLASSPATH : mettre les répertoire de vos lib et les .jar dont vous pourrez avoir besoin.

  • Construire son fichier build.xml à mettre à la racine de votre répertoire ANT

——————————————————————————————

<project name= »sommaire_scriptlet » default= »compileProject »>

<echo> JE COMMENCE LA COMPILATION </echo>
<target name= »init »>
<property name= »sourceDir » value= »C:/Program Files/jasperserver-3.0/ant/src » />
<property name= »outputDir » value= »C:/Program Files/jasperserver-3.0/ant/classes » />
<!–si vous voulez utiliser les variable d’environnement de windows –>

<property environment= »env » />
<property name= »classpathenv » value= »${env.CLASSPATH} » />

</target>

<path id = « monclasspath »>
<fileset dir = « lib »>
<include name = « *.jar » />
</fileset>
<!–pathelement location= »../ireport/lib/jasperreports-3.0.0.jar » /–>
<!–pathelement location= »../java/lib/tools.jar » /–>
<pathelement location= »../java/lib/ » />
<pathelement location= »../ireport/lib/ » />
</path>

<target name= »cleanUpOutputDir » depends= »init »>
<deltree dir= »${outputDir} » />
</target>

<target name= »makeOutputDir » depends= »cleanUpOutputDir »>
<mkdir dir= »${outputDir} » />
</target>

<echo> JE COMPILE MON PROJET</echo>

<target name= »compileProject » depends= »makeOutputDir »>
<!–j’affiche mon classpath pour voir si tout va bien –>

<pathconvert targetos= »windows » property= »monclasspathwin » refid= »monclasspath »> </pathconvert>
<echo> monclasspathwin : ${monclasspathwin} </echo>

<!– compilation des sources Java –>
<javac srcdir= »${sourceDir} » destdir= »${outputDir} » >
<classpath refid= »monclasspath » />
</javac>
</target>
</project>

——————————————————————–

Et ensuite avec la console « cmd » de windows mettez vous dans le répertoire ANT et taper : « ant » et normalement votre build.xml s’exécutera.

  • Puis prenez vos .class générer et collez à la racine du répertoire iReport.

J’espère que ça pourra en aider quelques personnes.

Je travaille toujours sur mon sommaire. Vu qu’il n’y a pas beaucoup de documentation j’avance assez doucement. Si des gens s’y connaissent n’hésitez pas à vous manifester.

Dès que le fonctionnement de iReport sera clair sur la création du sommaire je ferai un post pour expliquer la démarche.