新規投稿
フォローする

テーブルの値2つを数値フィールドへ転記する

いつも大変お世話になっております、Erikoと申します。

ただ今売上予測のアプリを作成しており、

営業担当がテーブルへ入力したものをステータス(ドロップダウン)ごとに合計できるようにアプリを構築中です。

 

現在、テーブルは

・会社名(文字列)

・ステータス(ドロップダウン)

・売上(数値)

・粗利(数値)

の項目からなっており、

 

■第6回 サブテーブルの値を利用する
https://cybozudev.zendesk.com/hc/ja/articles/202422244-%E7%AC%AC6%E5%9B%9E-%E3%82%B5%E3%83%96%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E3%81%AE%E5%80%A4%E3%82%92%E5%88%A9%E7%94%A8%E3%81%99%E3%82%8B

■サブテーブルの合計をカテゴリごとに数値フィールドに出したい
https://cybozudev.zendesk.com/hc/ja/community/posts/206793303-%E3%82%B5%E3%83%96%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E3%81%AE%E5%90%88%E8%A8%88%E3%82%92%E3%82%AB%E3%83%86%E3%82%B4%E3%83%AA%E3%81%94%E3%81%A8%E3%81%AB%E6%95%B0%E5%80%A4%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%E3%81%AB%E5%87%BA%E3%81%97%E3%81%9F%E3%81%84

 

これらの記事を参照に、売上に関しては合計値をステータスごとに数値フィールドに転記することに成功しました。

 

ここで質問なのですが、

二つ目の数値である粗利に関しても同様に数値フィールドに合計値を記載したい場合、どのようにすればよいでしょうか?

 

よろしくお願いします。

 

Eriko

 

0

10件のコメント

Avatar
武井 琢治

Erikoさん
売り上げについては既に出来ているとのことですので、
粗利についても売り上げ同様に各サブテーブル行から値を取得&ステータスごとに合計していき、
最終的な値を別の数値フィールドに代入することで表示することが可能かと思われます。

0
Avatar
Eriko

武井様

コメントありがとうございます。

>粗利についても売り上げ同様に各サブテーブル行から値を取得&ステータスごとに合計していき、

ここまでは可能なのですが、

>最終的な値を別の数値フィールドに代入する

部分で躓いております。

と言いますのも、ステータス名のフィールドコード(「サブテーブルの合計をカテゴリごとに数値フィールドに出したい」記事の数値フィールド パン、ごはん、おかず)は

既に売上のほうで使用しておりますので、粗利を表示するためにどのようにして書き換えればいいのかが分からない状態です。

 

もしよろしければ、フィールドの追加なども含めて

ご教授願えないでしょうか?

 

よろしくお願いします。

 

Eriko

0
Avatar
武井 琢治

Erikoさん

少々当方がご要件を完全に飲み込めていないのかもしれませんが、

売り上げの合計は各ステータスごとの数値フィールドを既に用意しており、

粗利の合計はまた別に各ステータスごとの数値フィールドを用意していると考えてよろしいでしょうか。

 

上記であるとすると恐らく記事内の下記の部分で悩まれているのかと思います。

 

         if (event.type === 'app.record.create.submit' || event.type === 'app.record.edit.submit') {
for (var key in sum) {
record[key].value = sum[key];
}
}

 

これはあくまで先の記事のためにこのような非常にまとまった書き方をしているだけでありまして、

Erikoさんの場合は下記のように逐一指定して代入してしまえばよろしいかと思います。

お試しくださいませ。

 

         if (event.type === 'app.record.create.submit' || event.type === 'app.record.edit.submit') {
record.売り上げ合計1.value = sum["ステータス1売り上げ"];
record.売り上げ合計2.value = sum["ステータス2売り上げ"];
record.粗利合計1.value = sum["ステータス1粗利"];
       record.粗利合計2.value = sum["ステータス2粗利"];
}
0
Avatar
Eriko

武井様

おっしゃる通り、各ステータスごとに数値フィールドを用意している状態です。

一度ご提示いただいた方法で試してみたのですが、


record.売り上げ合計1.value = sum["ステータス1売り上げ"];
record.売り上げ合計2.value = sum["ステータス2売り上げ"];
record.粗利合計1.value = sum["ステータス1粗利"];
     record.粗利合計2.value = sum["ステータス2粗利"];

「sum["ステータス1売り上げ"];」の部分には数値フィールドのフィールドコードを入力するかと思うのですが、

「record.売り上げ合計1.value」という部分には、何を入力すればよろしいでしょうか?
重ね重ね、質問ばかりで申し訳ありません。
よろしくお願いします。

Eriko
0
Avatar
武井 琢治

Erikoさん

いえいえ、説明が不足しておりましてすみません。

 

>>粗利についても売り上げ同様に各サブテーブル行から値を取得&ステータスごとに合計していき、

>ここまでは可能なのですが、

とのことですので、既に粗利の計算はできているものと思われます。

そこで先ほどの回答となりますが、

「record.売り上げ合計1.value = sum["ステータス1売り上げ"];」
上記はもう少し細かく申し上げますと、

「record.合計を表示したい数値フィールドのフィールドコード.value = 売り上げや粗利のステータスごとの合計の値」

ということになります。

sumはあくまで以前の記事で計算した時の計算方法を踏襲していた場合ですので、
粗利の計算が出来ていらっしゃるのであれば、それを代入していただければ問題ございません。
0
Avatar
Eriko

武井様

ありがとうございます、無事に動きました!

 

そして重ね重ね本当に申し訳ないのですが、最後にもう一つだけ質問をさせてください。

数値フィールドへの書き込みの際、テーブルにステータスがないものを数値フィールドへ「0」と表示することは可能でしょうか?

例:「今月売上」ステータスの行がない場合 → 「今月売上」数値フィールドへ「0」を転記

 

よろしくお願いします。

 

Eriko

0
Avatar
武井 琢治

Erikoさん
色々なやり方があるかと思いますが、
一つの方法として、
コードの最後に常に全ての数値フィールドに代入するようにし、
「record.合計を表示したい数値フィールドのフィールドコード.value = 売り上げや粗利のステータスごとの合計の値 || 0」
のようにすることで、ステータスごとの合計の値が存在しない場合は0を表示可能かと思います。

0
Avatar
Eriko

武井様

ありがとうございます、無事に0を表示することができました!

 

武井様のおかげで無事、思い描いていたものを作ることができました。

何から何まで教えていただき、本当にありがとうございました。

今後ともどうぞよろしくお願いいたします。

Eriko

0
Avatar
Eriko

武井様

最後の質問と申しておきながら、重ねてもう一つ質問です、すみません。

スペースフィールドに表示した

●ステータス名:各ステータスの合計値

という部分がありますが、こちらの合計値を桁区切りに表示することは可能でしょうか?

よろしくお願いします。

Eriko

0
Avatar
武井 琢治

Erikoさん
こちらも色々なやり方があるかと思いますが、
合計値.toLocaleString()とすることで桁区切りが可能です。

0
サインインしてコメントを残してください。