初心者のFileMaker pro Q&A

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。

何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

ログインしていません。

アナウンス


#1 2021-02-19 19:05:38

MaYa
メンバー

集計で表示された値を検索したいです。

集計で表示された値を検索したいです。

環境:win10
FMP:filemaker pro14 advance

お客さん  商品名
田中さん  かぼちゃ
田中さん  人参
吉田さん  スイカ
鈴木さん  スイカ
鈴木さん  人参
鈴木さん  かぼちゃ


「お客さん」毎に並べて、そのお客さんが何種類買ったかを数えます。 商品種数の多い順に並べます。

手順:パートの定義で、「お客さん」を小計ソート対象
「商品種数」フィールドのタイプを集計にして、集計フィールドのオプションで「お客さん」をカウントします。
パートの定義で「お客さん」を小計ソート対象にして
ソートを「お客さん」にして
集計フィールフィールドに基づいて並べ替え をチェックし、対象は「商品種数」にします。
次のように表示されます。

これからがやりたいことなのです。
の内の商品種が2のものだけを表示させたいです。
検索対象にならないので検索ができません。
方法をご存じでしたら教えてください。



吉田さん  スイカ
           商品種数:1

田中さん  かぼちゃ
田中さん  人参
           商品種数:2

鈴木さん  スイカ
      人参
      かぼちゃ
           商品種数:3

オフライン

#2 2021-02-19 20:15:56

himadanee
ゲストユーザー

Re: 集計で表示された値を検索したいです。

商品名に重複はないんですか?

全レコードからなら、名前でリレーションしてCount()すればフィールド値で出るので検索もできます。ただし計算結果が保存されないので大量データでは遅いかも。

追加の数字フィールドを作って集計値を全置換で入れれば検索できます。

#3 2021-02-22 14:23:59

MaYa
メンバー

Re: 集計で表示された値を検索したいです。

商品名が重複しても良いです。
目的は、うまく説明がしにくいのですがこんな感じです。
例:田中さん 作業名かぼちゃ を行った
  田中さん 作業名人参 を行った
  田中さん 作業名かぼちゃ を行った
つまり、田中さんは3つの作業(かぼちゃ2回と人参1回)を行ったという事になります。
そういった集計をして、3つの行を行った人を探したいのです。

上の
全レコードからなら、名前でリレーションしてCount()すればフィールド値で出るので検索もできます。ただし計算結果が保存されないので大量データでは遅いかも。
追加の数字フィールドを作って集計値を全置換で入れれば検索できます。
の意味について 具体的に教えてください。

オフライン

#4 2021-02-22 15:04:50

チポ
メンバー

Re: 集計で表示された値を検索したいです。

作業名の重複が有るのなら単なるカウントではダメですね。

全レコードを対象とする条件で、、

「お客さん」で自己リレーションし、
そのリレーションで作業名の動的値一覧を作ります。
その値一覧の項目数が作業種の数になります。

オフライン

#5 2021-02-24 21:06:12

MaYa
メンバー

Re: 集計で表示された値を検索したいです。

すみません うまくいきません。
動的値一覧は作れたのですが、件数の検索が解りません。

質問が良くなかったと思いますので改めて書きます。
【長いです すみません】
「伝票番号」 「会社名」 「納品」 「金額」 「合計」
111    A社   ねじ  100
111    A社   材木  150
111                250
112    B社   ねじ  200
112                200
113    A社   ドリル 150
113    A社   紐   200
113    A社   ねじ  50
113                400
114    C社   ねじ  80
114                80
115    B社   ねじ  150
115                150

とします。
伝票番号111はA社に2種類の商品を納品(2件の取引をした)
伝票番号112はB社に1種類の商品を納品(1件の取引をした)
伝票番号113はA社に3種類の商品を納品(3件の取引をした)
伝票番号114はC社に1種類の商品を納品(1件の取引をした)
伝票番号115はB社に1種類の商品を納品(1件の取引をした)
という事になります。
A社には合計5種類の商品を納品(5件の取引をした)
B社には合計2種類の商品を(2件の取引をした)
C社には合計1種類の商品を(1件の取引をした)
という事になります。

今回の目標は合計2種類(2件の取引)をした会社を検索する事です。
そのためには、会社名が登場するレコード数をカウントすることにしました。

困ったことにレコードの途中に合計金額のレコードや商品説明のレコードが混じっています。

先ず、
パートの定義の小計ソート対象 を使ってレコード件数をカウントすることにしました。
「レコードカウント」という名のタイプ:計算フィールドを作り、=Count(会社名)
レイアウトのパートの定義(ボディ)に「伝票番号」 「会社名」 「納品」 「金額」を並べ
パートの定義(小計ソート対象)には「会社名」と「レコードカウント」を配置しました。
ブラウズに切り替えてレコードのソートで「会社名」を対象にし、「集計フィールドに基づいて並び替え」にチェックをしてソートをしました。

現在の表示は

(ボディ)
111    A社   ねじ  100
111    A社   材木  150
113    A社   ドリル 150
113    A社   紐   200
113    A社   ねじ  50
(小計ソート対象)    A社  5件

(ボディ)
112    B社   ねじ  200
115    B社   ねじ  150
(小計ソート対象)    B社  2件

(ボディ)
114    C社   ねじ  80
(小計ソート対象)    C社  1件

です。

その中から「レコードカウント」が2のレコードを選ぶのが今回の目的です。
検索をには計算フィールドの「レコードカウント」が扱えません。
「レコードカウント」の値を各レコードに書込んだらどうかと考えましたが、全れーどの件数を持ってきてしまいます。

提案がありましたらお教えください。
よろしくお願いいたします。

オフライン

#6 2021-02-25 07:43:54

himadanee
ゲストユーザー

Re: 集計で表示された値を検索したいです。

今回も言葉が今一不明瞭だと思いますが、
「A社には合計5種類の商品を納品(5件の取引をした)」
「ねじ」が2回あるので、普通は4種類と言いませんか?

置換するなら、GetSummary()を使えばいいはずです。
リレーションなら、会社名でリレーションすれば合計金額のレコードでは空欄なので関連しません=カウントされません。ただしリレーションだと全レコードが対象なので、「検索されたレコード内で」になりません。「今月分で」とか検索条件に相当するリレーション条件の追加等が必要になります。

#7 2021-02-25 18:44:59

MaYa
メンバー

Re: 集計で表示された値を検索したいです。

ありがとうございます。
GetSummaryを練習しています。

種類と件数の表記はどう書いたらいいかわからないので「A社には合計5種類の商品を納品(5件の取引をした)」と書きました。
「ねじ」が2回あるので、普通は4種類と言いませんか?:実際にはねじには仕様が異なっていて同じではないのですが、すでに渡されているレコードにはねじとしか書いていなく、調べると違うのでそう書いています。
結局5種類の取引をしたという事になるという・・・

ありがとうございます。

GetSummaryで件数は表示できました。
あとはGetSummaryの値を検索するところです。
>リレーションなら、会社名でリレーションすれば合計金額のレコードでは空欄なので関連しません=カウントされません。ただしリレーションだと全レコードが対象なので、「検索されたレコード内で」になりません。「今月分で」とか検索条件に相当するリレーション条件の追加等が必要になります。
がその方法でしょうか。

オフライン

#8 2021-02-25 21:01:26

himadanee
ゲストユーザー

Re: 集計で表示された値を検索したいです。

GetSummaryの値を全置換で入れればそのまま検索できます。(計算フィールドだとなぜか検索できません)

クィック投稿

メッセージを書いて送信してください。
登録の確認

実在の人物による登録であることを確認します。

Board footer