Skip to content

工数分析

説明

工数ファクトとディメンションにクエリを行うことで分析データを取得します。
パラメータの詳細は「分析APIのファクトとディメンション」、「条件式の使い方」を参照してください。

必要権限

なし

URL

POST /analytics/timeEntities

リクエストボディ

名前 必須か 説明
fields Field[] × 集計対象のフィールドと集計方法を指定します。
groups Group[] × 集計の分析軸となるディメンションとグループ化の粒度を指定します。
filterBy Condition 条件に合致した値を集計するための条件式を指定します。
filterScope string × 条件式のフィールドに organizationId が指定された場合のみ有効。それ以外は無視します。
所属組織または所属ユーザーグループでのフィルタにおいて、直接の所属か末端までのいずれかに所属するかの判定方法を指定します。

children:直属での判定
descendants:末端までのいずれかで判定

レスポンス

名前 説明
factData FactData[] 集計結果

エラーケース

  • 集計対象のフィールドが未指定
  • 集計対象のフィールドが値域外
  • 集計対象のフィールドに同じフィールドを複数指定した
  • 集計方法が未指定
  • 集計方法が値域外
  • ディメンションが未指定
  • ディメンションが値域外
  • グループ化の粒度が未指定
  • グループ化の粒度が値域外
  • 条件式の演算子の種類が値域外
  • 条件式の比較演算子の左オペランドが存在しない
  • 条件式の比較演算子の右オペランドが存在しない
  • 条件式の比較演算子のオペランドが成立していない(左右のオペランドが逆転しているなど)
  • 条件式のオペランドの種類が値域外
  • 条件式のフィールド名が空
  • 条件式の指定したフィールドが存在しない
  • 条件式の比較演算子の左オペランドと右オペランドの型が一致しない
  • フィールド名、値の文字数が256文字より多い

特記事項

  • コスト閲覧権限がない場合、計画コスト、実績コストは 0 で取得されます。
  • 本 API は Professional エディションでのみ使用可能です。

サンプル

プロジェクト内のユーザー別の実績工数を取得する

リクエスト
POST /analytics/timeEntities
{
    "fields": [
        {
            "name": "actualTime",
            "calcBy": "sum"
        }
    ],
    "groups": [
        {  
            "name": "date",  
            "granularity": "month"  
        },
        {
            "name": "project",  
            "granularity": "project"  
        },
        {
            "name": "user",
            "granularity": "user"
        }
    ],
    "filterBy": {
        "type": "And",
        "children": [
            {
                "type": "Eq",
                "left": {
                    "name": "projectId",  
                    "type": "field"
                },  
                "right": {  
                    "type": "value",  
                    "value": "4"
                }
            },
            {
                "type": "Ge",
                "left": {
                    "type": "field",
                    "name": "date"
                },
                "right": {
                    "type": "value",
                    "value": "2018/12/01"
                }
            },
            {
                "type": "Le",
                "left": {
                    "type": "field",
                    "name": "date"
                },
                "right": {
                    "type": "value",
                    "value": "2018/12/31"
                }
            }
        ]
    }
}
レスポンス
200 OK

{
    "factData":[
        {
            "values":{
                "date":"2018/12/01 0:00:00",
                "projectId":"4",
                "projectName":"R商品開発",
                "userId":"14",
                "userName":"山本 博",
                "actualTime":"5550"
            }
        },
        {
            "values":{
                "date":"2018/12/01 0:00:00",
                "projectId":"4",
                "projectName":"R商品開発",
                "userId":"21",
                "userName":"岡本 直哉",
                "actualTime":"1740"
            }
        },
        {
            "values":{
                "date":"2018/12/01 0:00:00",
                "projectId":"4",
                "projectName":"R商品開発",
                "userId":"23",
                "userName":"植田 信貴",
                "actualTime":"3840"
            }
        }
    ]
}

型定義

Group

名前 必須か 説明
name string ディメンション表の名前
granularity string グループ化の粒度

Field

名前 必須か 説明
name string フィールドの名前
calcBy string フィールドの集計方法

FactData

名前 必須か 説明
values <string, string> 集計結果のフィールドと値