注目キーワード
  1. 予実管理

テーブルに空レコードを追加する(複数テーブル)

170-60 | テーブル

krewDataでは、テーブル作成時にレコードが存在しない場合、テーブルレコードが作成されません。
この場合にテーブルに空レコードを追加する方法をこちらのドリルで紹介しました。

しかし、この方法では複数テーブルに対しレコードを追加する設定では正しく動作しません。
 ※以下の様に、他のテーブルレコード数分、空レコードが出力されてしまいます。

複数テーブル出力する際に、空レコードを1レコードのみ追加する方法を紹介します。

1.メインレコードに設定するフィールドを抽出し、重複を削除する

  1. 入力アプリコマンドで「入出荷アプリ」を選択し、以下のフィールドを指定する
     対象フィールド:「商品名」「入出荷」「日付」「利用部署」「数」
  2. フィールド選択コマンドを追加し、「商品名」フィールドを選択する
  3. 重複の削除コマンドを追加し、「商品名」が重複するレコードを削除する

2.入荷テーブルに出力するレコードを抽出する

  1. フィルタコマンドを追加し、入出荷フィールドが「入荷」のレコードで絞り込む
  2. アプリ結合コマンドで重複削除したメインレコードと、入荷テーブルに出力するレコードを結合する
     ・結合方法:左外部結合
     ・結合キー:商品名(重複の削除) = 商品名(入荷レコード抽出)
  3. 定数の追加コマンドにて、結合したレコードに対し「ダミーフィールド」を追加する
  4. フィールド選択コマンドにて不要なテーブルを除外し、入荷テーブルに設定するフィールド名を変更する
     ・選択フィールド:商品名、入荷_日付(日付)、入荷_利用部署(利用部署)、入荷_数(数)、入荷_ダミー(ダミー)

3.出荷テーブルに出力するレコードを抽出する

  1. フィルタコマンドを追加し、入出荷フィールドが「出荷」のレコードで絞り込む
  2. アプリ結合コマンドで重複削除したメインレコードと、出荷テーブルに出力するレコードを結合する
     ・結合方法:左外部結合
     ・結合キー:商品名(重複の削除) = 商品名(出荷レコード抽出)
  3. 定数の追加コマンドにて、結合したレコードに対し「ダミーフィールド」を追加する
  4. フィールド選択コマンドにて不要なテーブルを除外し、出荷テーブルに設定するフィールド名を変更する
     ・選択フィールド:商品名、入荷_日付(日付)、出荷_利用部署(利用部署)、出荷_数(数)、出荷_ダミー(ダミー)

4.テーブル作成を行い、レコードを出力する

  1. レコード結合コマンドを追加し、入荷テーブル/出荷テーブルに追加するレコードを結合します
     ・結合方法:すべてのフィールドを含める
  2. テーブル作成コマンドで、「入荷テーブル」「出荷テーブル」を作成する
     ・レコードに保持するフィールド:商品名
     ・新しいテーブル名「入荷テーブル」
      ⇒テーブルに保持するフィールド:「入荷_日付」「入荷_利用部署」「入荷_数」「入荷_ダミー」
     ・新しいテーブル名「出荷テーブル」
      ⇒テーブルに保持するフィールド:「出荷_日付」「出荷_利用部署」「出荷_数」「出荷_ダミー」
  3. 出力アプリコマンドで「入出荷一覧管理」アプリを指定し、以下の設定を行う。
     ・更新キー:商品名
     ・入荷テーブルの出力方法「再作成」
     ・出荷テーブルの出力方法「再作成」 

プレビューで出力結果を確認する

各テーブルに出力レコードがない場合、空レコードが1レコードのみ表示されることを確認
・入荷テーブル:商品Cのレコードで確認

・出荷テーブル:商品Bのレコードで確認

サンプルファイルのダウンロードはこちら
https://download.krew.mescius.jp/study/krewdata-drill/basic/dt170-60add-blanktable.zip

演習をお客様のkintone環境で試す

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