このガイドは、DataTable の使用中に問題がある場合に役立ちます。
DataTable のトラブルシューティング
ソース データセット内の数値の隣にある特殊文字 (通貨記号、コンマ、パーセント記号など) が、DataTable の数値フィールドにインポートする際に数値として認識されません。
原因
Smartsheet では、アルファベットや特殊文字を含む元のデータ セットの値は、DataTable の数値フィールドに文字列として書き込まれます。そして接続を介し、文字列としてシートに取り込まれます。このルールに対する唯一の例外は、有効な数値として解釈される科学的数値です。その数値が制限範囲を超えた場合、Smartsheet は文字列としてシートに書き込みます。
トラブルシューティングの手順と解決策
Smartsheet では、ユーザー入力を既定の (米国式の) 数値形式で解析するため、元のデータセットで数値が 1 つの小数点のみを持つ数字として保存されていることを確認してください。
データをシート上で数値として表示させるには、以下の手順に従います。
- 元のデータセットからパーセント値を読み込む場合は、% 記号のない小数の形式にします (50% ではなく 0.5)。
- 元のデータ セットからドルの値を読み込む場合は、金額をコンマや通貨記号のない小数の形式にします ($15,000.00 や 15,000.00 ではなく 15000.00)。
DataTable にデータを読み込み、シート上で数値として表示させるには、以下の手順に従います。
- DataTable のフィールド タイプを [数値] に設定します。
- 以下の制限に従って、データを DataTable に送信します。
- 数値のコンマを削除する (例: 1,000 ではなく 1000)
- パーセント値を小数点形式に変換する (例: 99% ではなく 0.99)
- 通貨記号を削除する (例: $123.45 ではなく 123.45)
シートがいっぱいになったらどうなりますか?
DataTable の接続のフィルター条件に一致するレコードが多すぎたり、シートにデータが追加されたりすると、シートがいっぱいになることがあります。
- シートが 50 万セルの上限に達すると、接続によるデータ同期が停止します。
- 同期が停止した場合、接続のフィルター条件をより具体的なものに更新し、シートから行を削除してください。
シートに空きができたら、接続を再びアクティブにすることができます。
ルックアップ モードの接続で、シートの複数の行に同じ一意の識別子が割り当てられている場合はどうなりますか?
接続の設定に基づいて、シートの各行に、対応する値がマッピングされます。
ルックアップ モードの接続で、DataTable の複数のレコードに同じ一意の識別子が割り当てられている場合はどうなりますか?
接続では、最初に見つかったレコードが使用されます。通常、最小のレコード ID を持つレコードが使用されます。
ルックアップ モードの接続で、シートの一意の識別子を変更するとどうなりますか?
DataTable にマッピングしているシート セルの既存のデータが上書きされます。
DataTable で日付フィールドを作成するにはどうすればよいですか?
新しい DataTable を作成するときに、フィールドを追加し、タイプとして [日付] を選択して、日付形式を指定します。
Data Shuttle による DataTable へのデータ読み込み時に、CSV または Excel ファイルのデータ解析が DataTable でどのように行われるかは、日付形式によって決まります。日付形式は、データのインポート時における日付の解析方法にのみ影響します。たとえば、1999/12/31 を選択すると、日付は yyyy/mm/dd 形式で DataTable に読み込まれます。
- 日付形式を指定せずに DataTable にデータを読み込む場合、日付形式は yyyy-mm-ddThh:MM:ssZ (例: 2020-09-17T00:00:00Z) になります。これは、Data Shuttle ワークフローから最初に DataTable を作成する場合に当てはまります。
- 日付形式を後から変更すると、DataTable で変更処理が行われるため、データを新しい形式で読み込めるようになるまで少し時間がかかります。また、接続時にフィルターを正しく適用するには、以前の形式の日付を含む DataTable のすべてのレコードを更新する必要があります。
DataTable で日付フィールドに基づいてフィルターを適用するにはどうすればよいですか?
新しい接続を作成するときに [日付] タイプのフィールドを選択し、日付選択カレンダーで yy/mm/dd 形式を使って日付を選びます。たとえば、2021 年 7 月 9 日より後のレコードという条件でフィルタリングする場合、「21/07/09」と入力します。日付の比較には「より小さい」「より大きい」「の間」「に等しい」「と異なる」の演算子を使用できます。
「In the Next/Last N days (次の日数以内 (将来/過去))」フィルター オプションでは、現在の日付は除外されます。これを防ぐには「from today/tomorrow/yesterday (今日/明日/昨日から)」フィルター オプションを使用します。これにより、必要に応じて相対的な日付フィルター条件に今日の日付を含めることができます。
数字が数値ではなく、文字列としてインポートされることがあります。なぜですか?
DataTable では、通貨記号やコンマなどの特殊文字は定義された数値として認識されません。DataTable では、これらの文字はテキスト文字列の一部としてのみ認識されます。通貨額やパーセント値の表記には、小数点を使用します。
- データ セットのパーセント値の形式には、% 記号を使用しないで小数点を使用してください。たとえば、「50%」ではなく「0.5」と入力します。
- 書式に金銭の数値を含めるには、小数点のみを使用します。コンマや通貨記号は使用しないでください。たとえば、「$15,000.00」や「15,000.00」ではなく、「15000.00」と入力します。
データをシート上で数値として表示するには、以下の手順に従います。
- DataTable のフィールド タイプを [数値] に設定します。
- 以下の制限に従って、データを DataTable に送信します。
- 数値からコンマを取り除く。(例:「1,000」を「1000」に変更する)
- パーセント値を小数点形式に変換する。(例:「99%」を「0.99」に、「78.23%」を「0.7823」に変更する)
- 通貨記号を取り除く。(例:「$123.45」を「123.45」に変更する)