Q&A

回答の並べ替え:
投稿新規に質問を投稿する

テーブルデータの分析

okada okada

2024-06-27 08:38

販売実績データを登録しているテーブルがあります。
その中から、A列に売れた製品を表示させ、B列より右に、数量や金額を集計して表示したいと考えています。

A列の表示の仕方ですが、製品マスタから全ての製品を表示させ、一致するものを集計しようとすると、製品マスタのデータ量が多すぎて、不要行を削除する必要がある為、ムダな処理が発生してしまいます。
販売実績テーブルから販売された製品のみを重複を避けて表示するようなやり方があればベストだと思うのですが、良い方法はないでしょうか。

okada okada
ありがとうございます。

挙動を確認させていただきます。
新日本コンピュータマネジメント株式会社 新日本コンピュータマネジメント株式会社 パートナー
メダルベストアンサー
ご提示致しました設定の場合、動作としては、内部結合と同じ動作となるため、
製品マスタの全ての製品は表示されず、合致した情報のみ出力されます。

以上、よろしくお願いいたします。
メールコンタクトをとる
okada okada
日本コンピュータシステム(CELFチーム)様

コメントありがとうございます。
SQL構文はこれまで作成していなかったので、勉強の意味も含めて内容を確認させていただきます。
okada okada
新日本コンピュータマネジメント株式会社様

コメントありがとうございます。
試してみようと思いますが、このアクションだと、マスタに登録されている製品すべてが表示されることにならないでしょうか。
販売があったもののみが表示されるようであればありがたいのですが・・・
新日本コンピュータマネジメント株式会社 新日本コンピュータマネジメント株式会社 パートナー
こんにちは

データ操作内の「テーブル【】のデータを集計して出力する」のアクションを使っていただき、添付のように「集計前の絞り込み条件」にて【が次と一致する】を選択頂き、2つのテーブルのカラムを結合すれば実現可能です。

なお、テーブル選択時に「複数のテーブルを選択する」にチェックを入れることで、
テーブル一覧の左側にチェックボックス用の「□」が出現しますので、
対象のテーブルをチェックの上、OKボタンを押下してください。

以上、よろしくお願いいたします。
メールコンタクトをとる
日本コンピュータシステム(CELFチーム) 日本コンピュータシステム(CELFチーム) パートナー
こんにちは。
アクションセットのSQL「SQL文を実行してデータを取得する」アクションを利用しSQLで取得すれば実現できないでしょうか。
テーブルの構成が分かりませんが、以下のようなSQLを利用すれば無駄は省けると思います。
(SQL実行して試したわけではないので、間違っていたら御免なさい。)

select b.製品名, sum(a.数量), sum(a.金額)
from 販売実績データ a
left join 製品マスタ b
on a.製品コード = b.製品コード
group b.製品名
メールコンタクトをとる