DataCollectのはじめ方

kintoneのアプリのデータを集計して、その結果を別のkintoneアプリに入れるまでの手順です。最後に、kintoneの画面で集計結果が入るのを確かめます。

このページの流れ

動画で流れを見たい方はこちら(約14分)

見たいところから再生できます:
ログインしてkintoneとつなぐ(0:05)/集計に使う2つのアプリを登録する(1:24)/式を設定して、kintoneで集計する(5:14)

中断された場合は、進み具合に合わせて続きから始められます。

どこから始めるかわからないとき

どこから始めるかわからないときは、ログインしてみてください。
ログイン後、kintoneのURLを入れる画面が出る→手順2へ
『アプリ一覧』画面が表示され、一覧にアプリが2つある→手順10へ
『アプリ一覧』画面にアプリがない(1つしかない)→手順3へ


ログインしてkintoneとつなぐ

DataCollectにログインして、kintoneのURLを入力して連携します。この作業は最初の1回のみで問題ありません。

1.DataCollectの管理画面からログインする

ログイン後、サービス一覧の画面が表示される場合は、DataCollectの[開く]ボタンをクリックします。

うまくいかないとき:ログインできない

2.kintoneのURLを入力して[保存]する

kintoneのURL(https://(サブドメイン名).cybozu.com)を入力し、[保存]をクリックします。

うまくいかないとき:[保存]できない

  • エラー文言:「kintone URLが正しくありません。」
    →URLの形を確認してください。最後が.cybozu.comで終わる形です。アプリのURL(/k/123/などが付いたもの)ではありません。
  • エラー文言:「kintoneとの接続中に問題が発生しました。IP制限されているか、認証情報が間違っています。」
    →会社でアクセスできる場所を制限している場合(cybozu.comにIPアドレス制限を掛けている場合)、DataCollectのIP「18.178.59.125」を許可する設定が必要です。この設定はcybozu.comの管理者しかできないため、管理者に依頼してください。詳しくは DataCollect利用時のセキュリティ設定をご確認ください。
  • エラー文言:「アクセスするには認証が必要です。」
    →Basic認証を使っている場合のエラーです。[Basic認証を利用している]にチェックを入れ、ユーザー名とパスワードを入力して保存します。

集計に使う2つのアプリを登録する

集計したいデータが蓄積された「集計元アプリ」と、結果が入る「集計先アプリ」を用意して、DataCollectに登録します。
どちらのアプリを先に登録しても問題ありません。


3.kintoneのアプリストアから「製品在庫管理パック」を追加する

このページでは、kintoneのアプリストアにある「製品在庫管理パック」の2つのアプリを使います。

・集計元:「製品在庫管理」アプリ
入庫・出庫の記録(12件)。出庫は「個数(在庫計算用)」にマイナスで入る
・集計先:「製品マスタ」アプリ
製品の情報(食パン、トマト缶など6件)

補足
2つのアプリは「製品名」でつながっています。製品マスタのレコードを開くと、同じ製品名の入出庫が「入出庫履歴」に並んでいます。DataCollectで、この入出庫の個数を合計して「在庫数」に入れます。
自分のアプリで進める場合

次の条件がそろっていれば、自分のアプリでも同じ手順で進められます。

  • 集計元アプリに、集計したい数値のフィールドとデータがある
  • 集計先アプリに、結果を入れる数値フィールドがあり、レコードが1件以上ある
  • 2つのアプリに、同じ値が入る項目がある(例:製品名、顧客名)。集計元全体の合計を1つ出すだけなら不要です
  • どちらのアプリも、自分が「アプリ管理」の権限を持っている(APIトークンを作るため)

その場合は手順5へ進み、式は手順10で自分のアプリに合わせて組み立てます。迷ったら、まずこのページのアプリで一度通してから、自分のアプリで試すのがおすすめです。

うまくいかないとき:アプリを作る権限がない

kintoneの管理者に、アプリを作る権限をもらうか、アプリパックを追加してもらってください。自分で追加したアプリには「アプリ管理」の権限が最初から付くので、このあとのAPIトークンもそのまま作れます。


4.製品マスタに数値フィールド「在庫数」を追加して、[アプリを更新]まで押す

製品マスタを開き、歯車のマーク(アプリの設定)をクリックします。
「数値」フィールドをフォームに置き、フィールド名を「在庫数」にして、[フォームを保存]→[アプリを更新]をクリックします。

このフィールドに、DataCollectで集計した在庫数が入ります。


5.集計先アプリ(製品マスタ)のURLをコピーする

アプリを開いたときのブラウザのURLをコピーします。https://(サブドメイン名).cybozu.com/k/123/ のような形です。


6.DataCollectで[+アプリを追加]し、製品マスタのURLを入れる

手順5でコピーしたURLを「kintoneアプリのURL」に貼り付けます。
続けて「APIトークン生成はこちら」をクリックすると、kintoneの画面が開きます。

APIトークンは、DataCollectがkintoneのデータを読み書きするための合い言葉のようなものです。


7.kintoneでAPIトークンを作り、[保存]→[アプリを更新]まで押す

開いた画面で[生成する]をクリックし、権限の「レコード閲覧」「レコード編集」にチェックを入れてください。
続けてAPIトークンをコピーしたら、[保存]をクリックし、続けて[アプリを更新]をクリックします。

[生成する]だけでは終わりません
トークンを作ったら、次の2つを順番に押してください。どちらかを忘れると、作ったAPIトークンは使えません。
  • [保存](APIトークンの画面の下)
  • [アプリを更新](画面の上部)
DataCollectに戻る前に、この2つを押したか確認してください。
うまくいかないとき:[生成する]のボタンがない・設定画面が開けない

APIトークンを作れるのは、そのアプリの「アプリ管理」の権限を持っている人だけです。アプリを開いて、アプリ画面右上、レコード追加の「+」ボタンの右側に歯車のマーク(アプリの設定)が出ていなければ、権限がありません。

その場合は、kintoneの管理者に次のいずれかを依頼してください。

  • そのアプリの「アプリ管理」の権限をもらう
  • APIトークン(権限は「レコード閲覧」「レコード編集」)を作ってもらう

  依頼文例:DataCollect(kintoneのデータを集計するサービス)を試しています。
「〇〇」アプリについて、アプリ管理の権限をいただくか、「レコード閲覧」「レコード編集」の権限をつけたAPIトークンを発行していただけますか。


8.DataCollectに戻ってAPIトークンを貼り付け、[追加]をクリックする

手順7でコピーしたAPIトークンを貼り付けると、「アプリ名」に、kintoneのアプリ名「製品マスタ(在庫管理パック)」が自動で入ります。
アプリ名には括弧が使えないので、「製品マスタ」に直してください。
入力できたら[追加]をクリックします。

補足
DataCollectの「アプリ名」は、手順10の式の中で使います。短く分かりやすい名前にしておくと、式が読みやすくなります。kintoneのアプリ名と同じでなくて大丈夫です。数字から始まる名前は使えません。
うまくいかないとき:[追加]でエラーになる

よくある原因は次の4つです。

  • エラー:「指定したAPIトークンは、アプリで生成されたトークンと異なります。~」
    →手順7で[保存]または[アプリを更新]を押していない可能性があります。再度kintoneアプリ側で保存、アプリを更新してからAPIトークンを貼り付け、[追加]してください。
  • エラー:「このAPIトークンでは、指定したAPIを実行できません。」
    →APIトークンに「レコード閲覧」の権限がついていない可能性があります。再度kintoneアプリ側で「レコード閲覧」の権限を付与し、[保存]→[アプリを更新]を押します。その後、APIトークンを貼り付け[追加]してください。
  • エラー:「APIトークンとアプリ(id: 〇〇〇)の組み合わせが正しくありません。」
    →アプリのURLとAPIトークンが別のアプリのものである可能性があります。再度kintoneアプリのURLが正しいことを確認し、「APIトークン生成はこちら」からアクセスして、手順7→手順8と進んでください。
  • エラー:「使用できない文字が含まれています。~」
    →アプリ名に括弧などの使えない記号が入っています。自動で入った名前から「(在庫管理パック)」を消してください。使えるのは、文字・数字・通貨記号と記号(_ ・ ・ _ \)です。

9.製品在庫管理も同じように登録する

手順5~8と同じ操作で、製品在庫管理を登録します。違うのは次の3点です。

・製品在庫管理アプリのURLを入れる
・APIトークンの権限は、「レコード閲覧」にチェックを入れる
・自動で入るアプリ名「製品在庫管理(在庫管理パック)」を「製品在庫管理」に直す

DataCollectのアプリ一覧画面に、製品マスタと製品在庫管理の2つのアプリが並べば、このパートは完了です。


式を設定して、kintoneで集計する

集計先アプリ(製品マスタ)の「在庫数」に、同じ製品名の入出庫の個数を合計する式を入れます。続けて、kintoneにDataCollectのボタンを出すファイル(JavaScript)を登録し、在庫数が入るのを確かめます。
JavaScriptの登録はアプリごとに最初の1回だけです。

10.DataCollectで製品マスタを開き、「在庫数」に式を入れて[保存]する

DataCollectのアプリ一覧画面で製品マスタをクリックし、『フィールド式』を開きます。
続けて「在庫数」の入力欄に次の式を入れます。

=SUMIF(製品在庫管理!製品名, 製品名, 製品在庫管理!個数_在庫計算用)

製品在庫管理の中から、製品名がこのレコードの製品名と同じ入出庫を探し、その「個数(在庫計算用)」を合計する式です。出庫はマイナスで入っているので、合計がそのまま在庫数になります。

入力欄の下の「更新後の値」に数字が表示されたら、[保存]をクリックします。

式で使うのは「フィールドコード」です
フィールドコードには括弧が使えないため、「個数(在庫計算用)」のフィールドコードは「個数_在庫計算用」と、フィールド名と少し違います。
上の式をコピーするか、下の方法で入れると、打ち間違いを防げます。
①「アプリ」から「製品在庫管理」を選び、「個数(在庫計算用)」行をクリックする
②「製品在庫管理!個数_在庫計算用」が入力欄に自動で入る
自分のアプリで進める場合

自分のやりたいことやアプリ構成に合わせてフィールド式を組み立ててください。

式の立て方が分からないときは、AIに「製品ごとに在庫数を合計したい」のように、やりたいことを伝えると、式を提案してくれます(AI機能について)。

うまくいかないとき:保存のときにエラーが出る

入力の途中は「フィールド式の構文に間違いがあります。」と出ることがありますが、式が完成すれば消えます。よく出るエラーは次の2つです。

  • エラー:「循環依存が検出されました」:式の中で、そのフィールド自身を使っています。詳しくはこちら
  • エラー:「範囲ではないもの…を指定してください」:「製品在庫管理!個数_在庫計算用」のような範囲を、SUMIFなどの関数で囲まずに、そのまま足し引きしています。詳しくはこちら

集計元アプリのレコードが10,000件を超えるときは、絞り込み条件の設定が必要です(絞り込み条件を設定する)。


11.DataCollectで、JavaScriptファイルをダウンロードする

kintoneアプリにDataCollectのボタン([まとめて更新]など)を出すためのファイルを設定します。

①『DataCollectボタン』を開きます。
②[ダウンロード]をクリックして、JavaScriptファイルをダウンロードします。
③[JavaScript / CSSでカスタマイズ設定]をクリックします。kintoneのアプリの設定画面が開きます。


12.kintoneでファイルをアップロードし、[保存]→[アプリを更新]まで押す

①開いた画面の「PC用のJavaScriptファイル」で[アップロードして追加]をクリックし、手順11でダウンロードしたファイルを選びます。
②[保存]をクリックします。
③右上の[アプリを更新]をクリックします。

ここでも[アプリを更新]まで押してください
[保存]だけでは、kintoneにDataCollectのボタンは出ません。手順7と同じく、[保存]→[アプリを更新]の順に押します。
うまくいかないとき:設定画面が開けない・アップロードの欄がない

JavaScriptファイルを登録できるのは、「cybozu.com共通管理者」または「kintoneシステム管理者」権限を持っている人だけです。kintone画面上部の歯車マークを押した際に、[kintoneシステム管理]が表示されていなければ、権限がありません。

その場合は、kintoneの管理者に次のように依頼してください。

  依頼文例:DataCollect(kintoneのデータを集計するサービス)を試しています。「〇〇」アプリに、DataCollectのJavaScriptファイルを登録していただけますか。レコード画面にDataCollectのボタンを出すためのものです。ファイルを添付します。


13.製品マスタの「食パン」のレコードを更新する

製品マスタの「食パン」のレコードを開き、[レコード更新]をクリックします。

「更新処理が正常に完了しました。」と表示され、「在庫数」が70になったら成功です。
「入出庫履歴」の入庫300から、出庫50・100・80を引いた数です。

ほかのレコードで[レコード更新]を行った場合、次のようになります。

製品名在庫数
食パン70
緑茶50
トマト缶30
バター・野菜ジュース・牛乳0(入出庫記録なし)
補足
全件更新したいときは、レコード一覧画面で[まとめて更新]を押します。
うまくいかないとき:エラーが出る・値が入らない
  • 値が入らない:製品マスタのAPIトークンに「レコード編集」の権限が付いているか確認してください(手順7)。
  • エラー(まとめて更新時):「一度に実行できるレコード数は1000件までです。」:[まとめて更新]で、一覧に1,000件以上のレコードが出ています。一覧を絞り込んで、1,000件以内にしてから押してください。詳しくはこちら
  • エラー:「データベースのロックに失敗したため…」:ほかの人やプログラムが同じレコードを操作しています。時間をおいて、もう一度押してください。詳しくはこちら
うまくいかないとき:[レコード更新]のボタンが表示されない
  • 手順10でフィールド式を[保存]していない
  • 手順11の『DataCollectボタン』画面で「表示しない」が選択されている
  • 手順12で[アプリを更新]を押していない
  • kintoneの画面を再読み込みしていない

これで最初の集計ができました

kintoneのアプリのデータを集計して、その結果を別のアプリに入れられるようになりました。

次に試すこと

自分の業務に合わせて集計する(AIで式を作る・件数を数えるなど)

条件に合うレコードの件数を数えたり、別のアプリのレコードの値を引用したりできます。(SUM・COUNTIF・XLOOKUPの設定例)/利用可能な関数一覧。
自分の業務で集計したいことが決まったら、AI機能にやりたいことを伝えて、式を提案してもらえます(AI機能について)。

自動で集計する(時間指定更新・Webhook更新)

毎回ボタンを押さなくても、決まった時刻や、入出庫が登録されたタイミングで、在庫数を自動で更新できます。時間指定更新を設定する(スタンダードコース以上)/Webhook更新を設定する(プレミアムコース以上)

ほかの人と一緒に設定する

複数人で一緒にフィールド式の設定・編集を進められます。
ライセンス管理機能について
ユーザーライセンスについて

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です