1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

メールで送られてくる週報が、期限通りに提出されているかの集計を自動化する

Posted at

動機

自分の会社ではメールで週報をチーム内で送付しており、これが期限通りに出されているか部門内でチェックしている。これまではそれは手動集計していたが、手間もかかるのでPowerAutomateで自動化したい。

中身の確認はまた別の話題として、ここでは期限までに間に合っているか、のみを確認する。

またそもそもそういう形式の週報は時代遅れ、みたいな話もあると思うが、いったんそれも置いておく。

Listの準備

結果を登録するためのListを作成する。

項目 種類 補足
タイトル 文字列 デフォルトであるカラムなので適当に使う
受信日 日時
送信者 ユーザー
週報の対象期間 日時
判定 選択肢 OK, Late, Too Late

判定は文字列でもいいのだが、選択肢の方がListを見たときに色で識別できて、なんとなくわかりやすいので選択肢にしている。

ワークフロー作成

全体感は以下

image

新しいメールが届いたとき(V3)

これはそのまんまなので割愛。仕訳ルールなどで、特定のフォルダに仕分けしておいた方がやりやすいだろう。

条件4(RE:の除外)

これもほぼそのままだが念のため。もっとうまい方法ありそうだけど。
image

変数を初期化する(週報の対象期間の初日を取得)

image

split(triggerOutputs()?['body/subject'], ' ')[4]

自分の場合、件名にその週報が対応する期間の記載があるので、この方法で対象の期間を指定している。以下のような件名から、「2022/06/27」を抜き出す。

例: 【チーム名】[文字列] - 週報 2022/06/27 - 2022/07/03 XXXX

変数を初期化する2(何日遅れか)

image

int(split(dateDifference(triggerOutputs()?['body/receivedDateTime'],formatDateTime(variables('期間'))),'.')[0])

こちらのような式で、提出がどのくらい遅れているかを整数で取得する。

変数を初期化する3(遅れ具合の判定)

いったん遅れ具合を判定する変数を作る。定義時に細かい条件分けできないので、いったんOKをデフォルトとして、受け皿を作る感じ。

image

条件2(遅れ具合の判定)

image

自分の場合、翌週の火曜日までに提出するので、9日遅れまでをOKとして、2週間以上の遅れをToo Lateとしている。

項目の作成

image

後は用意したListに追加するだけ

さらに

List化しているので、これをPower BIなどで可視化するとより見やすくなるだろう。

またこれだと、「そもそも出していない」人は識別できないので、注意が必要。

1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?