ゴールから始めるPleasanter part1
0.本記事の対象
「こんなことができる」という機能の紹介はWebに溢れていますが、機能を使った実例の解説はあまりないような気がしますので、実例ベースで解説していきます。
基本的にオンプレミス(CommunityEdition=無料版)を前提としています。クラウド版では契約状況によっては使えない機能がある可能性があります。
1.作成するアプリの概要
リンク、タイトルの結合、計算式、サマリなど実際のアプリ作成で使用する機能がたくさん入っていますので、工数管理なんか関係ないよ、という方もぜひトライしてみてください。
ユースケースを簡略化すると図のようなものになります。
詳細を表示する
- XとYのプロジェクトを受注している
- Aさんは両プロジェクトに関わっており、BさんはXのみ、C・DさんはYのみに参加
- プロジェクトYが難航しており、Bさんの参加も検討中(灰色点線)
作成するアプリに求められる要件としては、以下のようなものとします。
- プロジェクトYの画面
- 参加メンバーであるACDについて、このプロジェクトでの工数を入力・表示できる
- 参加メンバーACDの工数を合計し、労務単価を乗じた労務費を自動計算できる
- スタッフの中から参加メンバーを指定できる
- Bに割り当てる工数が過剰にならないよう、他のプロジェクトXも合わせたそれぞれ個人しての工数も表示する。
- Aさんの画面
- 参加しているブロジェクトXとY、それぞれの割当工数を表示
- 参加プロジェクトの工数を合計した値を自動計算のうえ表示
- プロジェクト一覧画面、スタッフ一覧覧画面がある
- プロジェクト単位の画面と、スタッフ単位画面へ簡単に遷移できる
というものです。
これらの実装には他サービスでは有料プラグインの導入や、複雑なコードを書く必要があることが多いと思います。
しかし、Pleasanterなら無料、かつ、ほとんどノーコードで実装可能です。
2.基本的な設計
(角丸四角はレコード、青文字は「リンクの作成」で解説しますが参照しています)
詳細を表示する
3つのテーブルを作成します。真ん中の「PJメンバー」テーブルは、左右のテーブルを親に持ちます。
実際の運用としては、スタッフテーブルは常備しておきます。
案件が発生するとプロジェクトテーブルに新規レコードを作成し、子画面(PJメンバー)でメンバーと工数を設定します。
時々、スタッフテーブルの一覧を見て過剰負荷になっていないか確認するとよいでしょう。
3.作成アプリ(ゴール)
詳細を表示する
PJレコード画面
PJ一覧画面
PJテーブルの子画面として使用されるPJメンバーレコード画面
PJメンバー一覧画面(PJの子画面という位置づけなので一覧の必要性は薄いです。頑張って作成する必要はありません)
スタッフレコード画面
スタッフ一覧画面
4.PJテーブルの作成 No Code
各項目の詳細は以下の表のとおりです。
詳細を表示する
数値項目については特段の記載がない限り、右寄せ・桁区切りを設定しています。
工数は当初予定と実績ベース、それぞれ12カ月分が必要な場合は数値項目の数が26を超える可能性があるため、有償サポート契約およびEnterprise版の導入を検討してください。
表示名 | エディタ | 一覧 | 備考 | |||
---|---|---|---|---|---|---|
項目種類 | 重複禁止 | 既定値 | 読取専用 | |||
PJCD | 説明 | ● | ||||
プロジェクト名 | タイトル | ● | ● | 後述の設定を行い、入力画面で表示されないようにします | ||
案件名 | 説明 | |||||
PJ開始日 | 開始 | |||||
PJ完了(予定)日 | 完了 | ● | ||||
PM | 分類 | ● | ||||
労務単価 | 数値 | 7500 | 既定値は任意の数値で構いません | |||
収支 | 見出し | なくても構いません | ||||
受注額 | 数値 | ● | 小数0桁 | |||
当初予定原価、当初予定利益 | 数値 | 小数0桁 | ||||
当初予定利益率 | 数値 | ● | 書式標準、単位%、小数2桁 | |||
着地見込原価、着地見込利益 | 数値 | ● | ● | 小数0桁 | ||
着地見込利益率 | 数値 | ● | ● | 書式標準、単位%、小数2桁 | ||
工数(h) | 見出し | なくても構いません | ||||
4月~3月、工数合計 | 数値 | ● | 小数2桁 |
プロジェクト名(項目種類:タイトル)については、PJCDと案件名を文字列結合したものとします。次の画像のように設定してください。
(タイトル区切り文字は任意のもので構いません)
タイトルは子テーブルの参照キーであるため重複禁止にすべきですが、案件の名称は年度を跨ぐ場合などに同じものを使用したい場合があります。
したがって、案件名とプロジェクト名を分離し、プロジェクト名は重複禁止のPJCDと案件名の文字列結合とすることでタイトルの重複を防止しつつ、案件名が重複しても問題ないようにしています。
5.PJメンバーテーブルの作成 No Code
表示名 | エディタ | 備考 | |
---|---|---|---|
項目種類 | 読取専用 | ||
プロジェクト名 | 分類 | ||
氏名 | 分類 | ||
タイトル | タイトル | 「氏名」「プロジェクト名」で結合(区切り文字は任意)。入力画面では表示されない | |
4月~3月 | 数値 | 右寄せ・桁区切り・小数2桁 | |
年間工数 | 数値 | ● | 右寄せ・桁区切り・小数2桁 |
6.スタッフテーブルの作成 No Code
表示名 | エディタ | 一覧 | 備考 | ||
---|---|---|---|---|---|
項目種類 | 重複禁止 | 読取専用 | |||
スタッフID | 説明 | ● | ● | 項目種類「ID」は自動付番で使用しにくいため項目種類「説明」で作成 | |
氏名 | タイトル | ● | ● | Pleasanterのユーザと連動させるケースは、追記参照 | |
4月~年間工数 | 数値 | ● | ● | 右寄せ、桁区切り、小数2桁 |
7.テーブルの親子関係(リンク)の作成 No Code
詳細を表示する
PJメンバーが子テーブル、PJとスタッフが親テーブルとなります。
また、図示していませんがPJの画面でPMをスタッフから選択するため、PJテーブルはスタッフテーブルの子という関係も構築します。
Pleasanterでは、親テーブルとなるテーブルに子テーブルをドラッグ&ドロップすることで親子関係を構築できます。
(どっちがどっちかわからなくなりますか? お子さんが親に駆け寄っていくイメージです)
まずはPJテーブルを親、PJメンバーを子とした関係構築を行います。

リンク項目は「プロジェクト名」を選択してください。
表示名は「プロジェクト名」に変更してください。(変更しないと上書きされてしまいます)
PJ画面から子画面としてこのPJメンバー画面を開いた際、PJのタイトル(プロジェクト名)が、このPJメンバー画面のブロジェクト名に設定され非常に便利です。
次にPJメンバーを子テーブル、スタッフを親テーブルとしたリンクをドラッグ&ドロップで作成してください。
リンク項目は「氏名」です。表示名も変更してください。これにより、氏名を、スタッフテーブルの各氏名から選択することができます。
また、PJテーブルのPMをスタッフから選択するため、PJを子テーブル、スタッフを親テーブルとしたリンクもドラッグ&ドロップで作成しましょう。
リンク項目は「PM」です。表示名も「PM」に変更してください。
最終的にテーブルの親子関係は以下のようになります。
8.サマリ(集約集計)の設定 No Code
まずは、PJテーブルを集計先として作成していきます。
詳細を表示する
PJメンバーを開き、「テーブルの管理」から設定します。
「新規作成」を押してください。
「どの項目を」「どこに」「どう集計する」のか指定するダイアログが表示されます。
(PJメンバーテーブルの)「4月」の工数を、PJテーブルの「4月」に「合計する」という意味で画像のように設定してください。
5月~3月まで同様に新規作成してください。
終わりましたら、今度はスタッフテーブルへもサマリ集計が必要なのでデータ保存先の「サイト」を「スタッフ」として、同様に4月~3月まで新規作成してください。
次の画像はすべてのサマリを設定した状態です。(IDや順番は気にする必要がありません)
9.計算式の作成 Low Code +-*/だけ
また、PJテーブルでは工数から労務費を算出し、見込利益や利益率を算出する必要があります。
Pleasanterではこのような計算式も簡単に記述できます。四則計算であればExcelより分かりやすいです。
詳細を表示する
PJテーブルを例に解説しますが、PJメンバーテーブルやスタッフテーブルでも同じですので、コピペしてください。
Pjテーブルを開き、「テーブルの管理」「計算式」から設定します。
「新規作成」を押してください。
表示されるダイアログでは、「4月~3月までを合計し、工数合計に結果を登録する」という意味で画像のように設定してください。
「4月」のように項目の表示名で記述できます。+のような演算子と項目表示名の間は半角空白を空け、
4月 + 5月 + 6月 + 7月 + 8月 + 9月 + 10月 + 11月 + 12月 + 1月 + 2月 + 3月
というように記述(コピぺ可)してください。
あとの計算式は原価や利益、利益率に関するものとなります。画像のように設定してください。
なお、計算式は上から順に実行されますので、工数合計を使用する式を工数合計算出前に置いたり、原価を求める前に利益額を算出しないようにしてください。
PJメンバーテーブルと、スタッフテーブルについても4月~3月の年間工数を算出する式を同様に登録してください。
10.仕上げ1(リンク表示項目の調整) No Code
他画面に表示される情報を整えるためには、リンクしているテーブルで設定する必要があります。
詳細を表示する
まず、「PJ」を開き、「テーブルの管理」から以下のように設定してください。
これで、「スタッフ」「PJメンバー」の画面で案件の概要が表示されるようになりました。
次に「PJメンバー」について、同様に以下のように設定してください。
これで、「スタッフ」画面では自分の参加しているPJの各月の工数、「PJ」の画面では案件に参加している人の氏名と各月の工数が表示されるようになりました。
同様に「スタッフ」について、以下のように設定してください。
これで、「PJメンバー」画面では自分のすべての月の工数が表示されるようになります。
また、「PJ」の画面でもPMのすべての月の工数が表示されるようになりますが・・・PM1人載っても意味がなく混乱の元ですので次の方法で表示されないようにします。
「PJ」を開き、「テーブルの管理」から以下のように設定してください。
これを行うことで、余計な「スタッフ」の情報が表示されなくなり、「PJメンバー」の情報が残ることになります。
11.仕上げ2(一覧での集計の調整) No Code
集計したいテーブルの「テーブルの管理」から設定します。
詳細を表示する
一覧での集計の設定を行います。
集計したいテーブルの「テーブルの管理」から設定します。
「分類無し」を選択した状態で「追加」ボタンを押すと、左側に項目が追加されます。
追加された「分類無し(件数)」を選択し、「詳細設定」ボタンを押してください。
表示された詳細設定ダイアログで、「集計種別」を「合計」にしてください。
「集計対象」は集計したい項目を選択してください。
これを集計したい項目の数だけ繰り返して設定します。
これで一通り終了となります。
どこまで作り込むかですが、まずは業務要件を満たすものを標準機能の範囲で完成させ、それ以上のものは少しづつ開発すると良いと思います。
基本的には内部システムの内製化ツールであり、販売品ではないことから、多少のUI面には目をつぶる割り切りも重要です。
スクリプトなどは確かに便利でより完成度の高いシステムを作成することができますが、属人化の発生要因となりノーコード・ローコードツールの良さが失われてしまう危険がありますので、業務要件を満たせない場合を除き、導入は慎重に検討してください。
12.運用
詳細を表示する
案件が発生すると、「PJ」テーブルで案件を登録します。
画面下部の「リンク」から「PJメンバー」のボタンを押すと、子画面として「PJメンバー」の画面が開きます。
「PJメンバー」の画面で、「氏名」からアサインされたスタッフを選択します。
(制限事項:1つの案件で同じ人を何回も登録できてしまいます。防止するにはコードを書く必要があるため、今回は割愛します)
工数はまず予定工数を入力しておき、その後、毎月、実際の工数で上書きしていきます。
なお、画面下部にはそのメンバーの他のPJも合わせた工数が表示されていますので、過剰な工数を割当てないように注意します。
スタッフ全員の工数の状況を見たい場合は、「スタッフ」テーブルを開きます。
一覧表を見て、工数状況が気になるスタッフがいたら、個人画面を開いて参加しているプロジェクトとそれぞれの工数を確認するようにしましょう。
13.追記(Pleasanterユーザとの連動) Low Code 単語
ところが、別途、スタッフがPleasanterユーザーとして登録されている場合、わざわざ氏名を再度手入力するのは手間です。
そこで、Pleasanterのユーザ情報を使用して、スタッフテーブルに簡単に人を追加する方法となります。
詳細を表示する
解決策としては、表示名「ユーザ」(項目種類=分類)を作成します。
また、表示名「氏名」(項目種類=タイトル」)については、タイトル結合を用いて「ユーザ」を参照するようにします。
表示名 | エディタ | 一覧 | 備考 | ||
---|---|---|---|---|---|
項目種類 | 重複禁止 | 読取専用 | |||
スタッフID | 説明 | ● | ● | PleasanterユーザのユーザIDと連動させたい場合はルックアップ機能(ローコード)を使用(今回は省略) | |
氏名 | タイトル | ● | タイトル結合を使用して、ユーザの値がそのまま入るようにする | ||
ユーザ | 分類 | ● | 選択肢一覧に[[Users]]と登録し(大かっこ×2はそのまま入力)、Pleasanterユーザを選択肢にする | ||
4月~年間工数 | 数値 | ● | ● | 右寄せ、桁区切り、小数2桁 |