kintone(キントーン)のアプリ設計において、テーブル機能はその便利さから多くのユーザーに活用されています。
しかし、このテーブル機能は多くのデメリットも持ち合わせており、その特性を理解せずに使用すると、後々の運用で問題が発生する可能性があります。
本記事では、kintoneのテーブル機能の概要から、利用時に注意すべき具体的なデメリット、そしてテーブル機能を使うべき場面について詳しく解説します。
なお、ペパコミ株式会社では、「kintone」を活用した業務支援を行っています。業務効率化にお悩みの方は、ぜひ以下からお気軽にご相談ください。
kintoneのテーブル機能とは
kintoneのテーブル機能は、kintoneアプリのフィールドの一つです。この機能は、見積書や請求書の明細のように、複数の行を追加できる特徴があります。
例えば、見積もり明細を作成する際、品名や金額などの項目を必要な分だけ行として追加できます。
テーブルとして設定された行は、見出しが青色で表示されます。この機能は、複数の項目をまとめて入力し、全体の合計値を計算フィールドで表示する際に便利と感じる場面があります。しかし、その見た目や操作性には、すでにデメリットが存在しています。
kintoneのテーブル機能がもつデメリット
kintoneのテーブル機能は、その利便性の裏で多くのデメリットを「諸刃の剣」として含んでいます。
これらのデメリットを十分に理解してからテーブル機能を使用しなければ、後に後悔する可能性が高いです。
主なデメリットとして、以下が挙げられます。
- 一覧表示ができない
- ルックアップ取得ができない
- 関連レコード表示ができない
- スマホが見づらい
- テーブル内でユニークが作れない
- CSV出力時が見づらい
- テーブル内のデータに通知やアクセス権などの機能が設定できない
それぞれ解説します。
一覧表示ができない
テーブル機能の最初のデメリットは、テーブル内のデータが一覧表示できない点です。アプリのレコード一覧画面でテーブルの内容を直接表示する機能はもつていません。
テーブルの内容を確認するには、レコードの詳細画面を開いて「表示する」ボタンを押す必要があります。しかし、この表示方法も決して見やすくはありません。データの一覧性が低いことは、全体の状況把握を困難にする原因となります。
ルックアップ取得ができない
ルックアップ機能は、他のアプリから関連する情報を自動的に取得する非常に便利な機能です。例えば、顧客マスタアプリから顧客名を選択すると、その顧客に紐付く担当者名などの情報が自動で入力されます。
しかし、kintoneのテーブル機能では、テーブル内のデータをルックアップで取得することはできません。
顧客マスタアプリにテーブルが設定されており、そのテーブル内のデータを取り込みたい場合でも、ルックアップ機能では対応できません。これは、複数のアプリ間で複雑なデータ連携を行いたい場合に大きな制約となります。
関連レコード表示ができない
関連レコード表示機能は、現在のレコードに関連する他のアプリのレコード情報をまとめて表示する機能です。
例えば、顧客管理アプリで顧客情報を開いた際に、活動履歴アプリに記録された過去の打ち合わせ履歴を一覧で表示できます。これにより、顧客に関するすべての情報を一目で確認できます。
しかし、テーブル内のフィールドは、この関連レコード表示機能で表示できません。他のアプリで入力されたテーブル内の詳細な情報を、関連レコードとして集約して確認できないため、情報の全体像を把握しにくくなる場合があります。
スマホが見づらい
kintoneのテーブル機能は、スマートフォンでの利用時に非常に見づらくなるという大きなデメリットをもちます。
パソコンでは横一列に並んで入力できるテーブルフィールドも、スマートフォンでは一つのフィールドが横一列を占有します。
例えば、「品名」「金額」「備考」という3つの項目がある場合、スマートフォンではそれぞれが1行ずつ表示され、3行分のスペースを消費します。
行を追加するたびにさらにスペースが消費されるため、5行や10行といった入力が必要な場合、画面を何度もスクロールしなければなりません。
これは、外出先や現場でスマートフォンからデータを入力する業務において、作業効率を著しく低下させ、入力ミスを引き起こす可能性を高めます。
テーブル内でユニークが作れない
複数のkintoneアプリ間でデータを連携させたり、他のシステムからのデータを取り込んでテーブル内の既存データを更新したりする場合、データの特定に「ユニークコード」と呼ばれる重複しない識別子が必要となります。
例えば、商品マスタアプリの商品価格が変更された際に、別のアプリのテーブル内にある該当商品の価格を自動で更新したい場合、ユニークコードによって特定の行を識別し、処理を実行します。
しかし、テーブルの標準機能では、このユニークコードを自動で作成することはできません。ユニークコードを作成するには、プラグインなどの追加機能が必要となる場合が多く、テーブル単体での高度なデータ連携には制約があります。
CSV出力時が見づらい
kintoneからデータをCSV形式で出力する際、テーブルデータは通常のデータとは異なる形式で出力されます。
一つのレコードに対してテーブル内の各行が複数行として出力されるため、データの構造が複雑になり、視認性が低下します。
CSV出力されたデータを加工したり、他のシステムに取り込んだりする際に、特別な処理や注意が必要となる場合があります。これは、データ連携や分析作業の手間を増加させる原因となります。
テーブル内のデータに通知やアクセス権などの機能が設定できない
kintoneには、特定の条件を満たした際に通知を飛ばしたり、特定のユーザーグループにのみデータを表示させたりするアクセス権の設定が可能です。
これらの機能は、業務の効率化やセキュリティの維持に貢献します。しかし、テーブル内の個々のフィールドに対して、これらの通知やアクセス権の設定はできません。
テーブル全体のレコードに対しては設定できますが、テーブル内の特定の行や項目に対して詳細な制御を行えないため、細やかな運用が必要な場合には課題となります。
kintoneでテーブル機能を使用するべき場面
kintoneのテーブル機能は、そのデメリットが多いため、使用する場面を慎重に選ぶ必要があります。
基本的には、一つのアプリ内でテーブルを2つ、3つと複数使用するケースは稀です。kintoneの公式見解においても、これはデータベースとしての正しい設計ではないとされています。
テーブル機能は、見積もり明細や請求明細のように、行数が定まっておらず、かつ詳細項目を一つにまとめる必要がある場合に限定して使用することが推奨されます。
例えば、品名、数量、単価といった項目を、必要なだけ追加していくようなケースです。
安易にテーブル機能を利用すると、運用開始後に多くの不便や問題に直面し、大きな後悔につながる可能性があります。
kintoneで脱テーブルを目指して正しくアプリを設計しましょう
kintoneのアプリ設計においては、「脱テーブル」を目指すくらい慎重な姿勢で臨むことが重要です。データベースとしての適切な考え方をもち、テーブルのデメリットを理解した上で、正しいアプリ設計を行いましょう。
なお、ペパコミ株式会社では、「kintone」を活用した業務支援を行っています。業務効率化にお悩みの方は、ぜひ以下からお気軽にご相談ください。
コメント