条件式の使い方
分析の各APIでは、条件式で集計対象を決定します。 ここでは、その条件式の使い方について紹介します。
条件式について
条件式とは、真(true)または偽(false)の結果を返す式であり、演算子とオペランド(条件式の判定対象となる値)から構成されます。
例:分析のAPIにてフィルタ条件に条件式を指定する(演算子「Eq」を使用)
"filterBy": { "type": "Eq", "left": { "type": "field", "name": "projectId" }, "right": { "type": "value", "value": "4" } }
left と right がそれぞれ左オペランド・右オペランドです。
左オペランドでは「type」に「フィールド(field)」を指定します。さらに「name」に演算対象のフィールドの名前を指定します。 右オペランドでは「type」に「値 (value)」を指定します。さらに「value」に演算対象の値を指定します。
演算子
TimeTracker NX Web APIにおいて利用可能な演算子は以下のとおりです。
比較演算子
演算子 | 左オペランド | 右オペランド | 説明 |
---|---|---|---|
Eq | フィールド | 値 | Equal (true: 左右のオペランドが等しい) |
Ne | Not Equal (true: 左右のオペランドが等しくない) | ||
Lt | Less Than (true: 左オペランドが右オペランドより小さい) | ||
Le | Less Than or Equal (true: 左オペランドが右オペランドより小さいもしくは等しい) | ||
Gt | Greater Than (true: 左オペランドが右オペランドより大きい) | ||
Ge | Greater Than or Equal (true: 左オペランドが右オペランドより大きいもしくは等しい) | ||
Like | Like (true: 左オペランドが右オペランドを含む=部分一致する) | ||
NotLike | NotLike (true: 左オペランドが右オペランドを含まない) | ||
In | 値(カンマ区切りで複数指定可能) | In (true: 左オペランドが右オペランドのいずれかに等しい) | |
NotIn | Not In (true: 左オペランドが右オペランドのいずれにも等しくない) | ||
Bw | 値(カンマ区切りで複数指定可能) | In (true: 左オペランドが右オペランドの1番目の要素以上かつ2番目の要素以下の場合) | |
NotBw | Not In (true: 左オペランドが右オペランドの1番目の要素より小さいまたは2番目の要素より大きい場合) | ||
Sw | 値 | Start With (true: 左オペランドが右オペランドで始まる=前方一致する) | |
NotSw | Not Start With (true: 左オペランドが右オペランドで始まらない) | ||
Ew | End With (true: 左オペランドが右オペランドで終わる=後方一致する) | ||
NotEw | Not End With true: 左オペランドが右オペランドで終わらない) |
Note
左右のオペランドを比較する際、データ型が一致しない場合は同じデータ型になるように変換を行います。一致するデータ型へのデータ変換が不可能な場合はエラーになります。
論理演算子
演算子 | オペランド | 説明 |
---|---|---|
And | Condition[] | true: すべての Condition が true (Condition の要素数が0の場合は true) |
Or | Condition[] | true: いずれかの Condition が true (Condition の要素数が0の場合は false) |
条件式で使用可能なフィールド
分析APIの条件式において使用可能なフィールドは以下のとおりです。 「対象」列が「共通」のものは、工数分析・アイテム件数分析のいずれでも使用可能です。
対象 | 名前 | 説明 |
---|---|---|
共通 | year | 年単位の日付 (YYYY-01-01) |
month | 月単位の日付 (YYYY-MM-01) | |
week | 週単位の日付 (YYYY-MM-DD) | |
date | 日単位の日付 (YYYY-MM-DD) | |
projectId | プロジェクトID | |
projectName | プロジェクト名 | |
folderId | フォルダのワークアイテムID | |
folderName | フォルダ名 | |
treePath | フォルダのツリーパス | |
projectCategory1~50 | プロジェクトカテゴリ1~50 | |
itemTypeId | アイテムタイプID | |
itemTypeName | アイテムタイプ名 | |
processCategoryId | 工程分類ID | |
processCategoryName | 工程分類名 | |
processCategoryGroupId | 工程分類グループID | |
processCategoryGroupName | 工程分類グループ名 | |
timeEntryCategoryId | 作業分類ID | |
timeEntryCategoryName | 作業分類名 | |
timeEntryCategoryGroupId | 作業分類グループID | |
timeEntryCategoryGroupName | 作業分類グループ名 | |
工数分析 | userId | ユーザーID |
userName | ユーザー名 | |
organizationId | ユーザーの所属組織ID | |
organizationName | ユーザーの所属組織名 | |
アイテム件数分析 | leaderId | リーダーのユーザーID |
leaderName | リーダーのユーザー名 | |
organizationId | プロジェクトの組織ID | |
organizationName | プロジェクトの組織名 | |
statusTypeId | ステータスタイプID | |
statusTypeName | ステータスタイプ名 | |
statusTypeGroupId | ステータスタイプグループID | |
statusTypeGroupName | ステータスタイプグループ名 |
Note
folderID, folderName: 指定フォルダとその配下のフォルダを対象に条件を判定します。