横山と申します。
kintoneアプリで条件によりレコードをマージする処理を検討しています。
単一レコードです
マージするキー:地区コード+確定年月+用途コード が同じ値のレコードを合わせます
その際、数値項目は、集計します。
マージ結果は、csvで出力、データ一覧を想定しています
jscriptで作成を検討中です。どなたかご教示お願いします。
横山と申します。
kintoneアプリで条件によりレコードをマージする処理を検討しています。
単一レコードです
マージするキー:地区コード+確定年月+用途コード が同じ値のレコードを合わせます
その際、数値項目は、集計します。
マージ結果は、csvで出力、データ一覧を想定しています
jscriptで作成を検討中です。どなたかご教示お願いします。
横山さん
cstap武井です。
私が考える処理フローは以下です。
といった辺りではないでしょうか。
やり方は色々あると思います。
他にも、集計結果をデータとして持つことを前提に、
レコード保存時に当該レコードとマージキーが一致するものを毎回マージし、
「kintone標準の絞り込み機能→標準のcsv出力機能で出力」といった方法でもイケそうな気がします。
(こちらの方が楽かもしれません)
横山様
1)集計元レコードと集計後レコードを別アプリに保持するか
2)集計後レコードは、レコードとして保持する必要があるか
この2点あたりがポイントになるかと思います。
1)に関しては、集計元レコードと集計後レコードを同一アプリで保持した場合、集計元レコードの記録がなくなってしまう、あるいは、構成としてわかりにくくなってしまう為、個人的には別アプリに保持したほうが良いかなと感じます。
別アプリで保持する場合は、集計元レコードの保存後イベント(JavaScript)で、別アプリに該当条件でマージした値を毎回集計して、書き込む形になると思います。
2)に関しては、目的がCSV出力とデータ一覧だけであれば、レコードとして保持しなくても、kintoneの標準集計機能で、毎回表示するだけでも良いかもしれません。
武井様
回答有難う御座います。
サンプルコードがあれば、ご教示お願いします。
jsは、始めたばかりで初心者です。 お手数をお掛けしますが、宜しくお願い致します。
当該アプリのレコードを全件検索する→ループでマージするキーが一致するもののみ数値項目を集計する
のサンプルは、御座いますか。
横山
松村様
連絡有難う御座います
別アプリにデータを保存するサンプルは、御座いますでしょうか。
話には、聞いておりますが、初心者で有ることでイメージが見えないので、アドバイス戴けると助かります。
横山
横山様
一連の流れのサンプルは私の方にはないのですが、順を追っていくと下記の様な
順番となると思います。個別のURLには個別サンプルソースがありますので、それらを
組み合わせて、試行錯誤することになるかと。
1.JavaScript側 レコード保存成功後イベント で、
新規 https://cybozudev.zendesk.com/hc/ja/articles/201941984#success
編集 https://cybozudev.zendesk.com/hc/ja/articles/202166270#success
2.該当条件に合致するレコードをAPIで取得して、
レコードの一括取得(クエリで条件を指定)
https://cybozudev.zendesk.com/hc/ja/articles/202331474#step2
3.合計した結果を、別アプリにAPIでデータ保存する。
新規レコードの場合
https://cybozudev.zendesk.com/hc/ja/articles/202166160#step1
既存レコードの場合
https://cybozudev.zendesk.com/hc/ja/articles/201941784#step1
こまごましており恐縮ですが、このようなイメージです。
横山です。
手順のご案内有難う御座います。
このコードは、JSで作成すれば宜しいでしょうか
ご教示お願い致します。
横山です。
松村様 手順のご案内有難う御座います。
このコードは、JSで作成すれば、宜しいでしょうか
ご教示お願いします。
横山様
はい。JSでの作成となります。
松村様
お疲れ様です。
1.は、レコード表示イベント又は、ボタンで指示したいのですが、サンプルは、ありますでしょうか
松村様
お世話になります
REST APIの原則は、元アプリの追加・更新1レコードに対して、保存先アプリの1レコードのみ
の処理でしょうか。 これだと処理上全てのレコードを更新操作しなければならず、現実的では、ありません。
連続処理する方法は、前の問合せの通りですが、ありますでしょうか
ご教示をお願いします。 レコード番号以外を一括更新キーにしています
尚 別アプリは、レコード削除後常にレコード追加のみで考えています。
村松様
お世話になります。
別アプリにレコードを登録する フィールド は、ルックアップ、数値以外の制限がありました。
なにか回避方法が有れば、ご教示お願いします。
> hsy横山 さん
>REST APIの原則は、元アプリの追加・更新1レコードに対して、保存先アプリの1レコードのみ
>の処理でしょうか。 これだと処理上全てのレコードを更新操作しなければならず、現実的では、ありません。
>連続処理する方法は、前の問合せの通りですが、ありますでしょうか
>ご教示をお願いします。 レコード番号以外を一括更新キーにしています
>尚 別アプリは、レコード削除後常にレコード追加のみで考えています。
元アプリ1レコードの追加更新時に、保存先アプリが1レコードしか扱えないという制限はありません。
元アプリの追加・更新はあくまでイベントとしてとらえればよいと思います。
元アプリのイベント内にて、保存先アプリの複数レコードの参照、更新、挿入が可能です。
>別アプリにレコードを登録する フィールド は、ルックアップ、数値以外の制限がありました。
>なにか回避方法が有れば、ご教示お願いします。
ルックアップ、数値 も可能だったと思います。
>1.は、レコード表示イベント又は、ボタンで指示したいのですが、サンプルは、ありますでしょうか
松村様
回答有難う御座います
確認してみます。