みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
皆様、
どうしてもわからないので質問です。
「商品データ」テーブルがあります
商品CD・品番・品名・色・サイズ・売価・コストなどのフィールドで構成されています。
商品CD+色コード+サイズコード
0000000+000+000
で13ケタでコードを作成して登録してあります。
このテーブルとは別に用意されたテーブルに、
ExcuteSQL関数で商品CDを条件として
色バリエーション、サイズバリエーション、価格バリエーションなどを取得することができました。
(例)
色バリエーション
---------------
001白/002グレー/003黒
サイズバリエーション
---------------
S/M/L/LL/3L/4L
価格バリエーション
----------------
1000/1300/1600
フィールドを連結して
下記のようなリストも作成しました。
S:1000
M:1000
L:1000
LL:1000
3L:1300
4L:1600
これをもとにして
S/M/L/LL :1000
3L :1300
4L :1600
または
S~LL:1000
3L:1300
4L:1600
という結果を返したいと思っています。
以上、知恵をお貸しください。
環境:FileMaker Pro Advanced 12(Win)
Offline
その商品の価格ごとのサイズのリストということですか。色は全く関係ないんですね?
SQLExecuterさま
ありがとうございます。
色は関係ありません。
サイズによって価格が変わってきます。
(標準サイズ/B寸価格/BB寸・・・のように)
Last edited by FMA12ユーザー (2014-01-23 17:29:40)
Offline
ここの部分だけなら、価格で集計する、という方法でいいはずですが、多くの商品があり、それぞれに同様の設定があるんですよね。
Offline
SQLにはList関数がないので、あんまりいいのが思いつかない...
FM13の集計フィールドには、リストが使えるようになった。
商品CDと価格で自己リレーションすると、
Subsitute(List(~~))
で
S/M/L/LL
が各レコードに計算できるので、それを
SELECT それ,価格
FROM 商品データ
WHERE 商品CD=?
GROUP BY それ,価格
でどうですかね。
GROUPがすごく遅かった記憶が...
どこに出すか、によっても対応が変わりますね。
印刷する、でしたら、価格表の中で集計してしまえば、ごく簡単です。
Offline
返信遅くなりました
>ここの部分だけなら、価格で集計する、という方法でいいはずですが、
もとになっているデータが約50万件(SKU)あり、品番・品名レベルで集約されたリストを作成し(これが1レコードになります)、そこにその商品の色バリエーション、サイズバリエーション、価格バリエーションを、ExcuteSQLにて返しています。
価格は、金額バリエーションだけを出しても、どのサイズがどの金額かわからないので、サイズと金額を組み合わせた値を利用すると
S:1000
M:1000
L:1000
LL:1000
3L:1300
4L:1600
のようになってしまい、
情報としての見通しが悪いと考えます。
(上記の例は以外のサイズ表記バリエーションがあります。靴のサイズやズボンのサイズなど)
上記のような構造の結果、
ひとつのレコードに、区切り文字(スラッシュや改行文字など)で区切られた値が返されている現状です。
このフィールド内でLoop処理を行えば、求めているものが導き出せるのではないかと検討はつけているのですが・・・。
Offline
Pages: 1
[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 515.51 KiB (Peak: 520.05 KiB) ]