Data Shuttle でアップロード ワークフローを作成する

Data Shuttle でアップロード ワークフローを作成すると、CSV ファイル、XLSX ファイル、Google スプレッドシートから Smartsheet のシートに情報をインポートできます。

ご利用可能なユーザー

プラン:

  • Smartsheet Advance Package

権限:

  • 閲覧者
  • 編集者
  • 管理者
  • 所有者

この機能が Smartsheet リージョンまたは Smartsheet Gov に含まれているかどうかを確認してください。

前提条件

  • ターゲット シートに対する所有者、管理者、編集者のいずれかの権限。
  • Smartsheet システム管理者が管理センターで有効にした Data Shuttle プレミアム アプリケーションの権限。

Smartsheet University にアクセスできる場合は、この情報をインタラクティブな説明と共に「Data Shuttle アップロード ワークフロー」コースで確認できます。

Data Shuttle にサインイン


この記事では、シートにデータをインポートする方法の概要について説明します

DataTable にアップロードする方法は、「DataTable を作成してデータを入力する」を参照してください。

主要な用語

  • ソース: データのインポート元。たとえば、別のシステムの XLSX ファイルをソースとして Smartsheet にインポートすることができます。 
  • ターゲット: データのインポート先。Data Shuttle では、データをシートまたは DataTable にインポートできます。
  • 一意の識別子: 一意の識別子は、シートの特定の列内で重複できない一意の ID (キー列の値) です。たとえば、シートを使用して連絡先を追跡する場合、メール アドレスを一意の識別子として指定し、同じメール アドレスが 2 回表示されないようにします。その他の一意の識別子の例として、部品番号、学生 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: ワークフローを作成する

  1. Data Shuttle にログインするか、左側のナビゲーション バーで [起動ツール] > [Data Shuttle] の順に移動してこの機能にアクセスします。
  2. 左側のナビゲーション バーで Brandfolder Image add button を選択して、新しいワークフローを作成します。
  3. [データのアップロード] を選択します。

    Brandfolder Image
    Create new upload workflow

 

プロからのヒント: 既存のワークフローからコピーする 

また、以下のように既存のワークフローをコピーおよび編集して、新しいワークフローを作成することもできます。 

  1. コピーするワークフローにカーソルを合わせます。その行の画面右側にある  Brandfolder Image Data Shuttle kebab menu  を選択します。
  2. [コピーを作成する] を選択して、新しいワークフローに名前を付けます。
  3. 新しいワークフロー用に作成された行にカーソルを合わせて、 Brandfolder Image Data Shuttle kebab menu  を再度選択して、必要な変更を含むワークフローの編集を行います。

    Brandfolder Image
    Copy from an existing upload workflow

ステップ 2: ソース ファイルを選択する

ソースに関する注意点

  • ソースとして使用する共有ドライブに対して、少なくとも編集者の権限が必要です。OneDrive の場合、Smartsheet は個人用ドライブとの接続のみをサポートしています。
  • Data Shuttle は、Open XML ベースの XLSX ファイルをサポートしていません。API を使用してデータ ファイルを生成している場合は、XLSX ファイルではなく CSV ファイルを生成することを検討してください。
  • ソース ファイルのサイズは 1 GB 以下にしてください。
     

ソースを設定するには

  1. ソースの場所を以下から選択します。ソース ファイルは以下のいずれかの場所にあります。
    • 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 ファイルをアップロードできます。
  2. ファイルに列ヘッダーが含まれている場合は、[This file has column headers (このファイルには列ヘッダーが含まれている)] ボックスを確認します。
  3. データがワークブックの行 1 から始まっていない場合、またはタブ 1 にない場合は、データの [First Row (最初の行)] [Tab Number (タブ番号)] を指定します。
  4. [Next (次へ)] を選択します。

    Brandfolder Image
    Select your source file

ステップ 3: ターゲットとワークフロー アクションを選択する

生成物を Smartsheet にどのようにアップロードするかを設定します。

  1. ターゲット シート (データの移動先) を選択します。この例では、シートにデータをアップロードする方法を説明します。

    • DataTable にアップロードする方法については、「DataTable を作成してデータを入力する」のステップに従ってください。
    • Smartsheet の添付ファイルをソースとして使用している場合、ターゲット シートはソース シートと同じでも構いません。
    Brandfolder Image
    Set your target location
  2. データを Smartsheet にインポートする方法を選択します。次のオプションのうち 1 つのみを選択できます。

    • ターゲット シートのすべての行を、入力ファイルのデータに置き換える。このオプションでは、ソース シートをスキャンして最初の変更を検出します。変更が検出されると、Data Shuttle はターゲット シート内のその行以降のデータをすべて置き換えます。
    • キー列の値に基づいてターゲットにデータを結合する。この機能を使用するには、一意の識別子の列が必要です。データを結合する場合は、行のオプションも選択します。以下の組み合わせから選択できます。
      • ソース ファイルに行が追加されるとき、シートに行を追加する。このオプションでは、ターゲットにまだ含まれていない一意の識別子の新しい行が追加されます。

        連絡先リストがあり、メール アドレスを一意の識別子として使用している状況で、Data Shuttle がシートにまだ反映されていない新しいメール アドレス (例: Hiro Senjima, hiro.senjima@mbfcorp.com) をソース内で検出すると、この Hiro Senjima の新しい行がシートに追加され、詳細が入力されます。Hiro Senjima が異なる 2 つのメール アドレスを持っている場合、ターゲット シートに当該ユーザーの情報が 2 回入力されることになります。

      • ソース ファイルの変更に応じて行を更新する。これはまさに「結合」と言える機能です。一意の識別子を持つ既存のデータ行がシートにあり、ソースでそのレコードに対する変更が行われると、ターゲットのその行も更新されます。

        [Unique Identifier (一意の識別子] 列がメール アドレスであり、Sally Smith (sally.smith@mbfcorp.com) が電話番号を (111) 222-3333 に変更した場合、Data Shuttle はメール アドレスが sally.smith@smartsheet.com の行を検索し、この行の電話番号を更新します。

      • フィルター条件に一致しなくなった行を削除する。このオプションを使用すると、次のステップで設定したフィルターに一致しなくなった行が削除されます。

        [Location (場所)]」に「United States (米国)」の値が含まれているレコードのみをソースからインポートするようにフィルターを設定した場合、Hiro Senjima がカナダへ移動すると、ターゲット シートから Hiro Senjima のデータを含む行が削除されます。

    • 選択した列のドロップダウンの選択肢を更新する。このオプションを使用すると、ターゲット シートのドロップダウン列のオプションが、Excel または CSV ファイル内の値で置き換えられます。この機能を使用することにより、Data Shuttle で動的なドロップダウンを作成できます
    Brandfolder Image
    Specify workflow actions and row options for your target file

ステップ 4: フィルターを作成する (オプション)

フィルターの作成は任意ですが、フィルターを使用すると Smartsheet に取り込むデータを指定できます。たとえば、[Status (ステータス)] 列に [In Progress (進行中)] の値が含まれている行をインポートするフィルターを作成できます。

 

フィルターは、シート制限の 2 万行を超える大規模なデータ セットを使用する場合に便利です。シート制限を超えるデータ セットについては、DataTable の使用を検討してください。シートとインポートされたファイルの最大サイズの詳細は、Smartsheet のシステム要件とガイドラインに関する記事を参照してください。

フィルターでは大文字と小文字が区別されます。ファイル内の値と完全に一致させるようにしてください。

  1. [Filter (フィルター)] タブで [Add another filter (別のフィルターを追加)] を選択します。

    Brandfolder Image
    Add filters to your upload workflow
  2. フィルター設定で入力列、比較演算子 ([equals (完全一致)] や [contains (部分一致)] など)、および値を選択します。
  3. [Filter logic (フィルター ロジック)] ボックスで AND 演算子または OR 演算子を使用して各フィルターを結合します。 
    • フィルター ID (各フィルターの横にある数字) を使用して、フィルター間の関係を定義します。

      Brandfolder Image
      Filter your data
  4. [Next (次へ)] を選択します。

 

複雑なロジックを定義する

括弧と AND または OR 演算子を使用して、より複雑なフィルターロジックを定義できます。

「(1 AND 2) OR 3」のようにロジックを組み合わせると、「(Department = “Services” AND Widget Size = “Large”) OR the Department = “Marketing”」という条件を満たすデータをすべて含めることができます。

この例では、サービス部門では大きなウィジェットのみがインポートされ、マーケティング部門ではすべてのウィジェットがインポートされます。


ステップ 5: ソースとターゲットの間で列をマッピングする

ソース ファイルのどの列をターゲットの列にマッピングするかを指定します。ここでは次のことに注意してください。

  • ソースの列とターゲットの列の名前が一致していなくてもかまいません。

  • ソースの列名がターゲット シートの列名と一致する場合、それらの列名は自動的にマッピングされます。これらのマッピングは追加や編集が可能です。 

  • ソースやターゲットのすべての列をマッピングする必要はありません。 

  • キー列の値に基づいてターゲットにデータを結合した場合は、[Unique Identifier Column (一意の識別子の列)] を選択する必要があります。詳細は、主要な用語を参照してください。

  • インポート後にフィールドの書式設定に問題が発生した場合は、[Column Type (列タイプ)] の書式設定機能を選択して、列の書式を変更します。このオプションは、[Source Fields (ソース フィールド)] と [Sheet Column (シート列)] の間にある非表示の列メニューです。

  • 元のシートを変更する場合は、[Refresh (最新の情報に更新)] ボタンを選択して、ソースの列とターゲットの列を更新します。最新の情報に更新すると手動で行った変更は上書きされるため、列が正しくマッピングされていることを確認してください。

マッピング時にソース ファイルの列とシート列が表示されます。

  1. [Source field (ソース フィールド)] 列のドロップダウンを選択し、右側の Smartsheet 列の適切なマッピングを選択します。

  2. すべてのマッピングが完了したら、[Next (次へ)] を選択します。

    Brandfolder Image
    Map your columns

ステップ 6: ワークフローをスケジュールする

ワークフローが自動的に実行されるようにスケジュールする方法は次の 2 つです。

  • Run on attachment (添付ファイル/リンクで実行)
  • Run on schedule (スケジュールに従って実行)

いずれか 1 つを選択する、両方選択する、両方選択しないを設定できます。設定しない場合は、手動でワークフローを実行する必要があります。

Brandfolder Image
Schedule your upload workflow

Run on attachment (添付ファイル/リンクで実行)

ソースが Smartsheet の添付ファイル/リンクである場合、このオプションを使用します。このオプションは、ターゲットが DataTable の場合は使用できません。

 

この設定がアクティブになっていると、新しい添付ファイル/リンクがソース シートに追加されるたびに、その添付ファイル/リンクが条件に合致している場合はワークフローが実行されます。合致の基準は、ソース ページで設定した表示名と一致するかどうかです。[Most Recent (最新)] を選択すると、添付ファイルの列がマッピング ステップの列名と一致する場合、常に新しいデータがインポートされます。

Run on schedule (スケジュールに従って実行)

[Run on attachment (添付ファイル/リンクで実行)] を選択した場合でも、[Run on schedule (スケジュールに従って実行)] を選択できます。また、個別にアクティブ化することもできます。

[Run on schedule (スケジュールに従って実行)] を有効にした場合、Data Shuttle はソースの場所を定期的に確認し、検出した変更を用いてターゲット シートを自動的に更新します。ソースの場所には、Google ドライブ、OneDrive/SharePoint、Box などの共有ドライブが含まれます。

  1. [Run on Schedule (スケジュールに従って実行)] をオンに切り替えます。 
  2. スケジュールを設定するには、次のフィールドに入力します。
    • Days of the week (曜日): ワークフローを実行する曜日 
    • Start time (開始時刻): ワークフローを実行する時刻
    • Execute every (頻度): ワークフロー スケジュールを実行する頻度。例: 15 分ごと。
    • End time (UTC) (終了時刻 (UTC)): ワークフロー実行を終了する時刻
  3. [Next (次へ)] を選択します。

    Data Shuttle では UTC が使用されます。

手動で実行する

このオプションは選択できませんが、Data Shuttle ワークフローの構築後は、[Run on attachment (添付ファイル/リンクで実行)] または [Run on schedule (スケジュールに従って実行)] が設定されていても、手動で実行することができます。

 

ワークフローを公開すると、任意のワークフローにカーソルを合わせて [Run (実行)] を選択することで、ダッシュボードから手動でワークフローを実行できます。

ワークフローの実行ステータスは、ダッシュボードの [Last Run (UTC) (最終実行 (UTC))] 列に表示されます。

Brandfolder Image
Run upload workflow manually

ステップ 7: 入力式を使用する (オプション)

オプションとして入力式を使用して、Smartsheet の数式を、Data Shuttle を使用してシートに取り込まれたデータに適用することができます。多くの場合、このステップは実行せず、代わりにターゲット シートにデータをアップロードした後で列の数式を作成します。

複数のソース ファイルが反映されている Smartsheet の 1 つのシートで、特定のデータ行のデータ ソースを区別する必要があるとします。1 つのファイルが Netsuite をソースとし、もう 1 つのファイルが Oracle をソースとしている場合、Data Shuttle のアップロード中に入力式を使用してソースを特定できます。

ソースの場所情報でデータにタグ付けする

  1. ターゲット シートには、入力式に使用する列がすでに含まれていなければなりません。この例では [Source (ソース)] の列です。

    Brandfolder Image
    Your target sheet
  2. Data Shuttle ワークフローを構築するとき、マッピング ステップで [Source (ソース)] 列をスキップします。
Brandfolder Image
The source column shouldn't be mapped
  1. [Expressions (式)] タブで [Add another expression (別の式を追加)] を選択します。
  2. [Unique Field Name (一意のフィールド名)] に新しい列名を入力します。この例では Source を使用しています。
  3. [Function Syntax (関数構文)] フィールドに数式を入力します。この例では =”Netsuite” を使用しています。

    Brandfolder Image
    Add an expression to include a new function to your target sheet.
  4. [Mapping (マッピング)] タブに戻り、この式フィールドを対応する列にマッピングします。この例では、SourceSource にマッピングしています。

    Brandfolder Image
    Map Source onto Source

ワークフローの構築が完了して公開すると、Data Shuttle の実行時に、アップロードされた行に数式が配置されます。この例では、[Source (ソース)] 列のセルを選択すると ="Netsuite" という数式が表示されます。

Brandfolder Image
Data showing the source location

他の列の値を参照する関数を含め、その他の Smartsheet 関数を式として使用できます。

使用例:

  • =TODAY()。この数式は TODAY() 関数に配置され、シートが開かれるたびに更新されます。
  • =RIGHT(Location@row,3)。この数式は [Location (場所)] 列と対応する行にある文字列の右側 3 文字を抽出します。

ステップ 8: ワークフローを共有する

Smartsheet プラン内の他のユーザーとワークフローを共有できます。ワークフローを共有すると、それらのユーザーはワークフロー マネージャーになります。ワークフロー マネージャーは、ソース ファイルとターゲット ファイルの両方に対して少なくとも編集者権限を持っている限り、ワークフローを編集、実行、アーカイブ、共有することができます。管理者は、プラン内の任意のワークフローにワークフロー マネージャーを追加したり、そこから削除したりすることもできます。

  1. [Sharing settings (共有設定)] タブで、指定されたテキスト フィールドにワークフローを共有するユーザー名を入力します。
  2. [Next (次へ)] を選択します。
Brandfolder Image
Share your upload workflow

ステップ 9: 新しいワークフローを公開する

  1. [Input Expressions (入力式)] ページで作業を完了したら、[Next (次へ)] を選択します。
  2. ワークフローの名前を入力し、[Publish (公開)] を選択します。これで、Data Shuttle ダッシュボードのワークフローの実行、編集、削除が必要なときに、いつでもアクセスできるようになりました。

    • Data Shuttle ワークフローを [スケジュールに従って実行] に設定すると、指定した時刻にワークフローが実行されます。
    • [添付ファイル/リンクで実行] を選択した場合、またはいずれのオプションも選択しなかった場合は、ワークフローを手動で実行する必要があります。その際は、Data Shuttle ダッシュボードのワークフローにカーソルを合わせて、[実行] を選択します。
    Brandfolder Image
    Give your workflow a name and publish it