初心者のFileMaker pro Q&A (旧掲示板)

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

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2013-11-04 15:28:16

apo
Member

ポータルフィルタで絞り込まれた全レコードの集計がしたい

またおねがいします。
ポータルフィルタと自己リレーションを使って商品テーブルを検索する仕組みを作ったのですが、
その商品テーブルの関連テーブルである売上と仕入テーブルから各々の金額の集計フィールドを持って来て、
ポータルのレコードに載せると、商品毎の売上集計と仕入集計が出せました。
そして今度はポータルでフィルタされた全ての商品レコードの売上集計を出す為に、商品テーブルに計算フィールドで
sum(売上テーブル::売上集計)というのを追加したのですが、そこではフィルタ関係なく売上テーブルの全合計が出るだけです。
ポータルフィルタで絞り込まれた全商品レコードの関連レコードだけをsumする事は出来ないでしょうか?

※※※ごめんなさい凄く大切な事を言うのを忘れていました。ポータルフィルタに絞りを任す為に商品テーブルとその自己リレーションは
×(←なんと言うのか分からない、、。)で結んであります。

Last edited by apo (2013-11-04 18:45:53)

Offline

#2 2013-11-04 16:16:01

ぽにぃ
Guest

Re: ポータルフィルタで絞り込まれた全レコードの集計がしたい

Sumでなく集計フィールドを配置します。

#3 2013-11-04 16:16:52

traveler
Guest

Re: ポータルフィルタで絞り込まれた全レコードの集計がしたい

ポータルフィルタは見かけ上だけで計算すると全関連データになります。

#4 2013-11-04 18:49:42

apo
Member

Re: ポータルフィルタで絞り込まれた全レコードの集計がしたい

ありがとうございます。

ごめんなさい凄く大切な事を言うのを忘れていました。ポータルフィルタに絞りを任す為に商品テーブルとその自己リレーションは
×(←なんと言うのか分からない、、。)で結んであります。。。

sumでなく集計フィールドを配置という事ですが、売上の集計フィールドをポータルの外に持ち出してもポータルの見た目の
レコードだけの合計にはならない様です。

Offline

#5 2013-11-04 20:04:03

keima
Member

Re: ポータルフィルタで絞り込まれた全レコードの集計がしたい

売上の集計フィールドをポータルの外に持ち出してもポータルの見た目の
レコードだけの合計にはならない様です。

そのポータルを複製して1行だけにして、そこに集計フィールドを配置します。

Offline

#6 2013-11-05 00:07:19

apo
Member

Re: ポータルフィルタで絞り込まれた全レコードの集計がしたい

ありがとうございます。
ポータルをコピーアンドペーストで複製し、一行表示に設定しましたが、
やはりその表示されている行の商品の集計が出るだけで複製元に置くのと変わらないのですが、
何かやり方が抜けているのでしょうか?

Offline

#7 2013-11-05 02:40:32

Hiro
Member

Re: ポータルフィルタで絞り込まれた全レコードの集計がしたい

ポータルテーブル側で集計フィールド(売上の合計)を作り、
それを複製した1行ポータルフィルタ内に置いて見ると、
フィルタを反映した合計結果が得られます。

Offline

#8 2013-11-05 08:55:50

Layouter
Guest

Re: ポータルフィルタで絞り込まれた全レコードの集計がしたい

>商品テーブルの関連テーブルである売上と仕入テーブルから各々の金額の集計フィールドを持って来て
こっちをSUM()にしないと、商品ごとの合計金額がポータル内のテーブルにないですよね。
このSUMのフィールドHIROさんの「売上」とみなして使えばできるでしょう。

#9 2013-11-05 19:52:40

apo
Member

Re: ポータルフィルタで絞り込まれた全レコードの集計がしたい

ありがとうございます。
商品テーブルをソースにする一行ポータルに売上テーブルの売上金額を集計する集計フィールドを置いてもその商品の集計しか出ません。
(ちなみにレイアウトは商品テーブルの自己リレーションのテーブル)
代わりに売上テーブルの売上金額をsumする計算フィールドを商品テーブルに作り、それを置く。で良いのでしょうか?
しかし、それをやってみたのですが、一体どこから計算したのか分からない数字が出てきます。。。

Offline

#10 2013-11-05 20:12:09

wader
Member

Re: ポータルフィルタで絞り込まれた全レコードの集計がしたい

最初の発言にある
>sum(売上テーブル::売上集計)というのを追加したのですが、そこではフィルタ関係なく売上テーブルの全合計が出る
これを見ると、商品と売上のリレーションができてないでしょう。(=でなくXになってる)
=にすれば「商品ごとの合計金額がポータル内のテーブルに」できますから、それを合計する集計フィールドを作ればいいのでは。

Offline

#11 2013-11-06 00:20:50

apo
Member

Re: ポータルフィルタで絞り込まれた全レコードの集計がしたい

ありがとうございます。

元々このレイアウトはグローバルフィールドにキーワードを入れ、ポータルフィルタを利用してリレーションで出来ない
柔軟な検索をしようとしています。なので、=で結ぶ事が初めからしていませんでした。その検索結果を集計したい
というのが当初の目的でした。
リレーションが×の状態でも商品ごとの合計金額はポータルの行に集計フィールドを入れると出せたのですが、
ポータルに表示されている値の集計は出来ませんでした。

もしかして検索機能で検索し、その結果を後部統計で集計すれば良いと思うのですが、レイアウトの自由が
効かないのが難点です。。

Offline

#12 2013-11-06 09:05:32

Layouter
Guest

Re: ポータルフィルタで絞り込まれた全レコードの集計がしたい

フィルタしたポータル内の合計は、そのポータル内のテーブルの集計フィールドを配置すればできます。
集計フィールドの集計対象がポータル内のテーブルにないので、Sum(売上::金額)で作ります。ここのリレーションが=です。

#13 2013-11-06 11:19:48

apo
Member

Re: ポータルフィルタで絞り込まれた全レコードの集計がしたい

ありがとうございます。

Layouterさん
商品テーブルと売上テーブルは=で繋がれていますが、その事ではないのでしょうか?

自分の頭の中の整理もかねてまとめてみます。
リレーションで絞りきれない柔軟な検索をする為にポータルフィルタを使ってレコードを絞ろうと思い、
商品テーブルの自己リレーションをソースにするレイアウトに商品テーブルがソースであるポータルを載せています。
検索キーを入れる用途の商品テーブルの自己リレーションのグローバルフィールドから、
検索対象の商品テーブルのフィールド(例えば商品名フィールド)が×で繋がれています。
検索キーを入れると、ポータルフィルタに則った絞られたレコード群がポータルに表示されます。

それら商品別のレコードに商品テーブルから商品番号が=で結ばれた売上テーブルの売上金額集計フィールドを載せると、
その商品だけの売上集計金額が表示されます。また、商品テーブルでsum(売上テーブル::売上金額)として
商品テーブル側で売上集計金額を作っても同様の結果になります。

そこでポータルに表示されている絞られた全てのレコードの売上金額を集計しようと思ったのですが、
こちらで教えて頂いたそのポータルを複製し一行にしたポータルを置き、集計フィールドを使ったり
sumを使ったりしたフィールドを置いても単に一行になっただけで元のポータルと同様の結果になりました。
という事でした。

Last edited by apo (2013-11-06 11:21:47)

Offline

#14 2013-11-06 12:08:13

Layouter
Guest

Re: ポータルフィルタで絞り込まれた全レコードの集計がしたい

バージョン書いてないけど12ですよね?

>その商品だけの売上集計金額が表示されます。
それを集計する集計フィールドを作って、それをポータル内に配置します。自己リレーションだからテーブルを間違えないこと。

元々は、
http://www.filemaker.com/12help/jp/html … tml#168402
「レコードのフィルタは、計算、集計、検索条件の結果に影響を及ぼしません。」
だったので、どうしてもわからないならフィルタを使わないリレーションで集計した方が簡単かもしれない。

http://www.filemaker.com/12help/jp/html … tml#719130
「どこでも」とありますが、フィルタのあるポータル内の集計は当然そのポータル内に配置した場合のみ可能です。

#15 2013-11-06 13:52:30

keima
Member

Re: ポータルフィルタで絞り込まれた全レコードの集計がしたい

ポータルフィルタの内容はどんなのですか?
絞り込むフィールドは単数、もしくは複数でしょうか。
通常の=リレーションでもグローバルフィールドをチェックボックスにして選んだりとかもできますけど。

Offline

#16 2013-11-06 15:32:19

apo
Member

Re: ポータルフィルタで絞り込まれた全レコードの集計がしたい

ありがとうございます。

Layouterさん
商品テーブルから商品番号が=で結ばれた売上テーブルの売上金額集計フィールドをまた商品テーブルで集計する集計フィールドを作って
一行ポータルに載せたらポータルで絞っただけの値が無事表示されました!ありがとうございました!以前にも同様の事をした様な気が
しますがやり方が間違えていたのか。。。

keimaさん
絞り込むフィールドは複数で、曖昧検索だったりある数値間の抽出だったりします。

Last edited by apo (2013-11-06 15:33:58)

Offline

#17 2014-05-18 20:39:52

まさる
Guest

Re: ポータルフィルタで絞り込まれた全レコードの集計がしたい

keima wrote:

売上の集計フィールドをポータルの外に持ち出してもポータルの見た目の
レコードだけの合計にはならない様です。

そのポータルを複製して1行だけにして、そこに集計フィールドを配置します。

私も似たような事例に悩まされているのですが、
上記の集計フィールドを配置するというのはどのような状況でしょうか?
単にレイアウトモードで1行のポータルの真上に乗せるだけですか?
操作のイメージがつかめず、うまくいない状況です。

#18 2014-05-19 10:08:01

Moz
Member

Re: ポータルフィルタで絞り込まれた全レコードの集計がしたい

まさる wrote:

上記の集計フィールドを配置するというのはどのような状況でしょうか?
単にレイアウトモードで1行のポータルの真上に乗せるだけですか?
操作のイメージがつかめず、うまくいない状況です。

横からですみません。

まさる さんの書かれているとおり、
1行のポータルを作成し、その上に集計フィールドを乗せるだけです。
この際に気を付けるのは集計したいポータルと同じポータルフィルタを設定することです。

ポータル内に設置された関連レコードの集計フィールドは
ポータルフィルタが設定されていれば、フィルタ後の関連レコードの集計になります。

複数行のポータルで集計が毎行表示されていると不格好なので、
同じポータルフィルタを設定した1行だけのポータルを設置して塩梅よく配置するといった使い方をします。

Last edited by Moz (2014-05-19 10:10:17)

Offline

#19 2014-05-22 15:48:35

まさる
Guest

Re: ポータルフィルタで絞り込まれた全レコードの集計がしたい

Mozさん、早速ありがとうございます。
基本的な事をお聞きするようで申し訳ありませんが、
集計フィールドのフィルタはどこで設定するのでしょうか?
フィールドオプションにはフィルタを設定するような箇所が見つかりませんでした。

現状のフィルタなしで、一行のポータルの上に集計フィールドを乗せると、
ブラウズモードで文字が重なって表示されるだけですが、
これがうまくいくと、合計値だけが表示されるようになるという事でしょうか?

毎度、お手数をおかけして申し訳ありませんが、ご確認のほど、よろしくお願いいたします。

#20 2014-05-23 10:56:58

keima
Member

Re: ポータルフィルタで絞り込まれた全レコードの集計がしたい

>集計フィールドのフィルタはどこで設定するのでしょうか?
集計フィールドはポータルの関連テーブルに作り、フィルタはポータルで設定です。

>現状のフィルタなしで、一行のポータルの上に集計フィールドを乗せると、
>ブラウズモードで文字が重なって表示されるだけですが、
フィールドを重ねるのではありません。
元のポータルを複製し、別のところに配置し、一行だけにして、フィールドをひとつだけにして
それを関連テーブルの集計フィールドに差し替えます。

  ポータルフィルタ集計のサンプル 

Offline

#21 2014-05-29 18:51:50

まさる
Guest

Re: ポータルフィルタで絞り込まれた全レコードの集計がしたい

keimaさん、ご回答ありがとうございます。
無事解決いたしました!

#22 2014-06-10 16:29:50

まさる
Guest

Re: ポータルフィルタで絞り込まれた全レコードの集計がしたい

フィルタされたポータルの集計の件で、一旦解決したと言ったのですが、
やはりうまくっていませんでした。

keimaさんの下記の教えの通りやったところ、
ポータルの集計はできたのですが、フィルタ設定が反映されない状況です。

---------------------------------------------------
>集計フィールドのフィルタはどこで設定するのでしょうか?
集計フィールドはポータルの関連テーブルに作り、フィルタはポータルで設定です。
>現状のフィルタなしで、一行のポータルの上に集計フィールドを乗せると、
>ブラウズモードで文字が重なって表示されるだけですが、
フィールドを重ねるのではありません。
元のポータルを複製し、別のところに配置し、一行だけにして、フィールドをひとつだけにして
それを関連テーブルの集計フィールドに差し替えます。
---------------------------------------------------

具体的には、ポータルの表示は、あるトリガーによって、
表示されないフィルタを設定しているのですが、
集計ではそれが無視されてしまいます。

下記の様な感じです。

【ポータルの表示】
50,000円
30,000円
20,000円

【集計結果】
180,000円
※フィルタで非表示にしている80,000円までカウントしているようです。

---------------------------------------------------

どなたか、解決方法が分かる方がいらっしゃいましたら、ご教示いただけますでしょうか?
よろしくお願いいたします。

#23 2014-06-10 16:41:55

tim
Guest

Re: ポータルフィルタで絞り込まれた全レコードの集計がしたい

トリガスクリプトの最後に、
ウィンドウ内容の再表示[キャッシュ結合結果を書き込む]
を追加する。

#24 2014-06-10 18:54:24

keima
Member

Re: ポータルフィルタで絞り込まれた全レコードの集計がしたい

まさる wrote:

【集計結果】
180,000円
※フィルタで非表示にしている80,000円までカウントしているようです。

   集計結果のフィールドをフィルタ設定したポータル内にいれていますか?

Offline

#25 2014-06-10 23:00:30

まさる
Guest

Re: ポータルフィルタで絞り込まれた全レコードの集計がしたい

timさん、ご返答有難うございます。
ウィンドウ内容の再表示[キャッシュ結合結果を書き込む]
とはどちらで設定すればいいのでしょうか?
初歩的な質問ですみません。

---------------------------------------------------

keimaさん、ご返答有難うございます。
下記のポータル内に入れるというのはどのようにすればいいのでしょうか?
一応、ポータルと同じテーブル内にフィールドを設定してはいるのですが。。

> 集計結果のフィールドをフィルタ設定したポータル内にいれていますか?

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 7 queries executed - Memory usage: 585.59 KiB (Peak: 622.49 KiB) ]