連番を設定する(自動採番機能を使用しない方法)

#Sheetモード_krewSheetドリル , #基本編_krewSheetドリル , #運用_krewSheetドリル
130-110 | データ編集・追加


krewDataには、自動採番の機能が搭載されておりますが、この機能による採番はレコードの出力時に行われるため、フロー内で連番を設定して利用することができません。
今回ご紹介する方法では、複数のコマンドを組み合わせることで、 「レコード出力時」ではなく「データ編集フローの処理の中」で、連番を設定することができます。
本ページでは例として、「案件管理」アプリの「確度」がAの会社について、「レコード番号」の昇順で連番を設定します。


本ドリルで紹介する方法を設定するにあたり、注意すべき点が2点あります。

【注意事項1】
本ドリルでご紹介する方法では、「特定のフィールド」の値で並び替えたレコードの順番に基づいて、連番を設定します。
(例:「案件管理」アプリの「確度」がAの会社について、「レコード番号」の昇順で連番を設定)
この「特定のフィールド」は、以下の条件を満たしている必要があります。

<条件>
1.値が重複しないフィールド(例:レコード番号・「値の重複を禁止する」にチェックの入ったフィールド 等)
2. 大小の比較ができるフィールド(例:数値フィールド・日付フィールド 等)

【注意事項2】
本ドリルでご紹介する方法には、レコード同士を総組合せ(全件×全件)で結合を行う工程が含まれており、その結果、処理過程において一時的にレコード数が大幅に増加する場合があります。
(例:連番を設定したいレコードが10件の場合、10×10の100件まで一時的にレコードが増加します。)
そのため、処理対象のレコード数が多い場合には、処理負荷が高まり、エラーが発生する可能性がございます。
この点につきまして、あらかじめご留意ください。

入力アプリのフィールド構成

案件を管理するアプリです。


1. 入力アプリに案件管理アプリを設定する

1. 入力アプリコマンドを追加し、アプリの選択で「案件管理」アプリを選択する。
2. 標準フィルタで「確度」がAのレコードに絞り込む。
3. 入力対象のフィールドとして「レコード番号」「会社名」「確度」を選択する。



2. 連番を設定する

1. 定数の追加コマンドを追加する。
2. 値が1である、数値タイプのフィールド「定数」を追加する。


3. フィールド選択コマンドを追加する。
4. 使用するフィールドに「レコード番号」「定数」を選択する。
5. 手順4のそれぞれのフィールド名を「レコード番号結合用」「定数結合用」に設定する。



6. アプリ結合コマンドを追加する
7. 以下内容で設定する。
結合方法:完全外部結合
元になるアプリ:「定数の追加」の「定数」
結合するアプリ:「フィールド選択」の「定数_結合用」



結合した結果(プレビュー画面)
すべてのレコード同士が結合されます。
(例:入力レコード数が10件の場合、レコード数は、10×10=100件となります。)


8. フィルタコマンドを追加する。
9. 以下の数式を設定する。
数式:レコード番号>=レコード番号_結合用


フィルタした結果(プレビュー画面)
「レコード番号」>=「レコード番号_結合用」が絞りこまれます
「レコード番号」ごとのレコード件数は以下のようになります。

レコード番号"1":1件
レコード番号"3":2件
レコード番号"4":3件
→この件数が、次のコマンドの処理で出力される「連番」の値となります。



10. グループ化コマンドを追加する。
11. グループ化する項目に「レコード番号」「会社名」「確度」を選択する。
12. 以下の内容で設定する。
2.集計する値が保存されているフィールドを選択:定数
3.集計した値を保存するフィールド名を入力:連番
4.集計方法を選択:個数


連番を設定することができました。


サンプルファイルのダウンロードはこちら

演習をお客様のkintone環境で試す
実際の動作を確認できるテンプレートを公開しています。
こちらの記事でご紹介した内容をご自身の環境で試したい方はダウンロードしてご利用ください。