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 l'horodatage du début du jour au format UTC. | La colonne renvoie : 2019-08-30 08:37:33 au format CEST, qui est rendu sous la forme 2019-08-30 02:00 |
$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 précédente : ${$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