annofab reshape_working_hours#

Description#

Annoworkの実績作業時間とアサイン時間、Annofabの作業時間を比較できるようなCSVファイルに成形します。

Examples#

以下のコマンドは、2022-01-01から2022-01-31までの期間で、Annoworkの実績作業時間とアサイン時間、Annofabの作業時間を、ユーザごとに比較したCSVを出力します。 出力結果詳細は後述を参照してください。

$ annoworkcli annofab reshape_working_hours --workspace_id org --shape_type total_by_user \
 --start_date 2022-01-01 --end_date 2022-01-31 --output total_by_user.csv

annoworkcli annofab list_working_hours コマンドと annoworkcli schedule list_daily コマンドの出力結果を用いて、annoworkcli annofab reshape_working_hours コマンドを実行することもとできます。

$ annoworkcli annofab list_working_hours --workspace_id org \
 --start_date 2022-01-01 --end_date 2022-01-31 --output actual.csv

$ annoworkcli  schedule list_daily --workspace_id org \
 --start_date 2022-01-01 --end_date 2022-01-31 --output assigned.csv

$ annoworkcli annofab reshape_working_hours --workspace_id org \
 --actual_file actual.csv --assigned_file assigned.csv --shape_type total_by_user --output total_by_user.csv

出力結果#

列名#

列名の内容は以下の通りです。

  • assigned_working_hours : Annoworkのアサイン時間

  • actual_working_hours : Annoworkの実績時間

  • monitored_working_hours : Annofabの作業時間(Annofabのアノテーションエディタで計測された作業時間)

  • activity_rate : アサイン時間に対する実績作業時間の比率( = actual_working_hours / assigned_working_hours

  • activity_diff : アサインに対する実績作業時間の差分( = assigned_working_hours - actual_working_hours

  • monitor_rate : 実績作業時間に対する計測作業時間の比率( = monitored_working_hours / actual_working_hours

  • monitor_diff : 実績作業時間に対する計測作業時間の差分( = actual_working_hours - monitored_working_hours

--shape_type details#

日付ごとユーザごとに作業時間を集計したファイルです。 行方向に日付、列方向にユーザが並んでいます。

details.csv#

index

総合計

総合計

総合計

総合計

総合計

Alice alice

Alice alice

Alice alice

Alice alice

Alice alice

Bob bob

Bob bob

Bob bob

Bob bob

Bob bob

assigned_working_hours

actual_working_hours

monitored_working_hours

activity_rate

monitor_rate

assigned_working_hours

actual_working_hours

monitored_working_hours

activity_rate

monitor_rate

assigned_working_hours

actual_working_hours

monitored_working_hours

activity_rate

monitor_rate

合計

23.0

24.5

23.48

1.07

0.96

11.0

12.5

11.74

1.14

0.94

12.0

12.0

11.73

1.0

0.98

2022-01-17

11.5

13.0

12.58

1.13

0.97

5.5

7.0

6.66

1.27

0.95

6.0

6.0

5.92

1.0

0.99

2022-01-18

11.5

11.5

10.9

1.0

0.95

5.5

5.5

5.08

1.0

0.92

6.0

6.0

5.82

1.0

0.97

--shape_type total_by_user#

ユーザごとに作業時間を集計します。

total_by_user.csv#

user_id

username

company

assigned_working_hours

actual_working_hours

monitored_working_hours

activity_rate

activity_diff

monitor_rate

monitor_diff

alice

Alice

U.S.

44.0

81.0

76.8

1.84

0.54

0.95

4.2

bob

Bob

Japan

0.0

77.0

73.82

inf

0.0

0.96

3.18

--shape_type total_by_job#

ジョブごとに作業時間を集計します。 ジョブにはアサイン時間が紐付いていないので、アサイン時間に関連する列は出力されません。

total_by_job.csv#

job_id

job_name

annofab_project_id

actual_working_hours

monitored_working_hours

monitor_rate

monitor_diff

moon

MOON

af_moon

71.92

66.9

0.93

5.01

mars

MARS

af_mars

190.32

176.76

0.93

13.55

--shape_type total_by_parent_job#

親ジョブごとに作業時間を集計します。

total_by_parent_job.csv#

parent_job_id

parent_job_name

assigned_working_hours

actual_working_hours

monitored_working_hours

activity_rate

activity_diff

monitor_rate

monitor_diff

planet

PLANET

0.0

71.92

66.9

inf

0.0

0.93

5.01

galaxy

GALAXY

0.0

228.65

208.63

inf

0.0

0.91

20.02

--shape_type total_by_user_parent_job#

ユーザごと親ジョブごとに作業時間を集計します。

total_by_user_parent_job.csv#

user_id

username

parent_job_id

parent_job_name

assigned_working_hours

actual_working_hours

monitored_working_hours

activity_rate

activity_diff

monitor_rate

monitor_diff

alice

Alice

planet

PLANET

4

4

3.31

1

1

0.83

0.69

bob

Bob

planet

PLANET

0

3.78

3.36

inf

0

0.89

0.42

bob

Bob

galaxy

GALAXY

4

1.72

1.47

0.43

2.33

0.85

0.25

--shape_type total_by_user_job#

ユーザごとジョブごとに作業時間を集計します。

total_by_user_job.csv#

user_id

username

job_id

job_name

parent_job_id

parent_job_name

actual_working_hours

monitored_working_hours

monitor_rate

monitor_diff

alice

Alice

moon

MOON

solar_system

SOLAR SYSTEM

4

3.31

0.83

0.69

alice

Alice

mars

MARS

solar_system

SOLAR SYSTEM

1.72

1.47

0.85

0.25

bob

Bob

mars

MARS

solar_system

SOLAR SYSTEM

3.78

3.36

0.89

0.42

--shape_type total#

作業時間を合計します。

total.csv#

assigned_working_hours

actual_working_hours

monitored_working_hours

activity_rate

activity_diff

monitor_rate

monitor_diff

3885.83

6722.83

8052.89

1.73

0.58

1.2

-1330.06

--shape_type list_by_date_user_job#

作業時間の一覧を日付、ユーザ、ジョブ単位で出力します。 ジョブはAnnofabプロジェクトと紐づけることが可能なので、Annofabの作業時間も出力されます。

list_by_date_user_job.csv#

date

user_id

username

job_id

job_name

parent_job_id

parent_job_name

annofab_project_id

annofab_project_title

actual_working_hours

monitored_working_hours

monitor_rate

monitor_diff

notes

2021-01-01

alice

Alice

moon

MOON

solar_system

SOLAR SYSTEM

af_moon

af_moon

0.0

0.74

inf

-0.74

2021-01-01

bob

Bob

mars

MARS

solar_system

SOLAR SYSTEM

af_mars

af_mars

3.83

2.36

0.62

1.47

--shape_type list_by_date_user_parent_job#

作業時間の一覧を日付、ユーザ、親ジョブ単位で出力します。 ジョブにはアサイン時間が紐付いていないので、アサイン時間に関連する列は出力されません。

list_by_date_user_parent_job.csv#

date

user_id

username

parent_job_id

parent_job_name

actual_working_hours

monitored_working_hours

monitor_rate

monitor_diff

2021-01-01

alice

Alice

planet

PLANET

0.0

0.74

inf

-0.74

2021-01-01

bob

Bob

planet

PLANET

3.83

2.36

0.62

1.47

Usage Details#

Annoworkの実績作業時間とアサイン時間、Annofabの作業時間を比較できるようなCSVファイルに成形します。 レポートとして利用できるようにするため、以下を対応しています。

  • 小数点以下2桁目まで表示

  • 比較対象の比率と差分を表示

  • workspace_member_idなどGUIに直接関係ない項目は表示しない

usage: annoworkcli annofab reshape_working_hours [-h] [--debug]
                                                 [--annowork_user_id ANNOWORK_USER_ID]
                                                 [--annowork_password ANNOWORK_PASSWORD]
                                                 [--endpoint_url ENDPOINT_URL]
                                                 [-w WORKSPACE_ID]
                                                 [--actual_file ACTUAL_FILE]
                                                 [--assigned_file ASSIGNED_FILE]
                                                 [-u USER_ID [USER_ID ...]]
                                                 [-pj PARENT_JOB_ID [PARENT_JOB_ID ...]
                                                 | -j JOB_ID [JOB_ID ...] |
                                                 -af_p ANNOFAB_PROJECT_ID
                                                 [ANNOFAB_PROJECT_ID ...]]
                                                 [--start_date START_DATE]
                                                 [--end_date END_DATE]
                                                 --shape_type
                                                 {details,total_by_user,total_by_parent_job,total_by_job,total_by_user_parent_job,total_by_user_job,total,list_by_date_user_parent_job,list_by_date_user_job}
                                                 [--parallelism PARALLELISM]
                                                 [-o OUTPUT]
                                                 [--annofab_user_id ANNOFAB_USER_ID]
                                                 [--annofab_password ANNOFAB_PASSWORD]
                                                 [--annofab_pat ANNOFAB_PAT]

Named Arguments#

-w, --workspace_id

対象のワークスペースID。未指定の場合は環境変数`ANNOWORK_WORKSPACE_ID`を使用します。

--actual_file

annoworkcli annofab list_working_hours コマンドで出力したファイルのパスを指定します。未指定の場合は annoworkcli annofab list_working_hours コマンドの結果を参照します。

--assigned_file

annoworkcli schedule list_daily コマンドで出力したファイルのパスを指定します。未指定の場合は annoworkcli schedule list_daily コマンドの結果を参照します。

-u, --user_id

絞り込み対象のユーザID

-pj, --parent_job_id

絞り込み対象の親のジョブID。 指定すると、actual_fileのjob_idの親ジョブ、assigned_fileのjob_idで絞り込まれます。

-j, --job_id

指定すると、actual_fileのjob_idで絞り込まれます。assigned_fileに対応するジョブはないので、assigned_fileは参照されません。

-af_p, --annofab_project_id

指定すると、actual_fileのjob_idに紐づくAnnofabのproject_idで絞り込まれます。assigned_fileに対応するジョブはないので、assigned_fileは参照されません。

--start_date

集計開始日(YYYY-mm-dd)

--end_date

集計終了日(YYYY-mm-dd)

--shape_type

Possible choices: details, total_by_user, total_by_parent_job, total_by_job, total_by_user_parent_job, total_by_user_job, total, list_by_date_user_parent_job, list_by_date_user_job

CSVの成形タイプを指定します。

  • details: 日付ごとユーザごとに作業時間を集計します。

  • total_by_user: ユーザごとに作業時間を集計します。

  • total_by_job: ジョブごとに作業時間を集計します。 --assigned_file は不要です。

  • total_by_parent_job: 親ジョブごとに作業時間を集計します。

  • total_by_user_parent_job: ユーザーごと親ジョブごとに作業時間を集計します。

  • total_by_user_job: ユーザーごとジョブごとに作業時間を集計します。

  • total: 作業時間を合計します。

  • list_by_date_user_job: 作業時間の一覧を日付、ユーザ、ジョブ単位で出力します。 --assigned_file は不要です。

  • list_by_date_user_parent_job: 作業時間の一覧を日付、ユーザ、親ジョブ単位で出力します。 --assigned_file は不要です。

--parallelism

並列度。指定しない場合は、逐次的に処理します。

-o, --output

出力先

--annofab_user_id

Annofabにログインする際のユーザID

--annofab_password

Annofabにログインする際のパスワード

--annofab_pat

Annofabにログインする際のパーソナルアクセストークン

global optional arguments#

--debug

HTTPリクエストの内容やレスポンスのステータスコードなど、デバッグ用のログが出力されます。

--annowork_user_id

Annoworkにログインする際のユーザーIDを指定します。

--annowork_password

Annoworkにログインする際のパスワードを指定します。

--endpoint_url

Annowork WebAPIのエンドポイントを指定します。指定しない場合は https://annowork.com です。