USM Content
アップロード ワークフローを作成して外部データ ソースを接続し、Smartsheet へのアップロード、書き込み、編集を行います。
Data Shuttle でアップロード ワークフローを作成する
USM Content
事前準備:
- ターゲット シートに対する権限 (所有者、管理者、編集者のいずれか) 。
- Smartsheet システム管理者が管理センターで有効にした Data Shuttle プレミアム アプリケーションの権限。
Smartsheet University にアクセスできる場合は、この情報をインタラクティブな説明と共に「Data Shuttle アップロード ワークフロー」コースで確認できます。
この記事では、シートにデータをインポートする方法について説明します。
主要な用語
- ソース: データのインポート元。たとえば、別のシステムの XLSX ファイルをソースとして Smartsheet にインポートすることができます。
- ターゲット: データのインポート先。Data Shuttle では、データをシートや DataTable にインポートできます。
- 一意の識別子: 一意の識別子は、シートの特定の列内で重複できない一意の ID (キー列の値) です。たとえば、シートを使用して連絡先を追跡する場合、メール アドレスを一意の識別子として指定すると、エントリの重複を避けることができます。その他の一意の識別子の例として、部品番号、学生 ID 番号、従業員コードなどがあります。
Data Shuttle アップロード ワークフローの基礎知識
Data Shuttle を使用すると、CSV ファイル、XLSX ファイル、Google スプレッドシートを 以下のソースから Smartsheet にアップロードできます。
Google ドライブ
Google スプレッドシート (Google スプレッドシートのアップロードのみ)
Box
OneDrive または SharePoint
ファイルや使用環境に基づいて、以下の要件を満たしていることをご確認ください。
- CSV ファイルと XLSX ファイルは、Smartsheet のシート添付ファイル/リンク、または行添付ファイル/リンクであるか、アクセス権を持つ Google ドライブ、OneDrive、または Box アカウントに保存されている必要があります。
- Google スプレッドシートは、アクセス可能な Google ドライブに保存されている必要があります。
- ファイルが Google ドライブに保存されている場合、Data Shuttle ワークフロー マネージャーのうちの 1 人がそのファイルに対する閲覧者以上のアクセス権を持っている必要があります。
制約事項
- シートのアップロード ワークフローをサポートしています。データをシートに直接アップロードするワークフローを作成できます。(レポート、WorkApp、ダッシュボード、添付ファイル/リンクは含まれません。)
- 結合ワークフローは、1 回の実行につき最大 20,000 行をサポートしています。
- 置換ワークフローは、1 回の実行につき最大 5,000 行をサポートしています。
- ワークフローでは、1 枚のシートにつき最大 400 列を処理できます。
- 結合ワークフローには一意の識別子の列が必要であり、以下はサポートしていません。
- システム生成列
- 複数選択用ドロップダウン列
- 列の数式
- 空白のセル
- 列内の重複
ステップ 1: ワークフローを作成する
- Data Shuttle にログインするか、左側のナビゲーション バーで [起動ツール] > [Data Shuttle] の順に移動して同機能にアクセスします。
- 左側のナビゲーション バーで
を選択して、新しいワークフローを作成します。Brandfolder Image
[データのアップロード] を選択します。
Brandfolder Image
プロからのヒント: 既存のワークフローからコピーする
既存のワークフローをコピー・編集して、新しいワークフローを作成することも可能です。
- コピーするワークフローにカーソルを合わせます。その行の画面右側にある
を選択します。Brandfolder Image
- [コピーを作成する] を選択して、新しいワークフローに名前を付けます。
新しいワークフロー用に作成された行にカーソルを合わせて、
を再度選択して、必要な変更を含むワークフローの編集を行います。Brandfolder Image
Brandfolder Image
ステップ 2: ソース ファイルを選択する
ソースに関する注意点
- ソースとして使用する共有ドライブに対して、少なくとも編集者の権限が必要です。OneDrive の場合、Smartsheet は個人用ドライブとの接続のみをサポートしています。
- Data Shuttle は、Open XML ベースの XLSX ファイルをサポートしていません。API を使用してデータ ファイルを生成している場合は、XLSX ファイルではなく CSV ファイルを生成することを検討してください。
- ソース ファイルのサイズは 1 GB 以下にしてください。
ソースを設定するには
- ソースの場所を選択します。ソース ファイルは以下のいずれかの場所にあります。
Smartsheet の添付ファイル: すでにログインしているため、ファイルを検索または選択すると、そのファイルが添付されているシートの添付ファイルまたは行の添付ファイルを特定できます。その際、そのシートに対する閲覧者以上の権限が必要です。常に最新の添付ファイルをインポートするか、特定の名前の添付ファイルをインポートするかを選択します。
シートにファイルを添付できない場合は、Smartsheet システム管理者に連絡してください。
OneDrive または SharePoint: 画面の指示に従って、smartsheetapps.com で OneDrive または SharePoint アカウントのファイルを表示できるようにします。認証が完了したら、同期した OneDrive/SharePoint を検索または参照して、使用するファイルを見つけます。
OneDrive をソース/ターゲットの場所として選択すると、お使いの SharePoint サイトが OneDrive ファイルの下の左パネルに表示されます。
- Google ドライブ: 画面の指示に従って、smartsheetapps.com で Google ドライブ アカウントのファイルを表示できるようにします。認証が完了したら、同期した Google ドライブを検索または参照してファイル (XLSX、CSV、Google スプレッドシート) を見つけます。
- Box: 画面の指示に従って、smartsheetapps.com で Box アカウントのファイルを表示できるようにします。認証が完了したら、同期した Box を検索または参照して、使用するファイル (XLSX、CSV) を見つけます。所有している Box ファイルや共有された Box ファイルをアップロードできます。
- ファイルに列ヘッダーが含まれている場合は、[このファイルには列ヘッダーが含まれている] ボックスを確認します。
- データがワークブックの行 1 から始まっていない場合、またはタブ 1 にない場合は、データの [最初の行] と [タブ番号] を指定します。
[次へ] を選択します。
Brandfolder Image
ステップ 3: ターゲットとワークフロー アクションを選択する
生成物を Smartsheet にどのようにアップロードするかを設定します。
ターゲット シート (データの移動先) を選択します。ここでは、シートにデータをアップロードする方法を例に説明します。
- DataTable へのアップロード方法をお探しの場合は、「DataTable を作成してデータを入力する」をご覧ください。
- Smartsheet の添付ファイルをソースとして使用している場合、ターゲット シートはソース シートと同じでも構いません。
Brandfolder Image
データを Smartsheet にインポートする方法を選択します。次のオプションのうち 1 つのみを選択できます。
- ターゲット シートのすべての行を、入力ファイルのデータに置き換える。このオプションでは、ソース シートをスキャンして最初の変更を検出します。変更が検出されると、Data Shuttle はターゲット シート内のその行以降のデータをすべて置き換えます。
- キー列の値に基づいてターゲットにデータを結合する。この機能を使用するには、一意の識別子の列が必要です。データを結合する場合は、行のオプションも選択します。以下の組み合わせから選択できます。
ソース ファイルに行が追加されるとき、シートに行を追加する。このオプションでは、ターゲットにまだ含まれていない一意の識別子の新しい行が追加されます。
例
連絡先リストでメール アドレスを一意の識別子として使用している状況を想定します。シートにまだ反映されていない新しいメール アドレス (例: Hiro Senjima, hiro.senjima@mbfcorp.com) をData Shuttle がソース内で検出すると、Hiro Senjima 専用の新しい行がシートに追加され、詳細が入力されます。ただし、Hiro Senjima が 2 種類の異なるメール アドレスを所有している場合、ターゲット シートに 2 回入力される可能性があります。
ソース ファイルの変更に応じて行を更新する。これは真の「結合」の役割を果たす機能です。一意の識別子を持つ既存のデータ行がシートにあり、ソースでそのレコードに対する変更が行われると、ターゲットのその行も更新されます。
例
[一意識別子] 列にメール アドレスが指定されており、Sally Smith (sally.smith@mbfcorp.com) が電話番号を (111) 222-3333 に変更した状況を想定します。この場合、Data Shuttle はメール アドレスが sally.smith@smartsheet.com の行を検索し、この行の電話番号を更新します。
フィルター条件に一致しなくなった行を削除する。このオプションを使用すると、次のステップで設定したフィルターに一致しなくなった行が削除されます。
例
[場所] 列に「米国」が含まれているレコードのみをソースからインポートするようにフィルターを設定した場合、Hiro Senjima がカナダへ移動すると、ターゲット シートから Hiro Senjima のデータを含む行が削除されます。
- 選択した列のドロップダウンの選択肢を更新する。このオプションを使用すると、ターゲット シートのドロップダウン列のオプションが、Excel または CSV ファイル内の値で置き換えられます。この機能を使用することにより、Data Shuttle で動的なドロップダウンを作成できます。
Brandfolder Image
ステップ 4: フィルターを作成する
- フィルターを作成しない場合は、[次へ] を選択してステップ 5 に進みます。
フィルターの作成は任意です。フィルターを使用すると、Smartsheet に取り込むデータを決められます。たとえば、フィルターを作成して、[ステータス] 列に [進行中] の値が含まれている行をインポートするよう絞り込むことができます。
フィルターは、シート制限の 2 万行を超える大規模なデータ セットを使用する場合に便利です。シート制限を超えるデータ セットについては、DataTable の使用をご検討ください。
フィルターでは大文字と小文字が区別されます。ファイル内の値と完全に一致させるようにしてください。
[フィルター] タブで [別のフィルターを追加] を選択します。
Brandfolder Image
- フィルター設定で入力列、比較演算子 ([完全一致] や [部分一致] など)、値を選択します。
- [Filter logic (フィルター ロジック)] ボックスで AND 演算子または OR 演算子を使用して各フィルターを結合します。
フィルター ID (各フィルターの横にある数字) を使用して、フィルター間の関係を定義します。
Brandfolder Image
- [次へ] を選択します。
複雑なロジックを定義する
括弧と AND または OR 演算子を使用して、より複雑なフィルターロジックを定義できます。
例
「(1 AND 2) OR 3」のようにロジックを組み合わせると、「(Department = “Services” AND Widget Size = “Large”) OR the Department = “Marketing”」という条件を満たすデータをすべて含めることができます。
この例では、サービス部門では大きなウィジェットのみがインポートされていますが、マーケティング部門ではすべてのウィジェットがインポートされます。
ステップ 5: ソースとターゲットの間で列をマッピングする
ソース ファイルのどの列をターゲットの列にマッピングするかを指定します。ここでは次のことに注意してください。
ソースの列とターゲットの列の名前が一致していなくてもかまいません。
ソースの列名がターゲット シートの列名と一致する場合、それらの列名は自動的にマッピングされます。これらのマッピングは追加や編集が可能です。
ソースやターゲットのすべての列をマッピングする必要はありません。
キー列の値に基づいてターゲットにデータを結合した場合は、[一意の識別子の列] を選択する必要があります。詳細は、主要な用語をご参照ください。
インポート後にフィールドの書式設定に問題が発生した場合は、[列タイプ] の書式設定機能を選択して、列の書式を変更します。このオプションは、[ソース フィールド] と [シート列] の間にある非表示の列メニューです。
元のシートを変更する場合は、[最新の情報に更新] ボタンを選択して、ソースの列とターゲットの列を更新します。最新の情報に更新すると手動で行った変更は上書きされるため、列が正しくマッピングされていることを確認してください。
マッピング時にソース ファイルの列とシート列が表示されます。
[ソース フィールド] 列のドロップダウンを選択し、右側の Smartsheet 列の適切なマッピングを選択します。
すべてのマッピングが完了したら、[次へ] を選択します。
Brandfolder Image
ステップ 6: ワークフローをスケジュールする
ワークフローが自動的に実行されるようにスケジュールする方法は次の 2 つです。
- 添付ファイル/リンクで実行
- スケジュールに従って実行
いずれか 1 つを選択する、両方選択する、両方選択しないを設定できます。設定しない場合は、手動でワークフローを実行する必要があります。
添付ファイル/リンクで実行
ソースが Smartsheet の添付ファイル/リンクである場合、このオプションを使用します。ターゲットが DataTable の場合は使用できません。
[Run on attachment (添付ファイル/リンクで実行)] がアクティブになっている場合、ソース シートのシートまたは行レベルで新しい添付ファイル/リンクが追加されるたびに、その添付ファイル/リンクが条件を満たしていればワークフローが実行されます。条件の基準は、その名前がソース ページに表示された名前と一致するかどうかです。[最新] を選択すると、添付ファイルの列がマッピング ステップの列名と一致する場合、常に新しいデータがインポートされます。
スケジュールに従って実行
[添付ファイル/リンクで実行] を選択した場合でも、[スケジュールに従って実行] を選択できます。また、個別にアクティブ化することもできます。
[スケジュールに従って実行]を有効にすると、Data Shuttle はソースの場所を定期的にチェックし、見つかった変更をターゲット シートに自動的に更新します。ソースの場所には、Google ドライブ、OneDrive/SharePoint、Box などの共有ドライブが含まれます。
- [スケジュールに従って実行] をオンに切り替えます。
- スケジュールを設定するには、次のフィールドに入力します。
- 曜日: ワークフローを実行する曜日
- 開始時刻: ワークフローを実行する時刻
- 頻度: ワークフロー スケジュールを実行する頻度。例: 15 分ごと。
- 終了時刻 (UTC): ワークフロー実行を終了する時刻
[次へ] を選択します。
Data Shuttle では UTC が使用されます。
手動で実行する
このオプションは選択できませんが、Data Shuttle ワークフローの構築後は、[添付ファイル/リンクで実行] または [スケジュールに従って実行] が設定されていても、手動で実行することができます。
ワークフローを公開すると、任意のワークフローにカーソルを合わせて [実行] を選択することで、ダッシュボードから手動で実行できます。
ワークフローの実行ステータスは、ダッシュボードの [最終実行 (UTC)] 列に表示されます。
ステップ 7: 入力式を使用する (オプション)
オプションとして入力式を使用して、Smartsheet の数式を、Data Shuttle を使用してシートに取り込まれたデータに適用することができます。多くの場合、このステップは実行せず、代わりにターゲット シートにデータをアップロードした後で列の数式を作成します。
例
複数のソース ファイルが反映されている Smartsheet の 1 つのシートで、特定のデータ行のデータ ソースを区別する必要があるとします。1 つのファイルが Netsuite をソースとし、もう 1 つのファイルが Oracle をソースとしている場合、Data Shuttle のアップロード中に入力式を使用してソースを特定できます。
ソースの場所情報でデータにタグ付けする
ターゲット シートには、入力式に使用する列がすでに含まれていなければなりません。この例では [ソース] の列です。
Brandfolder Image
- Data Shuttle ワークフローを構築するとき、マッピング ステップで [ソース] 列をスキップします。
- [式] タブで [別の式を追加] を選択します。
- [一意のフィールド名] に新しい列名を入力します。この例では「ソース」を使用しています。
[関数構文] フィールドに数式を入力します。この例では =”Netsuite” を使用しています。
Brandfolder Image
[マッピング] タブに戻り、この式フィールドを対応する列にマッピングします。この例では、ソース を ソース にマッピングしています。
Brandfolder Image
ワークフローの構築が完了して公開すると、Data Shuttle の実行時に、アップロードされた行に数式が配置されます。この例では、[ソース] 列のセルを選択すると ="Netsuite" という数式が表示されます。
他の列の値を参照する関数を含め、その他の Smartsheet 関数を式として使用できます。
使用例:
- =TODAY()。この数式は TODAY() 関数に配置され、シートが開かれるたびに自動的に更新されます。
- =RIGHT(Location@row,3)。この数式は [場所] 列と対応する行にある文字列の右側 3 文字を抽出します。
ステップ 8: ワークフローを共有する
Smartsheet プラン内の他のユーザーとワークフローを共有できます。ワークフローを共有すると、それらのユーザーはワークフロー マネージャーになります。ワークフロー マネージャーは、ソース ファイルとターゲット ファイルの両方に対して少なくとも編集者権限を持っている限り、ワークフローを編集、実行、アーカイブ、共有することができます。管理者は、プラン内の任意のワークフローにワークフロー マネージャーを追加したり、そこから削除したりすることもできます。
- [共有設定] タブで、指定されたテキスト フィールドにワークフローを共有するユーザー名を入力します。
- [次へ] を選択します。
ステップ 9: 新しいワークフローを公開する
- [入力式] ページで作業を完了したら、[次へ] を選択します。
ワークフローの名前を入力し、[公開] を選択します。これで、Data Shuttle ダッシュボードのワークフローにいつでもアクセスして、実行、編集、削除できるようになりました。
- Data Shuttle ワークフローを [スケジュールに従って実行] に設定すると、指定した時刻にワークフローが実行されます。
- [添付ファイル/リンクで実行] を選択した場合、またはいずれのオプションも選択しなかった場合は、ワークフローを手動で実行する必要があります。その際は、Data Shuttle ダッシュボードのワークフローにカーソルを合わせて、[実行] を選択します。
Brandfolder Image