Fonctions SQL pour les rapports personnalisés

Pour aider à l'écriture de requêtes avancées, des espaces réservés sont disponibles pour chaque fonction. Les espaces réservés de fonction sont remplacés par du code SQL au moment de l'exécution. Les fonctions sont utilisées comme des paramètres, mais leurs noms contiennent un préfixe $ (symbole du dollar). Contrairement aux paramètres, les espaces réservés sont des éléments de rapport définis qui ne peuvent pas être personnalisés à chaque exécution.

Le tableau suivant répertorie tous les espaces réservés de fonction disponibles :

Fonction Action Exemple
$TODAY Renvoie la date système en cours sur le serveur de base de données. Vous pouvez aussi écrire $TODAY-1 pour hier ou $TODAY-7 pour il y a une semaine. CreatedAt > ${$TODAY}
$DATE(colonne) Renvoie la date mais pas l'heure.
$DATE(chaîne) Convertit la chaîne définie à un format de date de base de données. CreatedAt > ${$DATE('01/10/2005')}
$DAYS[p1;p2] Calcule la différence en jours entre les deux paramètres définis. Ces deux paramètres peuvent être une colonne du tableau/de la vue ou $TODAY. L'exemple suivant renvoie les lignes créées au cours de la semaine écoulée : ${$DAYS[CreatedAt;$TODAY]} < 7
$WEEK(paramètre) Renvoie le numéro de semaine du paramètre défini, qui peut être $TODAY ou une colonne.
$MONTH(paramètre) Renvoie le mois de l'année sous la forme d'un numéro du paramètre défini, qui peut être $TODAY ou une colonne.
$YEAR(paramètre) Renvoie l'année sous la forme d'un numéro du paramètre défini, qui peut être $TODAY ou une colonne.
$USERID ID de l'utilisateur actuellement connecté.
$USERNAME Nom de l'utilisateur actuellement connecté.
$PROJECTID ID du projet actuellement sélectionné.
$PROJECTNAME Nom du projet actuellement sélectionné.
$REPORTNAME Nom du rapport actuellement sélectionné.
$REPORTID ID du rapport actuellement sélectionné.

Vous trouverez ci-dessous le code du rapport préinstallé Exigence avec Exigences Enfants. Avec ce rapport, une exigence sélectionnée est affichée avec son ID. Les détails complets relatifs aux exigences enfants sont affichés. Bien qu'il ne s'agisse pas d'un rapport personnalisé, ce rapport est un exemple utile, car il utilise la fonction $PROJECTID. Il inclut aussi deux paramètres, reqID (ID de l'exigence) et reqProp_Obsolete_0 (afficher les exigences obsolètes).

SELECT r.ReqID, r.ReqCreated, r.ReqName, r.TreeOrder
   FROM RTM_V_Requirements r INNER JOIN   
   TM_ReqTreePaths rtp ON (rtp.ReqNodeID_pk_fk = r.ReqID)   
   WHERE rtp.ParentNodeID_pk_fk=${reqID|22322|Requirement ID} AND   
   r.ProjectID = ${$PROJECTID} AND   
   r.MarkedAsObsolete=${reqProp_Obsolete_0|0|Show obsolete Requirements}   
   ORDER BY r.TreeOrder ASC