Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
J'ai actuellement un grahique par semaine qui indique le nombre de carte cloturée et non clôturée par semaine,
j'aimerai effectué un pourcentage de realisation par semaine -
on peut voir par exemple que pour la semaine 29 33 cartes ont été planifiés sur 38 (33 + 5 planifié) et donc 86,8 % de realisation
voice les dimensions , le 'inhistory' (false ou true) permet de distinguer les planifiés des clotures
J'ai essayer de transformer une formule (merci Sébastien F. !!) mais sans success (pourtant j'ai tout tenté)
AGGR( RangeSum (Above(count({$<START_DATE=>} WO_KEY ),0,52))/RangeSum (Above(count({$<START_DATE=>}WO_KEY),0,52)),InHistory,START_DATE)
si quelqu'un peut m'aider ..
merci
voici les données :
Peux-tu également ajouter ces 2 expressions :
Ou mieux, nous transmettre le petit jeu de donnée
Sébastien, voici ton resultat :
j'ai ajouter une partie des données dans excel
Philippe
Et si tu ajoutes cette 4ème expression, ça ne fonctionne pas ?
=count( {<InHistory = {'TRUE'} >} WO_KEY) / count( {<InHistory = >} WO_KEY)*100
Ajoute celle-ci :
Count({$<InHistory={'TRUE', 'FALSE'}>} TOTAL <InHistory> WO_KEY)
voici ton résultat expression '4'
voici
Ok, j'ai trouvé mon erreur, mais il me faut un champ WeekDate dans ton modèle (week(START_DATE) as WeekDate)
Et tu pourras utiliser cette expression:
=Count(WO_KEY) / Count(TOTAL <WeekDate> WO_KEY)
merci mais mes données proviennent directement d'une db , je ne sais pas trop où placer ton script ......
si c'est possible ?
SET ThousandSep='.';
SET DecimalSep=',';
SET MoneyThousandSep='.';
SET MoneyDecimalSep=',';
SET MoneyFormat='€ #.##0,00;€ -#.##0,00';
SET TimeFormat='hh:mm:ss';
SET DateFormat='D/MM/YYYY';
SET TimestampFormat='D/MM/YYYY hh:mm:ss[.fff]';
SET FirstWeekDay=0;
SET BrokenWeeks=1;
SET ReferenceDay=0;
SET FirstMonthOfYear=1;
SET CollationLocale='fr-BE';
SET MonthNames='janv.;févr.;mars;avr.;mai;juin;juil.;août;sept.;oct.;nov.;déc.';
SET LongMonthNames='janvier;février;mars;avril;mai;juin;juillet;août;septembre;octobre;novembre;décembre';
SET DayNames='lun.;mar.;mer.;jeu.;ven.;sam.;dim.';
SET LongDayNames='lundi;mardi;mercredi;jeudi;vendredi;samedi;dimanche';
LET minDate = input('Entrez la date de début','Input');
LET maxDate = input('Entrez la date de fin','Input');
ODBC CONNECT32 TO ODBC_APIPRO (XUserId is TVdAbJFLTCUEVHdISKRGVJVJ, XPassword is WYcVcJFLTCUEVHdISKRGVJdI);
load
(week(START_DATE) as WeekDate);
SELECT
WO_Key,
'FALSE' as 'InHistory',
"jobstatus#",
start_date,
end_date,
MO_name,
WO_name,
job_type,
Jobexec_date,
work_supplier_key
FROM
pub.Work_order
where Work_order.start_date >= ('$(minDate)') and Work_order.start_date <= ('$(maxDate)') and Work_order.end_date >= ('$(minDate)') and Work_order.end_date <= ('$(maxDate)')
and Work_order.job_type <> 'U' and Work_order."jobstatus#" in ('5','6','10')
and Work_order.work_supplier_key <> 'Cofely'
UNION
SELECT
WO_Key,
'TRUE' as 'InHistory',
"jobstatus#",
start_date,
end_date,
MO_name,
WO_name,
job_type,
Jobexec_date,
work_supplier_key
FROM
pub.Work_history
WHERE Work_history.Jobexec_date>= ('$(minDate)') and Work_history.Jobexec_date<= ('$(maxDate)') and
Work_history.start_date>= ('$(minDate)') and Work_history.start_date<= ('$(maxDate)') and Work_history.end_date>= ('$(minDate)') and Work_history.end_date<= ('$(maxDate)')
and Work_history.job_type <> 'U'
and Work_history.work_supplier_key <> 'Cofely';
Dans les LOAD, il faut mettre * pour récupérer tout les champs de ta requête et ajouter le nouveau champ :
SET ThousandSep='.';
SET DecimalSep=',';
SET MoneyThousandSep='.';
SET MoneyDecimalSep=',';
SET MoneyFormat='€ #.##0,00;€ -#.##0,00';
SET TimeFormat='hh:mm:ss';
SET DateFormat='D/MM/YYYY';
SET TimestampFormat='D/MM/YYYY hh:mm:ss[.fff]';
SET FirstWeekDay=0;
SET BrokenWeeks=1;
SET ReferenceDay=0;
SET FirstMonthOfYear=1;
SET CollationLocale='fr-BE';
SET MonthNames='janv.;févr.;mars;avr.;mai;juin;juil.;août;sept.;oct.;nov.;déc.';
SET LongMonthNames='janvier;février;mars;avril;mai;juin;juillet;août;septembre;octobre;novembre;décembre';
SET DayNames='lun.;mar.;mer.;jeu.;ven.;sam.;dim.';
SET LongDayNames='lundi;mardi;mercredi;jeudi;vendredi;samedi;dimanche';
LET minDate = input('Entrez la date de début','Input');
LET maxDate = input('Entrez la date de fin','Input');
ODBC CONNECT32 TO ODBC_APIPRO (XUserId is TVdAbJFLTCUEVHdISKRGVJVJ, XPassword is WYcVcJFLTCUEVHdISKRGVJdI);
LOAD
*,
week(start_date) as WeekDate;
SQL SELECT
WO_Key,
'FALSE' as 'InHistory',
"jobstatus#",
start_date,
end_date,
MO_name,
WO_name,
job_type,
Jobexec_date,
work_supplier_key
FROM
pub.Work_order
where Work_order.start_date >= ('$(minDate)') and Work_order.start_date <= ('$(maxDate)') and Work_order.end_date >= ('$(minDate)') and Work_order.end_date <= ('$(maxDate)')
and Work_order.job_type <> 'U' and Work_order."jobstatus#" in ('5','6','10')
and Work_order.work_supplier_key <> 'Cofely'
UNION
SELECT
WO_Key,
'TRUE' as 'InHistory',
"jobstatus#",
start_date,
end_date,
MO_name,
WO_name,
job_type,
Jobexec_date,
work_supplier_key
FROM
pub.Work_history
WHERE Work_history.Jobexec_date>= ('$(minDate)') and Work_history.Jobexec_date<= ('$(maxDate)') and
Work_history.start_date>= ('$(minDate)') and Work_history.start_date<= ('$(maxDate)') and Work_history.end_date>= ('$(minDate)') and Work_history.end_date<= ('$(maxDate)')
and Work_history.job_type <> 'U'
and Work_history.work_supplier_key <> 'Cofely';