みんなの投稿

毎月の価格変動を管理するシステムを作りたいです

プロジェクトごとの合計価格は、各部品の価格交渉・材料費インフレや海外メーカー部品では為替変動によって毎月変動します。

1.社内システムからある月(例えば今やっているのは11月分)の変動履歴・変動要因データ(11月分であれば11月に変動があった部品番号のみ登録されているデータ)をExcelにダウンロード
2.当該プロジェクトに使っている部品番号一覧のExcelでXLOOKUPを使って,1のデータを検索し、変動があった部品番号を抜き出す
3.変動があった部品番号の変動額を抜き出し、手入力で転記(各部品の購入通貨が違うため、JPY:1とした為替に基づいた通貨ごとの合計金額も算出。)
4.変動した原因も社内システムではコードになっているので、そのコードを対応するものに整理
例えばコード11と12が「インフレ」という変動要因を示すものであれば、ダウンロードしたデータの中からコード11と12と書かれた部品の変動額を合計してインフレの合計額を出す。

以上を現在すべてExcelでやっています。

今回アドバイスいただきたいのは、
・ダウンロードしたデータが入ったアプリから当該プロジェクトに使用されている部品のみ抜き出してその値を返す方法
・変動要因別に合計して集約する方法
→画像二枚目EA~EKまですべて「材料」として合計

になります。

使えるプラグイン
・Krewsheet ・KrewData ・krewDashboard ・kMailer ・FormBridge ・kViewer ・条件付き入力制御プラグイン ・gusukuCustomine ・kBackup

よろしくお願いいたしますm()mm()m

2件のコメント (新着順)

こんにちは。

一連の流れはkrewDataの1スロットで対応できますね。

インポート後のおおまかな手順です。
1.変動履歴・変動要因データアプリを入力アプリに指定
2.部品番号一覧(アプリ)を入力アプリに追加、1をアプリ結合
3.通貨ごとの為替レート(アプリ)入力アプリに追加、2をアプリ結合して計算
4.変動要因マスタ(アプリ)を入力アプリに追加、3とアプリ結合
 ※フィルタ条件が少ないなら直接3をフィルタでもOK
5.4を集計した結果を結果アプリに出力

まず1と2だけ組み合わせてやってみて、うまくいったら3を組み合わせ、
みたいな感じでやってみると良いかと思います。
krewDataはフロー途中の計算結果がプレビューで見られるので
修正もしやすいかと考えます。

※2,3,4アプリは適宜追加してください

以上です。


みかん
製造業
2025/12/16 17:11

sujiさん
アドバイスありがとうございます。

質問一枚目の画像のように、毎月の変動をテーブルで蓄積していきたいのですが、
テーブルはアプリ結合コマンドに入ると破棄されてしまうようで、、、

その後ろにテーブル作成をつけてみたのですが、
元データで一部品番号に対して複数の変動要因と変動がある場合は行が複数になってしまい、更新キーがエラーになってしまいます、

つまり、一部品番号に対する変動額合計をテーブルで蓄積したいのと、
変動要因ごとの合計額も出したいというところで躓いています。

こんにちは。

おっしゃる通り、テーブルだと扱いがちょっと難しいので
私は更新(または追加)ではなく再生成にしています。
再生成の場合すでにテーブルにあるデータは一度削除されますが、
過去データに変更が無ければ計算結果は同じなので問題ないという判断です。
履歴は汚くなりますが、バッチ集計後のデータにそもそも履歴はいらない
……はずなので。

なお、この場合、入力データのフィルタ時、最新データだけではなく
過去データまで拾わないといけなくなるため注意が必要です。
※1年分のデータ集計で利用しているのでそれほどの負荷が無いとの判断

更新で対応したい、もしくは長期間にわたるような場合は、
テーブル内に1フィールド増えますが、更新キーになるものを
krewData内で生成する方法があります。
たとえば、画像の項目を参考にすると、月と変動要素コードを結合して
9-11をキーにしてしまう、という感じです。
複数年蓄積していくような場合は、202509-11みたいな感じでしょうか。

以上です。

テーブルはアプリ結合コマンドに入ると破棄されてしまうようで、、、

テーブル含むアプリを結合する際は、まずテーブル展開
https://docs.krew.mescius.jp/krewdata/#command_convert_table_to_record.html

アプリ結合後に改めてテーブル作成
https://docs.krew.mescius.jp/krewdata/#command_create_table_from_record.html

の対応となります。
参考までに。

こんにちは。

ご相談内容は、基幹システムのデータとも連動する大変大がかりなシステム構成に見えますね。
ご相談の要点は以下の2点だと理解しています。

・ダウンロードしたデータが入ったアプリから当該プロジェクトに使用されている部品のみ抜き出してその値を返す方法
・変動要因別に合計して集約する方法

この「当該プロジェクト」を表すフィールドがkintoneアプリ上にあれば、単純にフィルター機能で絞り込むだけですが、
おそらく「当該プロジェクトに使っている部品番号一覧」と「kintoneアプリの部品番号」レコードの2つをマッチング処理で取り出したいということだと思います。

もし、2つのテーブル(kintone環境上のアプリ)を1つのキーでマッチングして取り出す処理をやりたいのであれば、
アプリA(プロジェクトのマスタで複数の部品番号が登録されている)と、アプリB(部品番号別に変動履歴・変動要因が登録されている)を、アプリAの部品番号の数だけループ処理して、アプリBから部品番号が一致するレコードを取り出して新しいデータセットを作成する、という処理になるのではないでしょうか?

これは、データ処理に関する専門知識を必要とする処理内容だと思います。
もし行うならば、KrewDataを用いた「マッチング処理」が一番イメージに近いと思います。
KrewDataは、異なるアプリ間にある共通のフィールド(部品番号など)を「連結キー」として指定し、それらの値が一致するレコード同士を関連付けて新しいデータセットを作成する機能があります。

私は、KrewDataという製品に詳しくありませんので、アプリ内のテーブルも分解して新しいデータセットにできる機能があるのかは分かりません。
ご相談内容の処理内容の複雑さを考慮すると、KrewData販社のサポート窓口の専門家に相談するのが良いかと思います。

あまり役に立たない助言ですみません。