詳細クエリを記述する際に、関数ごとに提供されているプレースホルダを利用することができます。関数プレースホルダは、実行時に SQL コードに置き換えられます。関数はパラメータのように使用することができますが、関数名の先頭には $(ドル記号)が付きます。プレースホルダはパラメータとは異なり、実行ごとにカスタマイズすることができない定義済みのレポート要素です。
使用可能な関数プレースホルダの一覧を以下の表に示します。
関数 | 機能 | 例 |
---|---|---|
$TODAY | データベース サーバー上の現在のシステム日付を返します。$TODAY-1(前日)や $TODAY-7(1 週間前)のように記述することもできます。 | CreatedAt > ${$TODAY} |
$DATE(列) | UTC ベースの日付の始まりのタイムスタンプを返します。 | たとえば、列の値が 2019-08-30 08:37:33(CEST)の場合は、2019-08-30 02:00 が返されます。 |
$DATE('文字列') | 渡された文字列をデータベース日付に変換します。 | CreatedAt > ${$DATE('01/10/2005')} |
$DAYS[p1;p2] | 渡された 2 つのパラメータの間の日数の差を計算します。2 つのパラメータは、テーブル/ビューの列でも $TODAY でもかまいません。 | 以下の例は、この 1 週間以内に作成された行を返します: ${$DAYS[CreatedAt;$TODAY]} < 7 |
$WEEK(パラメータ) | 渡されたパラメータの週番号を返します。パラメータは $TODAY や列で指定します。 | |
$MONTH(パラメータ) | 渡されたパラメータの月を数字で返します。パラメータは $TODAY や列で指定します。 | |
$YEAR(パラメータ) | 渡されたパラメータの年を数字で返します。パラメータは $TODAY や列で指定します。 | |
$USERID | 現在ログインしているユーザーの ID。 | |
$USERNAME | 現在ログインしているユーザーの名前。 | |
$PROJECTID | 現在選択しているプロジェクトの ID。 | |
$PROJECTNAME | 現在選択しているプロジェクトの名前。 | |
$REPORTNAME | 現在選択しているレポートの名前。 | |
$REPORTID | 現在選択しているレポートの ID。 |
以下に示すのは、あらかじめインストールされている 要件と子要件 というレポートのコードです。このレポートでは、選択した要件がその要件 ID と共に表示されます。その要件の子要件に関する詳細が表示されます。これはカスタム レポートではありませんが、$PROJECTID 関数が使われているため、例として役に立ちます。また、2 つのパラメータ 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