要帮助编写高级查询,每个函数必须具有占位符。执行时函数占位符会被替换为 SQL 代码。函数和参数的用法类似,但函数的名称以 $(美元符号)作为前缀。和参数不同的是,占位符是已定义的报告元素,无法按执行进行自定义。
下表列出了所有可用的函数占位符:
函数 | 作用 | 示例 |
---|---|---|
$TODAY | 在数据库服务器上返回当前系统日期。您也可以将昨天编写为 $TODAY-1 或将一周前编写为 $TODAY-7。 | CreatedAt > ${$TODAY} |
$DATE(列) | 返回日期,但不返回时间。 | |
$DATE(“字符串”) | 将给定的字符串转换为数据库日期。 | CreatedAt > ${$DATE('01/10/2005')} |
$DAYS[p1;p2] | 计算两个给定参数之间的天数差异。两个参数可以为表/视图中的列或 $TODAY。 | 以下示例返回上周创建的行: ${$DAYS[CreatedAt;$TODAY]} < 7 |
$WEEK(参数) | 返回给定参数的周数,此参数可为 $TODAY 或列。 | |
$MONTH(参数) | 将月份返回为给定参数的数值,此参数可为 $TODAY 或列。 | |
$YEAR(参数) | 将年份返回为给定参数的数值,此参数可为 $TODAY 或列。 | |
$USERID | 当前登录用户的 ID。 | |
$USERNAME | 当前登录用户的姓名。 | |
$PROJECTID | 当前选定项目的 ID。 | |
$PROJECTNAME | 当前选定项目的名称。 | |
$REPORTNAME | 当前选定报告的名称。 | |
$REPORTID | 当前选定报告的 ID。 |
以下是预安装的具有子需求的需求报告的代码。使用此报告将显示选定需求及其需求 ID。还显示有关需求的子需求的完整详细信息。尽管此报告不是自定义报告,但非常有用,因为它利用 $PROJECTID 函数。它还包括 reqID(需求 ID)和 reqProp_Obsolete_0 (显示过时的需求)两个参数。
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