シートはスマートシートにおいて情報を格納、処理等する上での基本的なアイテムです。スプレッドシートのように行と列からなる単純な構造ですが、ナレッジワーカーが仕事を効率的に行えるような沢山のスマートな工夫が盛り込まれています。
行のインデント構造
スマートシートのシートはアウトライナーのようにツリー構造で行を論理的に構成することができます。スマートシートではこれをインデントといい、最も上位にある行をParent 親、その下位にある行をChildren 子とよんでいます。
論理的構成が可能である
情報を行単位で格納する場合、色々な方法が考えられます。例えば、時系列、これはある種のインデックスを使って情報に早くたどり着けるようにするものと言えます。 その中で、ツリー構造は最も人間の思考方法に近く、必要な情報に素早くたどり着くことができます。これは同様の考え方を使ったアウトライナー、マインドマップを考えてみればご納得いただけると思います。 スマートシートはその情報格納の中心となるシートの行にこのツリー構造を取り入れ情報の論理的構成を可能としました。 このツリー構造は他の情報配列方法、例えば、前述の時系列と併用することもできますので、大項目、中項目とツリー構造で作って、その下は時系列に行を並べる、といったことが可能です。
何千行もの行の管理が容易に行える
インデントによってツリー構造化された行は、簡単に折りたたむ(collapse)、あるいは、開く(open)することができます。 スマートシートは最大20,000行が利用可能ですが、このようにインデントを使うと何千行もの行もマネジャブルになります。 例えば、支社や支店の業務状況をシートで管理する場合を想定しますと、年度、月、というインデント構造を用いれば、数年度にわたる数千行の支社や支店の業務状況を記録した行も年度単位でまとめることにより、1枚のシートで管理することも可能です。 同様に大きな組織、例えば、日本郵便の場合を想定すると、2万を超える郵便局を支社、県等のインデントにより構造化することが想定されます。(なお、郵便局はスマートシートの最大20,000行という制約を超える郵便局数なので、レポートの機能を使ってこの制約を回避します。これについては、別の機会にご説明したいと思います。)
階層関数が利用できる
例えば、=SUM(CHILDREN()) という関数を親(Parent)行に記述すると、インデントによってその行の子になっている行の合計を計算することができます。これは、同じ階層に行化追加されても維持されます。 すなわち関数処理ができるデータについて、インデントによって作られた階層構造(親子構造)に基づいた処理ができます。
行単位で付加できる情報
スマートシートでは行単位でファイルを添付したり、その行の内容についてのコメント(会話)を記録したり、関連するファイルの校正をおこなったり、リマインダーを設定することができます。
この行単位の情報付加により行の内容に関連する情報を一元的に管理することが可能です。
ファイルの添付
例えば、その行がある顧客に対する商品の提案に関する行だとします。 この場合、提案として顧客に渡した商品の概要のPDF、あるいは、見積書のファイルを添付することが考えられます。 このようにその行の内容に関連する情報でファイルとして保存されるものは一元的に行の添付ファイルとして管理することができます。
行のコメント
スマートシートはシート単位で共有を受けた共同作業者、行単位で更新リクエストを受けた外部のコラボレーターか、行に関するコメントを受けることができます。 先程のある商品に対する商品の例でいうと、シートの共有者が見込み顧客に関する情報をコメントで追加する、といったことが可能でしょう。 また、後からこのシートに関する業務に加わった担当者はその行に関するコメントを確認することができます。これまでのメール中心の業務だと後から来た担当者はこれまでどのようなやり取りがあったかを把握することが困難ですが、行単位である事項に関する情報が集約されていれば、容易にこれまでの経緯を把握することができます。
ファイル校正機能
行に校正用ファイルをアップロードし、同僚、ベンダー、クライアントなどにレビュー リクエストを送信することができます。 校正の機能については、別の機会に詳しく説明しますが、関係者の承認を必要とする文書、イメージなどのファイルを添付することができます。関係者はどの部分が修正が必要かなど指し示しながらコメントを行い、また、承認等行うことができます。また、版の管理も可能です。 この機能は比較的新しく追加されたため、私はまだ実務で使った経験はありませんが、大きな可能性を秘めた機能であると思われます。
行のリマインダー
これは行単位で日付を定めメールアドレスで指定する一定の対象者にメッセージを付してリマインダーを送付できる機能です。 例えば、特定のタスクの開始予定日についてリマインダーを設定すれば、プロジェクトを順調に進めることができます。 リマインダーは自分自身にも送ることができますので、この場合はタスクの開始予定日として設定した日の3日前にその旨自分自身あてにリマインダーを送付するよう予め設定しておくことができます。
列の属性指定
スマートシートではプライマリー列以外の列について列の属性を列プロパティとして指定します。列の属性の指定により同じ列に種類の異なるデータが混入するといったことがなくなり、データの整合性が向上するとともに、属性に基づいたスマートシートのスマートな工夫・機能を活用することができます。
属性の種類
列の属性・プロパティーについては、別に詳しく説明する予定ですが、ここではどのような属性があり、どのような用途があるかを概観します。
- 文字・数字:文字、数字の属性プロパティはデフォルトの属性で文字、数字に加えて式の情報を付加することができます。
- 連絡先リスト:メールアドレスが入力できます。スマートシートではこのメールアドレス情報を利用して一定の条件が整った場合、その行の連絡先リストに、更新リクエストを送ったり、リマインダーを送ったり、承認リクエストを送ったり、といったことが可能です。
- ドロップダウン リスト:リストの中から単一、または、複数を選択することができる列です。入力者の情報を予め一定のリストの中に成約することで、行の属性の分類を容易にします。様々な使い方が可能ですが、例えば、組織のリストから選択させればその行がどの組織に関わるものかを明確にすることが可能となります。カードビューでの分類単位やフィルターやレポートにおける絞り込み等様々な場面で利用されます。なお、カードビューが可能なのは単一選択のドロップダウンリストです。
- チェックボックス:チェックが有るか無いかの01の列です。一般的にタスクの完了時にチェックをつけるといった使い方をしますが、例えば、チェックを行うと、それを契機として、承認リクエストのワークフローを起動させる、あるいは、チェックのついてもののみ、別のレポートにまとめて会議の発表用に使う、といった使い方が可能です。
- 記号:3色または4色の●、フラッグ🏴、0から5のハートマーク❤❤❤❤❤といったように、視覚的わかりやすい記号が入力される列です。プロジェクトのタスクの状態について、危機的状況の場合「赤丸」、順調な場合「緑丸」といったステータスをわかりやすく示す場合によく使われます。
- 自動番号割当・システム:自動番号割当は一定のルールに従って行に番号を割り振っていくもので、表示形式の指定で営業-0000321-見積といったようなプレフィックス(ここでは「営業-」)、サフィックス(同じく「-見積もり」)、桁数、開始番号を指定できます。 システムからは、その行の作成日時分情報、作成者情報、更新日時分情報、更新者情報を取得、列に自動追加可能です。具体的用途については、別の機会に説明します。
プライマリー列
プライマリー列は「この列の値は通常、各行の主な記述子となります。」と解説されており、行の表札のようなものといっていいでしょう。エクセルやグーグルシートからインポートする場合には必ずどの列をプライマリー列にするか指定を求められます。
カードの見出し
カードビューではこの列の内容が必ず表示されます。
インデントの基準
わたしはこのプライマリー列の役割の全貌が理解できていませんが、実務的には、行のインデントを行うときの基準列になるというのが最も重要だと思います。 上で書きましたが、行のインデントによりスマートシートは行単位の情報をツリー構造で論理的にまとめているので、その記述子としてプライマリー列の内容が用いられている、いわば行の表札のようなもの、と考えれば良いと思います。
行のIDではないよう
プライマリー列は行のIDではないようです。例えば同じ値の文字列、数値を入力することも可能です。空白のままでも問題ありません。 Smartsheet APIでデータの格納され方を見てみると、コラムと行にそれぞれIDがあってその組み合わせでセルが特定されています。すなわち行の特定はスマートシートが背後で付番している行IDによって行われており、行を移動してもIDは変わらず行番号ともまた異なるもののようです。
まとめ
以上のようにスマートシートはインデントによる行の構造化、行に付加できる様々な情報、列の属性指定によって情報の格納及び操作を論理的かつスマートに行えるようにしており、ナレッジワーカーが仕事を効率的に行えるようになっています。