関連レコードの使い方と集計のやり方

公開 書いた人 大林 諒

顧客のレコードを開いたら、その顧客の案件が並んでいてほしい。kintoneでこれをやるのが関連レコード一覧です。設定は5分で終わりますが、使い始めるとすぐ「この案件の金額を合計したい」となり、そこで手が止まります。関連レコード一覧は別のアプリのレコードを条件で探して並べて見せるだけの部品で、値を持っていないので、合計も計算もできません。この記事では、顧客管理と案件管理の2アプリを例に、関連レコード一覧の設定項目を全部埋め、そのうえで顧客ごとの案件合計を出す方法を4つ、向き不向きと一緒に書きます。アプリを作ってフィールドを配置し、公開したことがある人を前提にしています。

この記事の内容
  1. 先に決めること
  2. 設計表
  3. 作る手順
  4. 顧客ごとの案件合計を出す
  5. 一覧とCSVでの扱い
  6. スマホでの見え方
  7. 応用
  8. できないことと、その代わり
  9. よく詰まるところ
  10. 次にやること

先に決めること

関連レコード一覧は「見せるだけ」と割り切る

関連レコード一覧は、レコードの詳細画面に、条件に一致したほかのアプリ(同じアプリも可)のレコードを一覧で出す機能です。中身は参照先のアプリにあり、顧客のレコードには何も保存されません。参照先のレコードを更新すれば、関連レコード一覧の表示も変わります。

公式ヘルプには、関連レコード一覧の値は「集計」「自動計算」「アプリ内検索」の対象にならないと書かれています。レコードの一覧画面にも出せず、ファイルにも書き出せません。つまり、関連レコード一覧の中の金額を足して顧客の欄に出す、という使い方は標準機能ではできません。

ここを最初に割り切っておくと設計が楽になります。履歴を見るのは関連レコード一覧、数字を出すのは別の手段、と役割を分けます。

つなぐキーを何にするか

関連レコード一覧は「このアプリのフィールドの値」と「参照するアプリのフィールドの値」が一致したレコードを出します。このキーの選び方で、あとから困るかどうかが決まります。

顧客名をキーにするのは避けます。社名変更や「株式会社」の有無の表記ゆれで、つながりが切れます。文字列(1行)の値を等しいかどうかで比べるとき、比べるのは先頭の64文字までという制限もあり、長い正式名称だと別の顧客の案件まで出ることがあります。

実際に回っている形は、顧客管理に「顧客コード」を文字列(1行)で置き、「値の重複を禁止する」をオンにして、案件管理からはルックアップでその顧客コードを取ってくる形です。キーが変わらず、重複もしないので、関連レコード一覧もルックアップの一括更新もCSVの書き戻しも、全部このコードで回せます。

顧客コードを振る文化がない会社なら、顧客管理のレコード番号をキーにする手もあります。案件管理のルックアップで、コピー元のフィールドに顧客管理のレコード番号を選べば、関連レコード一覧の条件に組み合わせられます。ただし、アプリを作り直すと番号が振り直されるので、移行の予定があるなら顧客コードのほうが安全です。

合計を「どこで」見たいか

合計の出し方は、見たい場所で決まります。

  • 担当者が一覧で顧客ごとの数字を見比べられればいい → 案件管理のグラフ(表)
  • 顧客のレコードの中に数字を持たせて、並び替えや条件通知にも使いたい → 集計結果を顧客管理に写す(CSVかAPI)
  • 顧客の詳細画面を開いたときに数字が見えればいい → JavaScriptで画面に出す

設計表

顧客管理

フィールド名種類設定
顧客コード文字列(1行)必須。「値の重複を禁止する」をオン。全部のつながりのキー
顧客名文字列(1行)必須
業種ドロップダウン集計の切り口。案件管理にもコピーする
担当営業ユーザー選択顧客の主担当
受注合計数値集計結果を写す欄。写す運用をしないなら置かない
案件一覧関連レコード一覧案件管理を顧客コードで表示
合計表示スペースJavaScriptで合計を出すときだけ。要素IDを付ける

案件管理

フィールド名種類設定
顧客コードルックアップ関連付けるアプリは顧客管理、コピー元のフィールドは顧客コード。必須
顧客名文字列(1行)ルックアップの「ほかのフィールドのコピー」で入る
業種ドロップダウン同上。顧客管理の業種をコピー
案件名文字列(1行)必須
ステータスドロップダウン商談中/受注/失注
金額数値必須。最小値を0
受注金額計算IF(ステータス="受注", 金額, 0)
受注日日付受注したら入れる
担当ユーザー選択案件の担当
顧客表示文字列(1行)計算式 顧客コード & " " & 顧客名。表の分類に使う

受注金額を計算フィールドで別に持つのは、あとで顧客ごとに合計を写すときに、受注がゼロになった顧客もゼロとして出すためです。理由は合計の節で書きます。

表示するレコードの条件に使える組み合わせ

条件の左側(このアプリ)と右側(参照するアプリ)に選べるフィールドは、種類の組み合わせで決まっています。公式ヘルプの表を整理すると次のとおりです。

このアプリのフィールド参照するアプリのフィールド
文字列(1行)、ルックアップ(コピー元が文字列(1行))文字列(1行)、リンク、ルックアップ(コピー元が文字列(1行))
数値、計算、ルックアップ(コピー元が数値か計算)数値、計算、レコード番号、ルックアップ(コピー元が数値、計算、レコード番号)
リンク、ルックアップ(コピー元がリンク)リンク、ルックアップ(コピー元がリンク)。リンクは「入力値の種類」をそろえる
レコード番号、ルックアップ(コピー元がレコード番号)数値、計算、ルックアップ(コピー元が数値、計算、レコード番号)

この表にない種類、たとえば日付、ドロップダウン、ユーザー選択はキーにできません。テーブルの中のフィールドも指定できません。計算フィールドは表示形式にかかわらず数値として比べられ、日付の表示形式ならその日の午前0時(協定世界時)のUNIX時刻として扱われます。

日付が同じレコードを出したいときは、公式ヘルプが回避策を出しています。両方のアプリに計算フィールドを足して計算式に日付のフィールドコードだけを書くか、文字列(1行)に DATE_FORMAT(日付, "YYYY-MM-dd", "Etc/GMT") を設定し、その欄同士を条件にします。

作る手順

案件管理にルックアップを置く

先に参照される側の案件管理を作ります。顧客管理は顧客コードと顧客名、業種まで配置して公開しておきます。

  1. 案件管理のフォームにルックアップを配置し、設定を開きます。
  2. フィールド名を「顧客コード」にします。
  3. 「関連付けるアプリ」で顧客管理を選びます。
  4. 「コピー元のフィールド」で顧客コードを選びます。
  5. 「ほかのフィールドのコピー」で、顧客名→顧客名、業種→業種を追加します。
  6. 「コピー元のレコードの選択時に表示するフィールド」に顧客名と業種を追加します。
  7. 「保存」をクリックします。
  8. 「フォームを保存」、「アプリを公開」の順にクリックします。

ルックアップはテーブルの外に置きます。テーブルの中のルックアップは、関連レコード一覧の条件に使えません。

案件管理のルックアップの設定。関連付けるアプリが顧客管理、コピー元のフィールドが顧客コード
案件管理のルックアップの設定。関連付けるアプリが顧客管理、コピー元のフィールドが顧客コード

顧客管理に関連レコード一覧を置く

  1. 顧客管理の「アプリの設定」で「フォーム」タブを開きます。
  2. 関連レコード一覧をフォームにドラッグします。
  3. 配置した関連レコード一覧の歯車アイコンにカーソルを合わせ、「設定」をクリックします。
  4. フィールド名を「案件一覧」にします。
  5. 「参照するアプリ」で案件管理を選びます。
  6. 「表示するレコードの条件」の左側で顧客コード、右側で案件管理の顧客コードを選びます。
  7. 「さらに絞り込む条件」を決めます(次の表)。
  8. 「表示するフィールド」を選びます。
  9. 「レコードのソート」を選びます。
  10. 「一度に表示する最大レコード数」を選びます。
  11. 「フィールドコード」を「案件一覧」にします。
  12. 「保存」をクリックします。
  13. 「フォームを保存」をクリックします。
  14. 「アプリを更新」をクリックします。
関連レコード一覧の設定ダイアログ全体。参照するアプリから一度に表示する最大レコード数まで
関連レコード一覧の設定ダイアログ全体。参照するアプリから一度に表示する最大レコード数まで

設定項目をひとつずつ決める

設定項目決めること顧客管理×案件管理での決め方
フィールド名見出し「案件一覧」。「フィールド名を表示しない」で隠すこともできる
参照するアプリどのアプリのレコードを出すか案件管理。同じアプリも選べる
表示するレコードの条件どの値が一致したら出すか顧客コード=顧客コード
さらに絞り込む条件参照先のフィールドの値でさらに絞るか全部出すなら「すべてのレコード」。失注を隠すならステータス≠失注
表示するフィールド一覧に出す列案件名、ステータス、金額、受注日、担当
レコードのソート並び順受注日の降順か、レコード番号の降順
一度に表示する最大レコード数詳細画面と印刷画面に出す件数1、3、5、10、20、30、40、50から選ぶ
フィールドコード計算式やAPIで使う名前案件一覧

さらに絞り込む条件は、+で複数足せます。複数にしたときは「すべての条件を満たす」か「いずれかの条件を満たす」を選びます。

表示するフィールドには、関連レコード一覧、テーブル、グループ、ラベル、スペース、罫線は選べません。テーブルの中の明細を出したいときは、明細を別アプリに分けるか、親のレコードに合計を持たせてそれを表示します。列の幅は変えられず、フィールド名の文字数で幅が決まります。短い列名にしたいなら、案件管理側のフィールド名を短くします。

ソートに使えるのは文字列(1行)、数値、計算、ドロップダウン、日付、ルックアップ、レコード番号などで、テーブルの中のフィールドと関連レコード一覧は使えません。

一度に表示する最大レコード数は、取引の多い顧客で効いてきます。件数が多い顧客なら、さらに絞り込む条件で商談中だけに絞った関連レコード一覧と、全件の関連レコード一覧を2つ並べるほうが、50件をスクロールするより早く読めます。

数値の桁区切りや小数の丸めは、参照先のアプリ(案件管理)の設定がそのまま出ます。顧客管理の側で表示を変えることはできません。

顧客のレコード詳細。案件一覧に案件名、ステータス、金額、受注日が並んだ状態
顧客のレコード詳細。案件一覧に案件名、ステータス、金額、受注日が並んだ状態

アクセス権との関係

表示するレコードの条件とさらに絞り込む条件は、見ている人のアクセス権で判定されます。条件に使ったフィールドの閲覧権限がない人には、条件が正しく判定されません。案件管理で金額のフィールドを営業だけに見せる設定にしているなら、金額を絞り込む条件に使うと、営業以外の人には意図どおりに出ません。条件に使うフィールドは、顧客管理を見る全員が閲覧できるものにします。

同じアプリを参照する使い方

参照するアプリには同じアプリも選べます。問い合わせ管理に関連レコード一覧を置き、参照先を問い合わせ管理自身にして、顧客コード同士を条件にすると、同じ顧客の過去の問い合わせが並びます。開いているレコード自身も一覧に出るので、さらに絞り込む条件でステータス=完了にしておくと、過去分だけになります。

なお、アプリの動作テスト環境では、ほかのアプリを参照している関連レコード一覧には運用環境のデータが、同じアプリを参照しているものには動作テスト環境のデータが出ます。テストで件数が合わないときは、たいていこれが理由です。

顧客ごとの案件合計を出す

ここからが本題です。関連レコード一覧の中の金額は足せないので、案件管理の側で数えるか、別の仕組みで顧客に数字を運びます。方法は4つあります。

方法1:案件管理のグラフ(表)で出す

標準機能だけで、いちばん早くできます。

  1. 案件管理の一覧画面で「集計する」アイコンをクリックします。
  2. 「グラフの種類を選んで作成」から「表」を選びます。
  3. 「分類する項目」の「大項目」で顧客表示を選びます。
  4. 「集計方法」で「合計」を選び、金額を選びます。
  5. 「条件」でステータス=受注を指定します。
  6. 「ソート」で「集計値」の「降順」を選びます。
  7. 「保存する」をクリックし、グラフ名を「顧客別受注合計」にします。

表は分類に1つのフィールドしか使えないので、コードと社名をつないだ顧客表示を分類にしています。顧客コードだけでは表がコードの羅列になって読めません。

顧客ごとの案件の中身は、顧客管理の関連レコード一覧か、案件管理の一覧を顧客コードで絞り込んで見ます。

注意点が3つあります。「保存する」はアプリ管理権限のある人にしか出ません(「適用」はその場で自分の画面に出すだけです)。分類する項目の値が空のレコードは集計されないので、顧客コードが空の案件は合計から漏れます。集計されるのは、見ている人が閲覧権限を持つレコードだけなので、人によって合計が違って見えることがあります。

顧客別受注合計の表。顧客表示と受注金額の合計が降順で並んだ状態
顧客別受注合計の表。顧客表示と受注金額の合計が降順で並んだ状態

方法1の続き:集計結果を顧客管理に写す

表の数字を顧客のレコードに持たせると、顧客管理の一覧で受注合計の列を並べたり、受注合計で並び替えたりできるようになります。公式ヘルプにも手順が載っている方法です。

  1. 案件管理で、分類する項目の大項目を顧客コードにした表を別に作ります。集計方法は受注金額の合計、条件は空にします。
  2. その表を開き、「オプション」から「CSV形式で書き出す」をクリックします。
  3. 顧客管理の一覧で「オプション」から「ファイルから読み込む」を選びます。
  4. 書き出したファイルを指定し、「先頭行をファイルの列名として扱う」にチェックを入れます。
  5. 「アプリへの反映方法」で「レコードの更新と追加」を選びます。
  6. 「更新キー」に顧客コードを選びます。
  7. 受注金額の合計の列を受注合計に、顧客コードの列を顧客コードに割り当てます。
  8. 「読み込む」をクリックします。

条件を空にして受注金額(受注以外は0になる計算フィールド)を合計するのがコツです。条件でステータス=受注に絞ると、受注が失注に変わって合計が0になった顧客はCSVに出てこず、顧客管理には古い合計が残り続けます。全案件を顧客コードで分類しておけば、0の顧客も0として上書きされます。

更新キーに顧客コードを使えるのは「値の重複を禁止する」をオンにしているからです。CSVの中に顧客管理にない顧客コードがあると、その行は新しい顧客として追加されます。案件管理の顧客コードはルックアップで入れているので通常は起きませんが、顧客を削除したあとの古い案件があると起きます。

ファイルの読み込みで更新したレコードでは、レコードの条件通知は送られません。「受注合計が1,000万円を超えたら通知」のような使い方は、この方法ではできません。

集計結果の書き出しにはファイル書き出しの権限が要ります。月に一度、月初に写す、のように回す日を決めておきます。

方法2:ルックアップを逆向きに使い、案件の側で数える

顧客ごとの合計を顧客に持たせるのをやめて、顧客の情報を案件にコピーし、案件の側で全部数える考え方です。

ルックアップの「ほかのフィールドのコピー」で、顧客管理の業種、地域、顧客ランクなどを案件管理にコピーしておくと、案件管理の表やグラフの分類に使えます。業種別の受注合計、地域別の商談件数、ランク別の平均単価が、顧客管理に手を入れずに出せます。

会議で見られるのは「この顧客はいくら買っているか」より、業種や担当で切った数字のほうが多いのが実際です。数字はすべて案件管理で出し、顧客管理は関連レコード一覧で中身を見る場所、と分けると、仕組みが一番壊れにくくなります。

ルックアップでコピーした値は取得したときの値で、顧客管理の業種をあとで変えても案件管理は自動では変わりません。まとめて直すときは、案件管理をファイルに書き出し、顧客コードの列を「ファイルから読み込む」で読み込み直します。ルックアップを読み込みで更新すると、ほかのフィールドのコピーの値も一緒に更新されます。

方法3:プラグインを使う

アプリの間で値を集計して書き込む処理は、プラグインでも作れます。製品サイトの「プラグイン・連携サービス」から探し、入れる前に次の3点を提供元の説明で確かめます。

  • 集計した値を顧客管理のフィールドに保存するのか、画面に出すだけなのか
  • 案件を編集、削除したときにも計算し直すのか
  • スマホのkintoneアプリでも動くのか

ライトコースではプラグインを使えません。スタンダードコース以上が必要です。プラグインはkintoneシステム管理者がkintoneシステム管理で追加し、そのあとアプリ管理者がアプリの設定の「プラグイン」で追加します。1アプリに入れられるのは20個までです。

方法4:JavaScriptやAPIで合計を出す

顧客の詳細画面を開いたときに、その顧客の受注合計を計算して画面に出すJavaScriptです。顧客管理にスペースのフィールドを置き、要素IDを won_total にしておきます。

(() => {
  'use strict';
  const RELATED = '案件一覧';
  const SPACE = 'won_total';
  const events = ['app.record.detail.show', 'mobile.app.record.detail.show'];

  kintone.events.on(events, async (event) => {
    const mobile = event.type.indexOf('mobile.') === 0;
    const app = mobile ? kintone.mobile.app : kintone.app;
    const targetApp = app.getRelatedRecordsTargetAppId(RELATED);
    const space = app.record.getSpaceElement(SPACE);
    const code = event.record['顧客コード'].value;
    if (!targetApp || !space || !code) return event;

    let total = 0;
    let offset = 0;
    for (;;) {
      const query = '顧客コード = "' + code + '" and ステータス in ("受注")'
        + ' order by $id asc limit 500 offset ' + offset;
      const resp = await kintone.api(kintone.api.url('/k/v1/records.json', true), 'GET', {
        app: targetApp, query: query, fields: ['金額']
      });
      resp.records.forEach((r) => { total += Number(r['金額'].value || 0); });
      if (resp.records.length < 500) break;
      offset += 500;
    }
    space.textContent = '受注合計 ' + total.toLocaleString() + ' 円';
    return event;
  });
})();

関連レコード一覧の値はAPIでも取得できません。そのため、getRelatedRecordsTargetAppId で参照先のアプリIDだけをもらい、案件管理のレコードを顧客コードで直接取り直して足しています。レコードの一括取得は1回500件までなので、500件ずつ取って足しています。offsetに指定できるのは10,000件までです。ドロップダウンを条件にするときは = ではなく in を使います。

APIは画面を開いた人の権限で動くので、その人に見えない案件は合計に入りません。顧客の詳細を開くたびにAPIを呼ぶので、1日のAPIリクエスト数にも数えられます。画面上部の設定アイコンから「アプリ管理」を開き、「ライセンスの使用状況」の「1アプリで1日に実行できるAPIリクエスト数」で確かめられます。「上限」は1アプリあたりの値で、「使用中」に出るのは全アプリの合計ではなく、いちばん多く使ったアプリの数です。ライトコースではこの項目は表示されません。

画面に出すだけでなく受注合計のフィールドに保存したいなら、案件を保存したときに顧客管理を更新する処理を足すか、外の自動化ツールから毎朝APIで集計して書き戻します。どちらの場合も、足し引きで書き換えず、その顧客の案件を全部合計し直して上書きします。差分で書き換えると、編集や削除が1件漏れただけでずれが残ります。

JavaScriptのカスタマイズもライトコースでは使えません。適用できるのはkintoneシステム管理者だけで、アプリの設定の「JavaScript / CSSでカスタマイズ」から入れます。適用範囲を「アプリ管理者だけに適用」にして動きを確かめてから「すべてのユーザーに適用」に切り替えます。

顧客のレコード詳細。スペースの位置に受注合計が表示された状態
顧客のレコード詳細。スペースの位置に受注合計が表示された状態

4つの方法の選び方

方法顧客の画面に数字が出るか顧客一覧で並べられるか標準機能だけか
グラフ(表)出ない案件管理の表で見るはい
表をCSVで顧客に写す写した時点の数字が出るはいはい
ルックアップ逆向き出ない案件管理の表で見るはい
プラグイン製品による保存するなら可いいえ
JavaScript・API出る保存する処理を足せば可いいえ

最初は方法1で始め、顧客一覧で並べたくなったら月1回の書き戻しを足し、それでも追いつかなくなったらプラグインかJavaScriptに進むのが現実的です。

一覧とCSVでの扱い

関連レコード一覧は、レコードの一覧画面の列には出せません。ファイルへの書き出しでも、ラベル、添付ファイル、変更履歴と並んで、関連レコード一覧は書き出せないデータに入っています。顧客ごとの案件をExcelで渡したいときは、顧客管理ではなく案件管理を書き出し、顧客コードの列で並べ替えます。

一方で、絞り込みには使えます。一覧の絞り込みで関連レコード一覧の中のフィールドを条件にすると、その関連レコードに条件を満たす行が1行以上あるレコードが出ます。たとえば顧客管理で「案件一覧のステータス=商談中」と絞れば、商談中の案件を持つ顧客だけが並びます。ただし、関連レコード一覧に何も出ていないレコード、つまり案件が1件もない顧客を絞り込むことはできません。案件のない顧客を探したいなら、受注合計を写す運用にして、受注合計が空の顧客で絞ります。

顧客管理の絞り込み条件。案件一覧のステータスを条件に選んだ状態
顧客管理の絞り込み条件。案件一覧のステータスを条件に選んだ状態

スマホでの見え方

公式ヘルプに明記はありませんが、実際の画面では、スマホのkintoneアプリでもブラウザーのモバイル版でも、顧客のレコード詳細を開けば案件一覧は出ます。ただ、横幅が狭いので、表示するフィールドを5つも6つも並べると読めません。スマホで見る人が多いなら、案件名、ステータス、金額の3つまでに絞った関連レコード一覧をスマホ用に別に置き、PC用の多い列のものと並べておくのが実用的です。

合計の出し方はスマホで制約が増えます。モバイル版では表、クロス集計表、定期レポートを表示できず、集計の条件を指定することもできません。方法1の表は、スマホからは見られないということです。外回りの営業が顧客先で受注合計を見たいなら、方法1の書き戻しで顧客管理に数字を持たせるか、方法4のJavaScriptをモバイルのイベントにも登録して画面に出します。

モバイル版では、ルックアップで取得するときに絞り込みやソートを変える操作もできません。案件をスマホで登録するなら、ルックアップの「絞り込みの初期設定」と「ソートの初期設定」をPCで決めておきます。

どうしてもPCと同じ画面が要るときは、スマホのブラウザーで開き、ナビゲーションメニューの歯車アイコンから「PC版を表示」に切り替えます。kintoneモバイルアプリでは常にモバイル版の画面になり、切り替えはできません。kintoneシステム管理の「スマートフォンでの表示」で「ユーザー自身による表示の切り替えを許可する」が外れている場合も、このメニューは出ません。

スマホのレコード詳細。案件一覧が3列で表示された状態
スマホのレコード詳細。案件一覧が3列で表示された状態

応用

顧客のレコードから案件を登録する

顧客を開いて案件一覧を見ていると、その場で新しい案件を足したくなります。顧客管理にアクションを作ると、ボタン1つで顧客コードが入った案件の追加画面が開きます。

  1. 顧客管理の「アプリの設定」で「設定」タブを開きます。
  2. 「その他の設定」の「アクション」をクリックします。
  3. 「作成する」をクリックします。
  4. 「アクション名」を「案件を登録」にします。
  5. 「コピー先」で案件管理を選びます。
  6. 「フィールドの関連付け」で、顧客コード→顧客コードを指定します。
  7. 「保存」をクリックし、「アプリを更新」をクリックします。

アクションの利用者には、案件管理にレコードを追加する権限と、コピー先のフィールドを編集する権限が要ります。実際の画面では、開いた直後に顧客名がまだ入っていないことがあり、そのときは顧客コードの「取得」を押すと入ります。保存して顧客のレコードに戻ると、案件一覧に新しい案件が増えています。

顧客のレコード詳細の上部。案件を登録のアクションボタンが出た状態
顧客のレコード詳細の上部。案件を登録のアクションボタンが出た状態

1つの顧客に関連レコード一覧を複数置く

実際に回っている顧客管理では、1つのフォームに関連レコード一覧を複数置いています。案件管理を参照する「商談中の案件」と「受注済みの案件」、活動履歴を参照する「最近の活動」、問い合わせ管理を参照する「問い合わせ履歴」を並べると、顧客のレコードがその顧客の全部を見る画面になります。並べすぎると詳細画面が長くなるので、最大レコード数は5か10にして、全件は参照先のアプリで見る運用にします。

できないことと、その代わり

やりたいこと標準でできるか代わりの手
関連レコード一覧の金額を合計するできない参照先の表で集計する。CSVで写す。プラグインかJavaScript
関連レコード一覧の値を計算式で使うできない合計を数値のフィールドに写してから計算する
関連レコード一覧を一覧画面の列に出すできない参照先のアプリの一覧を顧客コードで並べる
関連レコード一覧をCSVに書き出すできない参照先のアプリを書き出す
アプリ内検索で関連レコードの中身を探すできない参照先のアプリで検索する
日付やドロップダウンをキーにするできない計算か文字列(1行)に値を写してキーにする
テーブルの中のフィールドをキーや列にするできない明細を別アプリに分ける
関連レコード一覧の値を条件通知に使うできない合計を数値のフィールドに持たせ、APIで更新する
スマホで集計の表を見るできない顧客管理に合計を写すか、JavaScriptで画面に出す
列の幅を変えるできない参照先のフィールド名を短くする

よく詰まるところ

症状原因直し方
関連レコード一覧に何も出ない条件の左右が別の値を見ている。顧客コードの表記が違う顧客コードはルックアップで入れる。左右の欄の値を1件ずつ見比べる
条件の右側に使いたいフィールドが出てこない組み合わせられない種類の組み合わせ組み合わせの表どおりの種類にそろえる
日付が同じレコードを出したいのに日付が選べない日付はキーにできない計算か文字列(1行)に日付を写してキーにする
テーブルの中のルックアップがキーに選べないテーブルの中のフィールドは条件に使えないルックアップをテーブルの外に置く
人によって表示される案件が違う条件に使ったフィールドの閲覧権限がない人がいる条件に使うフィールドは全員が閲覧できるものにする
別の顧客の案件が混ざる顧客名など長い文字列をキーにしている(先頭64文字までしか比べない)短い顧客コードをキーにする
社名を変えたら案件が消えた顧客名をキーにしていた顧客コードをキーにし、案件管理の顧客名はルックアップを読み込み直して更新
顧客の合計欄に計算式を書いたら案件一覧を選べない関連レコード一覧は計算式で参照できない方法1から4のどれかで合計を出す
書き戻した受注合計が古いまま合計が0になった顧客がCSVに出ていない受注金額の計算フィールドを全件で合計し、条件は空にする
書き戻したら知らない顧客が増えた顧客管理にない顧客コードがCSVにあった案件管理の顧客コードを見直し、削除済み顧客の案件を整理する
表の合計が人によって違う閲覧権限のないレコードは集計されない案件管理の閲覧権限を見直す。合計は権限のある人の画面で見る
スマホで顧客別の表が開けないモバイル版は表を表示できない顧客管理に合計を写すか、JavaScriptで出す

次にやること

関連レコード一覧のキーにするルックアップの細かい設定、とくに顧客名を変えたあとの一括更新は「ルックアップの使い方。自動取得・一括更新の実際」にまとめています。顧客管理アプリをまだ作っていないなら「kintoneで顧客管理アプリを作る全手順(項目設計から一覧・通知まで)」から始め、案件管理とのつなぎ方を通しで組むなら「kintoneで案件管理を組む。顧客管理とつなぐ作り方」が続きです。受注合計を写したあと、顧客管理の一覧で並び替えたり絞り込んだりする設定は「一覧の作り方。絞り込み・並び替え・カレンダー表示まで」で扱っています。

あわせて読む