【FileMaker】進捗を見える化する (追記あり:2021/04/23)

今年もやってきました、[Qiita Advent Calendar 2018](https://qiita.com/advent-calendar/2018)、みなさまいかがお過ごしでしょうか。
この25日間、小窓が開くのを毎年楽しみにしている私です。

今回もFileMakerの小窓を開くのにあたり、何がいいか悩みました。
最新のバージョン17に特化した記事にするか、それともどのバージョンでもできそうな小ネタにするか。。。
初心者向けの記事を中心に提供している私としては、やはりどのバージョンでも動くものの方が万人受けするだろうと思い、ほぼどのバージョンでもできる小ネタにしました。

今回は、「進捗を見える化する」です。

どういうことかというと、「どこまでできたかを、職場の言語やレベルを取っ払ってもきちんと把握することができるような見せ方をFileMakerで実装する」ということです。

長ったらしいですが、要は「図的な表現にすれば見栄えもいいし、目に留まる率も高くなるだろう」という見え見え感ありの実装です。

# 動き

まずは、動きを確認してください。
https://youtu.be/s7nUcpbVlGw

どうですか？
動画では、動きとともに実装もチラ見せしていますので、動画だけでも実装の参考になりますよ。

# 実装の詳細

## 単純な入力とラジオボタン
まずは、単純に進捗率の入力として、
・数値入力
・ラジオボタン
の実装です。
これは、誰でも普通に（？）実装する方法ですよね。

![進捗_数値入力.png](https://qiita-image-store.s3.amazonaws.com/0/60538/9ac88ee9-683c-7830-1b5b-157647a3231b.png)
![数値ラジオボタン.png](https://qiita-image-store.s3.amazonaws.com/0/60538/8714bffb-5830-d5db-ee43-98b44e42008b.png)

ただ、ラジオボタンのやり方は、あまりやらないです。
どちらかというと、チェックボタンセットの方が多いのではないでしょうか？
進捗1が終わり、進捗2、進捗3と進む、、、という流れの場合は、それぞれの進捗ごとにチェックできるチェックボタンセットの方が都合いいと思います。
![進捗_チェックボックスセット.png](https://qiita-image-store.s3.amazonaws.com/0/60538/b0f501ff-aaff-ebc1-4d68-cb420e2f76e8.png)

これらのやり方は、単純にFileMakerの「コントロールスタイル」で実装可能です。
![コントロールスタイル.png](https://qiita-image-store.s3.amazonaws.com/0/60538/4eabbaff-7e04-9597-1567-f3730c41ce71.png)

この基本的な実装でも進捗は見える化すると思いますが、これをさらに絵的に仕上げていきましょう。

## ボタンをクリックしたら進捗入力されたことにする
ボタンをクリックしたら、そのステップの進捗が済んだということで、自動で進捗力を入力し、さらに進捗済みであることが一目でわかるようにボタンの色を変える、という仕組みです。
![進捗_ボタン1.png](https://qiita-image-store.s3.amazonaws.com/0/60538/c430874c-29c8-851f-864b-c7b267bb9c1b.png)

この実装は、
・１行スクリプト
・条件付き書式
を使って実装しています。

それぞれのボタンでは、進捗ごとのフィールドに進捗率を自動で入力します。
![進捗_ボタン2.png](https://qiita-image-store.s3.amazonaws.com/0/60538/41c5d559-f443-5302-3f70-ae32f099e93a.png)

条件付き書式では、進捗率が入力されている（20か、それ以外か）かどうかの条件により、文字色と背景色の切り替えを行います。
![進捗_ボタン3.png](https://qiita-image-store.s3.amazonaws.com/0/60538/cd31c2d1-3c70-cf2f-bf92-bd7dd36e29b3.png)
![進捗_ボタン4.png](https://qiita-image-store.s3.amazonaws.com/0/60538/751dccf5-5fc2-76d0-81ad-c5f4f40d5ee2.png)
忘れがちなのは、２個目のOFF状態の時の設定です。
以外と、ベース部分について設定し忘れがちですが、忘れずに基本状態も書式を設定します。

## 進捗バー
次は、ちょっとかっこいい進捗バーの実装です。
![進捗_バー1.png](https://qiita-image-store.s3.amazonaws.com/0/60538/09a7104b-153b-89ef-9afa-13522fcbc766.png)
進捗率っぽいですよね！
この実装は、先ほどのボタンクリックの応用です。

ボタンを隙間なく並べます。
![進捗_バー2.png](https://qiita-image-store.s3.amazonaws.com/0/60538/693cdcbf-99e7-0a32-0c78-1b029e3f20d2.png)
そして、ボタンのフィールド設定や条件付き書式は、先ほどのボタンクリックと同様に仕上げます。

違うところは、ボタン中央に配置したテキストです。
![進捗_バー3.png](https://qiita-image-store.s3.amazonaws.com/0/60538/6f011f69-c78d-fec9-5a16-2e7c24473535.png)
よく見えませんが、進捗率が隠れています。

![進捗_バー4.png](https://qiita-image-store.s3.amazonaws.com/0/60538/638c4b09-9b33-3c28-35a3-3751cc78534d.png)
そのテキストを、進捗率が入力されて全体的なパーセントになったら文字列を表示する、という設定です。
次の進捗2では、全体の進捗率が40%になったら現れます。
そんな感じで、次々とボタンの隠し文字の実装をすると、進捗バーの完成です。

##積み上げてコップの水位のように見せる
次は、先ほどの横に広がった進捗バーを、縦に積み上げてコップの水位のように見せるやり方です。
![進捗_積み上げ1.png](https://qiita-image-store.s3.amazonaws.com/0/60538/f6425c13-06e3-76b2-54f1-4bdbb1b7ed7b.png)

これも単純です。
縦に隙間なく積み上げます。
![進捗_積み上げ2.png](https://qiita-image-store.s3.amazonaws.com/0/60538/092bb10a-9dc4-2c20-b796-6deefe275619.png)
条件付き書式は、今までと同じです。

違うところは、外側（100%、0%）の角を丸くする、というところでしょうか。
コップにこだわるなら、0%の底は丸くしなくてもいいです。
![進捗_積み上げ3.png](https://qiita-image-store.s3.amazonaws.com/0/60538/9cd471d4-36ed-2498-4d11-4b4f30fa45a5.png)

途中にある進捗は、丸くせずにすると、コップに見えます。
![進捗_積み上げ4.png](https://qiita-image-store.s3.amazonaws.com/0/60538/5151b9c4-26bd-761b-5f9a-84acf83906f5.png)

##円図形で表示する
では、入力はないですが、表示のみということで、円図形のような実装を紹介します。
![進捗_円グラフ1.png](https://qiita-image-store.s3.amazonaws.com/0/60538/3d68a812-25eb-e2c0-a648-02cb3f727bde.png)
ちょっとかっこいいですね。

レイアウトモードにすれば、こんな感じで、円が重なっています。
![進捗_円グラフ2.png](https://qiita-image-store.s3.amazonaws.com/0/60538/9618ac5d-5d4d-c8d7-7062-2102cd2c9ab8.png)
やり方は、先ほどのコップの実装を円図形にしただけですが、だいぶ違って見えますよね。
違うところは、円の重ね方です。
↓トンネルのようですよね。
![進捗_円グラフ5.png](https://qiita-image-store.s3.amazonaws.com/0/60538/e30e1cb2-39d8-f25e-081b-da57bc1cdb2e.png)

分解してみます。
![進捗_円グラフ3.png](https://qiita-image-store.s3.amazonaws.com/0/60538/5c7a8591-9304-3248-8e3f-57c6cda2f546.png)
外枠を最下位にして、100%、80%、、、と円を上に重ねていきます。
重ねる順番が逆だと、100%の円が上になるので20%などの小さな円が100%の円に被って思った通りに表示できませんので、注意してください。

##メータ表示
最後に、メーター標識のような表示の仕方です。
さっきの円図形よりもだいぶかっこいいです。
![進捗_メーター1.png](https://qiita-image-store.s3.amazonaws.com/0/60538/230ad9cd-857b-b7be-0b0e-cbf07426a403.png)

レイアウトモードでみてみます。
![進捗_メーター2.png](https://qiita-image-store.s3.amazonaws.com/0/60538/c8a0ddef-5627-ce2a-6a91-5b95f957fccc.png)

これは、小さめの円と大きめの円を重ねています。
![進捗_メーター3.png](https://qiita-image-store.s3.amazonaws.com/0/60538/6ac2a234-8b09-661f-79fc-6b6a2a80547a.png)

小さい円は、背景と同じにすることで、なんとなくメーターっぽくなっています。
![進捗_メーター4.png](https://qiita-image-store.s3.amazonaws.com/0/60538/a3c9f65a-fa91-8d8b-0afb-bcc2c832771c.png)

大きい円は、色をグラデーションすることで、進捗の危険度合い・終了度合いなどを表現しています。
![進捗_メーター5.png](https://qiita-image-store.s3.amazonaws.com/0/60538/034cfa0f-1937-e1a2-a4ba-795cd09234b3.png)

では、メーターの針はどうなっているんでしょう？
![進捗_メーター6.png](https://qiita-image-store.s3.amazonaws.com/0/60538/fbd0c3c3-d93b-a06d-0bc2-6cc41bcfe948.png)
はい、先ほどの円図形の実装と同じく、進捗の累積を計算して針の表示・非表示を行なっています。

#サンプルファイル
今回のサンプルファイルは、GitHubにアップロードしてありますので、ご自由にダウンロードして現場で役立ててください。
Sample_ButtonSwitchProgress.fmp12というファイル名です。
Github Repository : [FileMakerSample](https://github.com/atsukosekiguchi/FileMakerSample)

#まとめ
いかがですか？
進捗の表現もFileMakerで色々実装できますね！
生産現場などでは、複数の工程を経て製品が出来上がるので、生産の進捗を表現する機会は多いと思います。
手軽にFileMakerで進捗を管理し、見える化をしてハッピーになってくださいね。

では、楽しいFileMaker Lifeを！

# 追記(2021/04/23)
FileMaker Pro 19.1以降で利用できる、[アイコン](https://content.claris.com/jpicons)がClaris社から提供されました。
アイコンの中には、メータ表示など進捗を表せるものもありますので、さらにカスタマイズ量が少ないこちらもぜひご活用ください。
![スクリーンショット 2021-04-23 16.33.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/60538/975072a0-6c2c-34e6-4e68-e4fb280fb238.png)