アップロード ワークフローを作成して外部データ ソースを接続し、Smartsheet へのアップロード、書き込み、編集を行います。
Data Shuttle でアップロード ワークフローを作成する
Smartsheet University へアクセスできる場合は、同じ情報をインタラクティブな説明と共に「Data Shuttle アップロード ワークフロー」コースで確認できます。
主要用語
- Source (ソース): ソースはデータのインポート元となるものです。たとえば、別のシステムから XLSX をエクスポートして Smartsheet に取り込む場合は、この XLSX がソースとなります。
- Target (ターゲット): ターゲットはデータのインポート先です。Data Shuttle では、データをシートまたは DataTable にインポートできます。この記事では、シートにデータをインポートする方法の概要を説明します。DataTable へのアップロード方法については、「DataTable を作成してデータを入力する」に記載のステップに従ってください。
- Unique identifier (一意の識別子): 一意の識別子は、シートの特定の列内で重複できない一意の ID (キー列の値) です。
例
シートを使用して連絡先を追跡する場合は、[Email Address (メール アドレス)] を一意の識別子として指定し、同じメール アドレスが「Email Address (メール アドレス)」列に重複してリストされないようにします。一意の識別子のその他の例には、部品番号、学生 ID 番号、従業員コードなどがあります。
Data Shuttle アップロード ワークフローの基本
Data Shuttle では、以下の場所からデータをアップロードできます。
- Google スプレッドシート、XLSX、CSV テキスト ファイルへのエクスポートが可能なシステム
- Google ドライブ、Microsoft (OneDrive/SharePoint)、Box のファイル
- Google、Box、SharePoint の共有ドライブ
OneDrive をソース/ターゲットの場所として選択すると、SharePoint サイトが OneDrive ファイルの下の左パネルに表示されます。
ワークフローを作成する場合は、以下を確認してください。
- CSV または XLSX ファイルが Smartsheet のシートに添付されている。
- あるいは、CSV、XLSX、Google スプレッドシート ファイルが、アクセスできるアカウントの Google ドライブに保存されている。
- Google ドライブのファイルを Data Shuttle にインポートする場合、Smartsheet のライセンス ユーザーが Google ドライブ内のドキュメントに対する閲覧者以上のアクセス権限を持っている。
ステップ 1: ワークフローを作成する
また、ナビゲーション バーに移動して [Launcher (起動ツール)] > [Data Shuttle] を選択して、機能にアクセスすることもできます。
- 左側のナビゲーション バーで を選択して、新しいワークフローを作成します。
- [Upload Data (データのアップロード)] を選択します。
既存のワークフローをコピーする
また、既存のワークフローをコピー、編集して、新しいワークフローを作成することもできます。
- コピーするワークフローにカーソルを合わせます。その行の画面右側にある を選択します。
- [Create a copy (コピーを作成)] を選択して、新しいワークフローに名前を付けます。
- この行にカーソルを合わせて を選択し、必要な変更を加えてワークフローを編集します。
ステップ 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 ファイルをアップロードできます。
- ファイルに列ヘッダーが含まれている場合は、[This file has column headers (ファイルに列ヘッダーが含まれている)] ボックスをオンにします。
- データがワークブックの行 1 から始まっていない場合、またはタブ 1 にない場合は、データの [First Row (最初の行)] と [Tab Number (タブ番号)] を指定します。
- [Next (次へ)] を選択します。
ステップ 3: ターゲットとワークフロー アクションを選択する
生成物を Smartsheet にどのようにアップロードするかを設定します。
- ターゲット シート (データの移動先) を選択します。この例では、シートにデータをアップロードする方法を説明します。
- DataTable にアップロードする方法については、「DataTable を作成してデータを入力する」のステップに従ってください。
- Smartsheet の添付ファイル/リンクをソースとして使用している場合、ターゲット シートはソース シートと同じでも構いません。
- データを Smartsheet にインポートする方法を選択します。次のオプションのうち 1 つのみを選択できます。
- ターゲット シートのすべての行を、入力ファイルのデータに置き換える。このオプションを使用すると、シートのデータはすべて上書きされ、シートの内容は完全にソース データに置き換えられます。
- キー列の値に基づいてターゲットにデータを結合する。この機能を使用するには、一意の識別子の列が必要です。データを結合する場合は、行のオプションも選択します。以下の組み合わせから選択できます。
- ソース ファイルに行が追加されるとき、シートに行を追加する。このオプションでは、ターゲットにまだ含まれていない一意の識別子の新しい行が追加されます。
- ソース ファイルに行が追加されるとき、シートに行を追加する。このオプションでは、ターゲットにまだ含まれていない一意の識別子の新しい行が追加されます。
例
連絡先リストがあり、メール アドレスを一意の識別子として使用している状況で、Data Shuttle がシートにまだ反映されていない新しいメール アドレス (例: Hiro Senjima, hiro.senjima@mbfcorp.com) をソース内で検出すると、この Hiro Senjima の新しい列がシートに追加され、詳細が入力されます。Hiro Senjima が異なるメール アドレスを 2 つ持っている場合、ターゲット シートに当該ユーザーの情報が 2 回入力されることになります。
ソース ファイルの変更に応じて行を更新する。このオプションはまさに「結合」と言える機能です。シートには、一意の識別子に対してデータの既存の列があり、ソースで変更が行われると、ターゲットのその列も更新されます。
例
[一意の識別子] 列がメール アドレスであり、Sally Smith (sally.smith@mbfcorp.com) が電話番号を (111) 222-3333 に変更した場合、Data Shuttle はメール アドレスが sally.smith@mbfcorp.com の行を検索し、この行の電話番号を更新します。
フィルター条件に一致しなくなった行を削除する。このオプションを使用すると、次のステップで設定するフィルターに一致しなくなった行が削除されます。
例
「Location (場所)」列に [United States (米国)] の値が含まれているソースからのレコードのみをインポートするようにフィルターを設定した場合、Hiro Senjima がカナダへ移動すると、ターゲット シートから Hiro Senjima のデータを含む列が削除されます。
- 選択した列のドロップダウンの選択肢を更新する。このオプションを使用すると、ターゲット シートのドロップダウン列のオプションが、Excel または CSV ファイル内の値で置き換えられます。この機能を使用すると、Data Shuttle で動的なドロップダウンを作成できます。
ステップ 4: フィルターを作成する (オプション)
- フィルターを作成しない場合は、[Next (次へ)] を選択して、ステップ 5 に進みます。
フィルターの作成は任意ですが、フィルターを使用すると Smartsheet に取り込むデータを指定できます。たとえば、「Status (ステータス)」 列に [In Progress (進行中)] の値が含まれている行をインポートするフィルターを作成できます。
フィルターは、シート制限の 2 万行を超える大きなデータ セットを使用する場合に便利です。シート制限を超えるデータ セットについては、DataTable の活用を検討してください。シートとインポートされたファイルの最大サイズの詳細については、「Smartsheet のシステム要件とガイドライン」を参照してください。
フィルターでは大文字と小文字が区別されます。ファイル内の値と完全に一致させるようにしてください。
フィルターを作成するには:
- [Filter (フィルター)] タブで [Add another filter (別のフィルターを追加)] を選択します。
- フィルター設定で入力列、比較演算子 (完全一致や部分一致など)、値を選択します。
- [Filter logic (フィルター ロジック)] ボックスで AND 演算子または OR 演算子を使用して各フィルターを結合します。
各フィルターの関係を定義するには、フィルター ID を使用します。フィルター ID は、各フィルターの横にある数字です。
Brandfolder Image
- [Next (次へ)] を選択します。
複雑なロジックを定義する
AND 演算子や OR 演算子とともに括弧を使用すると、複雑なフィルター ロジックを定義できます。
例
「(1 AND 2) OR 3」のようにロジックを組み合わせると、「(Department = “Services” AND Widget Size = “Large”) OR the Department = “Marketing”」という条件を満たすデータをすべて含めることができます。
この例では、サービス部門では大きなウィジェットのみがインポートされ、マーケティング部門ではすべてのウィジェットがインポートされます。
ステップ 5: ソースとターゲットの間で列をマッピングする
ソース ファイルのどの列をターゲットの列にマッピングするかを指定します。ここでは次のことに注意してください。
ソースの列とターゲットの列の名前が一致していなくてもかまいません。
ソースの列名がターゲット シートの列名と一致する場合、それらの列名は自動的にマッピングされます。これらのマッピングは追加や編集が可能です。
ソースやターゲットのすべての列をマッピングする必要はありません。
キー列の値に基づいてターゲットにデータを結合した場合は、「Unique Identifier (一意の識別子)」列を選択する必要があります。詳細については、主要用語を参照してください。
インポート後にフィールドの書式設定に問題が発生した場合は、[Column Type (列タイプ)] の書式設定機能を選択して、列の書式を変更します。このオプションは、[Source (ソース)] フィールドと [Sheet Column (シート列)] の間の列の非表示メニューです。
元のシートを変更する場合は、[Refresh (最新の情報に更新)] を選択して、ソースの列とターゲットの列を更新します。最新の情報に更新すると手動で行った変更は上書きされるため、列が正しくマッピングされていることを確認してください。
マッピング時に「Source File (ソース ファイル)」の列と [Sheet Columns (シート列)] が表示されます。
列をマッピングするには、「Source File (ソース ファイル)」列のドロップダウンを選択します。次に、右側に表示される Smartsheet の列に対する適切なマッピングを選択します。
すべてのマッピングが完了したら、[Next (次へ)] を選択します。
ステップ 6: ワークフローをスケジュールする
ワークフローが自動的に実行されるようにスケジュールする方法は次の 2 つです。
- Run on attachment (添付ファイル/リンクで実行)
- Run on schedule (スケジュールに従って実行)
いずれか 1 つを選択する、両方選択する、両方選択しないを設定できます。設定しない場合は、手動でワークフローを実行する必要があります。
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 などの共有ドライブが含まれます。
- [Run on Schedule (スケジュールに従って実行)] をオンに切り替えます。
- スケジュールを設定するには、次のフィールドを入力します。
- Days of the week (曜日): ワークフローを実行する曜日
- Start time (開始時刻): ワークフローを実行する時刻
- Execute every (頻度): ワークフロー スケジュールを実行する頻度(例: 15 分ごと)
- End time (終了時刻): ワークフロー実行を終了する時刻
[Next (次へ)] を選択します。
Data Shuttle では GMT を使用しています。
手動で実行する
このオプションは選択可能な設定ではありませんが、Data Shuttle ワークフローの構築後に手動で実行することができます。これには、[Run on attachment (添付ファイル/リンクで実行)] または [Run on schedule (スケジュールに従って実行)] が設定されている場合が含まれます。
ワークフローを公開すると、任意のワークフローにカーソルを合わせて、[Run (実行)] を選択することで、ダッシュボードから手動でワークフローを実行できます。
ワークフローの実行ステータスは、ダッシュボードの 「Last Run (UTC) (最終実行 (UTC))」列に表示されます。
ステップ 7: 入力式を使用する (オプション)
オプションとして入力式を使用して、Smartsheet の数式を、Data Shuttle を使用してシートに取り込まれたデータに適用することができます。多くの場合、このステップは実行せず、代わりにターゲット シートにデータをアップロードした後で列の数式を作成します。
例
複数のソース ファイルが反映されている Smartsheet の 1 つのシートで、特定のデータ行のデータ ソースを区別する必要があるとします。1 つのファイルが Netsuite をソースとし、もう 1 つのファイルが Oracle をソースとしている場合、Data Shuttle のアップロードの際に入力式を使用してソースを特定できます。
ソースの場所情報でデータにタグ付けする
ターゲット シートには、入力式に使用する列がすでに含まれている必要があります。この例では、列が「Source (ソース)」になっています。
Brandfolder ImageData Shuttle ワークフローを構築するとき、マッピング ステップで「Source (ソース)」列をスキップします。
Brandfolder Image- [Expressions (式)] タブで [Add another expression (別の式を追加)] を選択します。
- [Unique Field Name (一意のフィールド名)] に新しい列名を入力します。この例では、Source (ソース) を使用しています。
[Function Syntax (関数構文)] フィールドに数式を入力します。この例では、=”Netsuite” を使用しています。
Brandfolder Image[Mapping (マッピング)] タブに戻り、この式フィールドを対応する列にマッピングします。この例では、[Source (ソース)] を [Source (ソース)] にマッピングしています。
Brandfolder Image
ワークフローの構築が完了して公開した後、Data Shuttle を実行すると、アップロードされた行に数式が配置されます。この例では、「Source (ソース)」列のセルを選択すると、=" Netsuite" という数式が表示されます。
ほかの列の値を参照する関数を含め、すべての Smartsheet 関数を式として使用できます。
使用例:
- =TODAY()。この数式は TODAY() 関数に配置され、シートが開かれるたびに更新します。
- =RIGHT(Location@row,3)。「Location (場所)」列と対応する行にある文字列の正しい 3 文字を引き出します。
ステップ 8: 新しいワークフローを公開する
- [Input Expressions (入力式)] ページで作業を完了したら、[Next (次へ)] を選択します。
- ワークフローの名前を入力し、[Publish (公開)] を選択します。これで、Data Shuttle ダッシュボードのワークフローの実行、編集、削除が必要なときに、いつでもアクセスできるようになりました。
- Data Shuttle ワークフローに [Run on a schedule (スケジュールに従って実行)] を設定している場合は、指定した時刻にワークフローが実行されます。
- [Run on attachment (添付ファイル/リンクで実行)] を選択した場合や、いずれのオプションも選択しない場合は、ワークフローを手動で実行する必要があります。その際は、Data Shuttle ダッシュボードのワークフローにカーソルを合わせて、[Run (実行)] を選択します。