Le forum (ô combien francophone) des utilisateurs de Powerbuilder.




Bonjour à tous,
Voila je dois effectuer une application style "planning" , sur les lignes j'ai les dates , et en colonnes les employés, le but est d'afficher le nom du projet sur lequel l'employé a travaillé le jour en question.
Je voulais utiliser Crosstab Datawindow mais malheureusement, plutot que de m'afficher le nom du projet, il m'affiche 1 et ce pour n'importe quel projet..
Est-ce que avec Crosstab Datawindow n'effectue que des calculs et stats ? Ne peut-on pas y mettre des chaine sde caractères ?
D'avance merci pour votre aide.
En gros voila ce que j'aimerai :
.
USER1 USER2
DATE blabla beuh
DATE
DATE
Dernière modification par johnpelu (12-11-2008 11:44:27)
Hors ligne
salut,
fais des tests avec plusieurs combinaisons au niveau du crosstab...
ca devrait fonctionner.
A+

Hors ligne




C'est ce que j'ai fait mais malheureusement sans succès, voila pourquoi je suis sur ce forum
Hors ligne
fais nous une copie d'ecran de tes parametres de ta crosstab.

Hors ligne




release 11; datawindow(units=0 timer_interval=0 color=1073741824 processing=4 HTMLDW=yes print.printername="" print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.canusedefaultprinter=yes print.prompt=no print.buttons=no print.preview.buttons=no print.cliptext=no print.overrideprintjob=no print.collate=yes print.preview.outline=yes hidegrayline=no showbackcoloronxp=no crosstab.dynamic = yes grid.lines=0 grid.columnmove=no ) header[1](height=4 color="536870912" ) header[2](height=136 color="536870912" ) summary(height=192 color="536870912" ) footer(height=0 color="536870912" ) detail(height=84 color="536870912" ) table(column=(type=date updatewhereclause=yes name=consultant_day_day_service dbname="consultant_day_day_service" ) column=(type=number updatewhereclause=yes name=projects_project_name dbname="projects_project_name" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"consultant_day~" ) TABLE(NAME=~"consultants~" ) TABLE(NAME=~"projects~" ) COLUMN(NAME=~"projects.project_name~") COLUMN(NAME=~"consultant_day.day_service~") COLUMN(NAME=~"consultants.consultant_name~") COLUMN(NAME=~"consultant_day.project_code~") COLUMN(NAME=~"consultant_day.consultant_id~") COLUMN(NAME=~"consultant_day.day_time~") COLUMN(NAME=~"consultant_day.status_id~") COLUMN(NAME=~"consultant_day.day_visual~") JOIN (LEFT=~"consultants.consultant_id~" OP =~"=~"RIGHT=~"consultant_day.consultant_id~" ) JOIN (LEFT=~"consultant_day.project_code~" OP =~"=~"RIGHT=~"projects.project_code~" )) " sort="consultant_day_day_service A " ) text(band=header[2] alignment="2" text="@consultants_consultant_name" border="2" color="33554432" x="430" y="4" height="128" width="768" html.valueishtml="0" name=projects_project_name_t visible="1" font.face="Tahoma" font.height="-10" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=1 alignment="0" tabsequence=32766 border="2" color="33554432" x="9" y="4" height="76" width="411" format="[general]" html.valueishtml="0" name=consultant_day_day_service visible="1" edit.name="DD/MM/YYYY" editmask.mask="DD/MM/YYYY" editmask.focusrectangle=no font.face="Tahoma" font.height="-10" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=2 alignment="1" tabsequence=32766 border="2" color="33554432" x="430" y="4" height="76" width="768" format="[general]" html.valueishtml="0" name=projects_project_name visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes crosstab.repeat=yes font.face="Tahoma" font.height="-7" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) crosstab(band = foreground crosstabonly = yes columns = "consultants_consultant_name" rows = "consultant_day_day_service" values = "count(projects_project_name for crosstab)" sourcenames = "projects_project_name, consultant_day_day_service, consultants_consultant_name, consultant_day_project_code, consultant_day_consultant_id, consultant_day_day_time, consultant_day_status_id, consultant_day_day_visual")htmltable(border="0" cellpadding="1" cellspacing="1" ) htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" encodeselflinkargs="1" netscapelayers="0" pagingmethod=0 generatedddwframes="1" ) xhtmlgen() cssgen(sessionspecific="0" ) xmlgen(inline="0" ) xsltgen() jsgen() export.xml(headgroups="1" includewhitespace="0" metadatatype=0 savemetadata=0 ) import.xml() export.pdf(method=0 distill.custompostscript="0" xslfop.print="0" ) export.xhtml()
En fait ceci : "count(projects_project_name for crosstab)" , je voudrais que ce soit le libellé du projet, c'est un champ texte mais il m'affiche le COUNT :-/ ce n'est pas ce que je veux.
Je galère, merci pour vos idées
Hors ligne














essaye en remplaçant count(projects_project_name for crosstab) par projects_project_name
mais je pense que s'il y a plusieurs projects_project_name pour une même consultant_day_day_service tu n'auras que le premier
Hors ligne




J'ai essayé , ca me donne une valeur du style 1.7145656753522 E , alors que je devrais avoir une chaine du style "Bonjour"
Hors ligne














pas étonnant ta colonne est déclarée en number :
column=(type=number updatewhereclause=yes name=projects_project_name dbname="projects_project_name" )
Hors ligne




erasorz a écrit:
pas étonnant ta colonne est déclarée en number :
column=(type=number updatewhereclause=yes name=projects_project_name dbname="projects_project_name" )
Merci beaucoup, pourtant en base ce cham est un String, et comment dois -je changer cela dans le Crosstab?
Hors ligne
johnpelu a écrit:
erasorz a écrit:
pas étonnant ta colonne est déclarée en number :
column=(type=number updatewhereclause=yes name=projects_project_name dbname="projects_project_name" )Merci beaucoup, pourtant en base ce cham est un String, et comment dois -je changer cela dans le Crosstab?
bien joué erasorz
pour le changer, tu le changes manuellement via ton fichier exporté. apres, il ne te reste plus qu'à l'importer.

Hors ligne














ou directement en "Edit source" sur la DW
Hors ligne




pick ouic a écrit:
johnpelu a écrit:
erasorz a écrit:
pas étonnant ta colonne est déclarée en number :
column=(type=number updatewhereclause=yes name=projects_project_name dbname="projects_project_name" )Merci beaucoup, pourtant en base ce cham est un String, et comment dois -je changer cela dans le Crosstab?
bien joué erasorz
pour le changer, tu le changes manuellement via ton fichier exporté. apres, il ne te reste plus qu'à l'importer.
JE ne comprends pas pour l'export et import :-/
J'ai essayé en Edit Source de mettre column=(type= string .... )
Mais il ne me permet pas de sauvergarder, il me met une erreur de Syntaxe
Hors ligne














il faut mettre un char(n)
Hors ligne




Ok , effectivement ca fonctionne pour une personne avec une date.
Je lance un script afin d'avoir 2 personnes et quelques dates pour voir si il va tout m'afficher ou si il n'affichera que la première valeur.
En tout cas merci, je vous tiens au courant dans les minutes qui arrivent
Hors ligne




Ok, ca fonctionne impeccable, on peut dire que c'est Résolu.
Un grand merci à vous tous
Hors ligne




Par contre, si j'ai 2 entrées le même jour pour la même personne (ex: un projet le 01/01/08 au matin, et un autre projet le 01/01/08 après-midi pour la même personne) , il n'affiche que le premier :-/
Hors ligne














fais une date AM et une date PM par jour
si ça ne suffit pas, ajoute l'heure
Hors ligne