リンク&読み込みされたフィールド(読み込みフィールドなど)や数式式が適用されたフィールドの値は、手動で変更しないことが一般的に推奨されています。 しかし、データがすでに更新または消去されてしまった場合、失われた情報をどのように回復すればよいのでしょうか?
以下のような状況において:
1. 読み込みフィールドや計算式が適用されたフィールドに手動で値を入力し、その後誤ってリンク&読み込みの同期や数式の再計算をトリガーしてしまった場合。
2. すでに値が入力されているフィールドにリンク&読み込みを設定したが、リンク先フィールドが存在しない、または異なる値が読み込まれている場合。
3. バッチ処理アクションボタンによる操作が行われた場合。
これらの操作により、フィールド値が更新または消去される可能性があります。このような場合、単一シートのバックアップデータをダウンロード機能を使用して、以前のフィールド値を取得することができます。
「ツール」>「ExcelまたはCSV形式でダウンロード」>「バックアップから」を選択します。以下のファイルオプションが表示され、ダウンロード可能です:日次バックアップ、週バックアップ、2週に一回バックアップ、履歴からのダウンロード。
エラーが発生する前のタイミングに対応するオプションを選択し、バックアップフォームデータをダウンロードします。各バックアップタイプの記載時点以降のデータはファイルに含まれないことに注意してください。
例えば、エラーが2023年3月30日18:00に発生し、システムの自動バックアップ時間が以下の通りだった場合:
日次バックアップ:2023年3月30日19:48
週バックアップ:2023年3月28日07:44
2週に一回バックアップ:2023年3月16日07:55
「週バックアップ」を選択してデータをエクスポートすることで、以前の値を取得できます。ただし、2023年3月28日07:44以降に追加または変更されたデータはこのファイルに含まれません。
「履歴からのダウンロード」を選択することも可能です。このオプションは、エントリの右下隅にある履歴にフィールドの詳細な変更内容が記録されている場合にのみ利用できます。たとえば、フィールドAの値が特定の時点でユーザーにより800から1000に変更された場合、「履歴からのダウンロード」で1000の値を取得できます。
ただし、デザインモードで「数式の再計算」や「リンク&読み込み同期」が実行されると、履歴に詳細な変更が記録されず、正確な変更内容を取得することはできません:
「数式の再計算」を実行した場合、データの変更履歴には「数式の一括再計算」としてのみ記録されます。
「リンク&読み込み同期」を実行した後の履歴には現在、実行記録が残りません。
履歴からダウンロードする前に、履歴で誤った変更のタイミングを確認してください。この操作が履歴に見つからない場合や詳細記録がない場合、それはデザインモードでトリガーされ、含まれない可能性があります。このような場合、日次バックアップ、週次バックアップ、または隔週バックアップを使用してファイルをダウンロードする必要があります。
履歴記録から変更時間前のバックアップをダウンロードできます:
バックアップファイルをエクスポートした後、このバックアップファイルをシートにインポートすることでデータを修正できます。
ファイルをインポートする際は、インポートポリシーで「旧データの置き換え」または「旧データの置き換え(新規作成無し)」を選択し、各レコードが正しくインポートファイルの情報に対応するために一意の値(キー値)を持つ必要があります。
シートにキー値を持つフィールドがない場合、データのインポートやエクスポート時にRAGIC IDをキー値として使用することを検討できます。シートのExcelバックアップファイルにはRAGIC IDも含まれます。
RAGIC IDを一意のキーとして使用するには、シートにフィールドタイプが「自動生成フィールド値」で、形式としてRAGIC IDを選択したフィールドを追加する必要があります。これにより、データのインポート時にシステムが各レコードを正しく対応付けることができます。
最後に、フィールドがリンク&読み込み(読み込まれたフィールドなど)で設定されている場合や、数式で計算されている場合、フィールド値を手動で変更することは推奨されません。
読み込み済みフィールドや計算式が適用されたフィールドに、手動入力が必要な場合、手動入力専用の別フィールドを追加することをお勧めします。
例えば、手動入力が行われた場合にその値をフィールドに反映し、手動入力が空欄の場合には計算式の値に戻す方法です。この目的を達成するために、以下の2つの方法があります。
1. 合計で3つのフィールドを使用します。A1は計算式フィールド、A2は手動入力フィールド、A3は返されるフィールドです。
2. A1に計算式を設定します(例:条件はC1+C2)。
3. A3に以下の計算式を設定します: `IF(ISBLANK(A2), A1, A2)`。これは、A2が空欄の場合はA1を返し、そうでない場合はA2を返すという意味です。
その結果、以下のように動作します。
(1) A2が空欄の場合、計算式で計算されたA1の値を返します:
(2) A2に値が入力されている場合、A2の値を返します:
1. 条件を直接判定し、フィールドA1の値を返したい場合、必要なフィールドは2つのみです。A1は計算式が適用されたフィールド、A2は手動入力フィールドです。元の計算式がC1+C2の場合を想定します。
2. A1に以下の計算式を設定します: `IF(ISBLANK(A2), C1+C2, A2)`。これは、A2が空欄の場合はC1+C2を返し、そうでない場合はA2を返すという意味です。
その結果、以下のように動作します。
(1) A2が空欄の場合、計算式で計算されたA1の値を返します:
(2) A2に値が入力されている場合、A2の値を返します:
ただし、方法2は読み込みフィールドには適用できません。その場合は方法1を使用する必要があります。