Smartsheet Community の質問に以下のような内容のものがありました。
「従業員が休暇を申請する際に記入するフォームを作成しました。しかし、このフォームに記入すると、最後のリクエストが1行目にあり、最後の行にありません。どうすればこれを変更できるか、どなたかご存知でしょうか?」
フォームのエントリをシートの下部に追加する方法
これはコミュニティーのディスカッションで説明していとおり、フォームの「設定」のメニューで新規エントリーをシートの下部に追加するか、シートの上部に追加するか、 で設定できます。
上の質問の方のフォームの設定は、シートの上部になっていたので、「フォームに記入すると、最後のリクエストが1行目」に追加されたわけです。
フォームのエントリーはシートの下部と上部のどちらにするのがいいのか?
シートの下部に追加の場合
新しい行を一番下に追加した場合は、新しい行が、既存のすべての行の後に配置されることが保証されます。ソートとか使わずに、時系列に情報が古いものから新しいものの順に並ぶ普通の使い方の場合は、こちらがよいでしょう。
短所としては、特にシートの行数が多い場合、最新のエントリーを見つけるのが難しい場合があります。
特にGoogle Sheet等からインポートしたシートで1000行くらいの空行が追加された場合、新規エントリーが例えば、1001行目に追加され、フォームが機能していないのと勘違いする場合があります。
新しい項目を見るには、シートをスクロールする必要があります。
Smartsheetのドキュメントによれば、「シートが非常に大きい場合は、フォームのエントリをシートの下部に追加して、送信プロセスを高速化します。 」とあります。
APIで見ると、シートの行は行IDと行番号があり、シートでの表示はこの行番号を変更することにより行います。従ってシートが非常に大きい場合は、この行番号を変更するのにシステムリソースを取られるので、その必要がない、シートの下部に追加がよいこととなります。
シートの上部に追加の場合
新しい行を一番上に追加した場合の長所としては、スクロールすることなく、新しい項目がすぐに表示されることです。
シートの最上部に表示されるため、最新の項目を見つけやすくなります。例えば、最新の項目が最も重要であるような、時間的制約のあるデータには便利です。
短所としては、現在の行の順序が崩れることがあり、新しい行は、他の列に基づく既存のソート順序に適合しない場合があります。
また、上で見たように、大きなシートの場合は、パフォーマンスに影響を与える可能性があります。