みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
Hiroさんの作成されたクロス集計を利用させて頂いております。
https://fm-aid.com/bbs2/viewtopic.php?id=3983
URLのクロス集計は真似をして実際稼働しているデータに反映する事が出来ました。
次に区分、項目以外に絞込み用の店舗、日付フィールドを追加し
グローバルフィールドで選択させて絞り込みをかけたいと思っています
追加しているフィールド
マスタテーブル::日付(日付を入力)
マスタテーブル::店舗(店舗名を入力)
マスタテーブル::g_開始日(検索用グローバルフィールド)
マスタテーブル::g_終了日(検索用グローバルフィールド)
マスタテーブル::g_店舗判定(検索用グローバルフィールド)
店舗と日付はヘッダに配置し検索ボタンを作成。
スクリプトで
検索モードに切り替え
フィールド設定[マスタテーブル::日付;マスタテーブル::g_開始日&".."$マスタテーブル::g_終了日]
フィールド設定[マスタテーブル::店舗;マスタテーブル::g_店舗判定
検索実行[]
とし絞り込みをかけたいと思っているのですが、ヘッダ上のクロス集計には反映しないようです。
考え方が間違っていると思うのですが、ご指摘いただけないでしょうか?
filemaker18 windows
このクロス集計は、リレーション集計法を取っています。
ですから、目的の検索条件をリレーションの照合条件に追加すれば、
リレーション集計結果に反映できます。
Offline
Hiroさんコメントありがとうございます。
まず店舗で切り替えが出来るように下記の様にしてみたのですが・・・
追加したフィールド
マスタテーブル::日付(日付を入力)
マスタテーブル::店舗(店舗名を入力)
マスタテーブル::g_開始日(検索用グローバルフィールド)
マスタテーブル::g_終了日(検索用グローバルフィールド)
マスタテーブル::g_店舗判定(検索用グローバルフィールド)
リレーションの称号条件に追加するということでしたので
マスターテーブル4のポータルフィルタの値を変更しないといけないので
マスターテーブル::g_店舗判定=マスターテーブル4::店舗を追加
し、レイアウトにはマスターテーブル::g_店舗判定(グローバルフィールド)を配置して切り替えでクロス集計の内容を変更
としたかったのですが、思い通りの動きになりませんでした。
ご教授お願いいします汗
より具体的な回答には、より具体的な環境・構造・構成・目的・目標などの説明提示が必要です。
Offline
Hiroさんへ
環境
filemaker18 windows10
構造・構成
Hiroさんのサンプルに
追加フィールドとして
マスタテーブル::日付(日付を入力)
マスタテーブル::店舗(店舗名を入力)
マスタテーブル::g_開始日(検索用グローバルフィールド)
マスタテーブル::g_終了日(検索用グローバルフィールド)
マスタテーブル::g_店舗判定(検索用グローバルフィールド)
を追加しています。
目的・目標
Hiroさんのサンプルでは、既存の入力したデータがすべてクロス集計されてしまう為
グローバルフィールドのg_開始日・g_終了日で日付を、g_店舗判定で店舗を絞り込む
といった動作を追加したいです。
説明が不足しており申し訳ありません。
どうぞよろしくお願いいたします。
今の動きを考えると、繰り返しフィールドを使った集計タイプのクロス集計を行った方がいいのかも。
https://www.dropbox.com/s/3tbkfyzzc01qn … 2.zip?dl=0
Last edited by Shin (2020-05-22 15:58:58)
Offline
リレーションに新規照合条件を追加した修正版サンプルv2をアップしました。
取り合えず、内容の精査解析をして見て下さい。
なお、照合条件が増えた分少し重い感じなので、データ量が増えると、この古い手法は抜本的見直しが必要になるかも?
●修正版「クロス集計サンプル v2(Lookup方式).fmp12」→ https://1drv.ms/u/s!AlaCGhTKTWEOqBd5yEf … y?e=CggdI2
Last edited by Hiro (2020-05-23 11:21:31)
Offline
●復旧版「クロス集計サンプル v2(Lookup方式).fmp12」→ https://1drv.ms/u/s!AlaCGhTKTWEOqBd5yEf … y?e=CggdI2
Offline
Lookup方式に代わり、SQL集計法による最新最適化サンプルv3を追加アップしました。
SQL集計法によりリレーション関連事項の一切が不要となり、構造の簡潔軽量化・最適効率化などを得ています。
データや対象条件の変更に即時・迅速に対応更新します。
●SQL集計法サンプル「クロス集計サンプル v3(SQL方式).fmp12」→ https://1drv.ms/u/s!AlaCGhTKTWEOqByEFXB … g?e=A5vd8x
Offline
*横レスすいません。
以前Hiroさんがアップされていた月次集計ファイル?を拝見し、Lookup関数によるクロス集計を作成しました。
ただデータが増えるにつれて非保存計算のためか、表示に10秒程かかるようになりました。
そこで軽減のため、executeSQL計算式で取得したいと思うのですがやり方が解らず、
可能であればサンプルをお願い出来ないでしょうか?
月次集計とか月次入金推移表とかそんな感じのファイルだったかと思います。
主なクロス集計内容は
ヘッダー:月次配列(集計開始月から12ヶ月分表示)と月次移動ボタン、集計開始月の設定
ボディに:左側にIDを表示し、右側12か月分データをLookup(入金マスタ::集計入金額; "")
元になる入金マスタ::集計入金額は、入金マスタを自己リレでSUMにて非保存計算
というものでした。
よろしくお願いします。
>#10 tamtamさん
別件質問は新規トピックを立てて質問下さい。
それと具体的解法回答には、具体的内容詳細説明が必須です。
Offline
Hiroさん
Lookup方式、SQL方式の2通りもサンプルを頂き、本当にありがとうございます!
無事SQL方式を適応する事が出来ました。
これから内容を吟味して改良が出来るようになります。
この度はShinさん、Hiroさんありがとうございました!
Pages: 1
[ Generated in 0.024 seconds, 9 queries executed - Memory usage: 546.21 KiB (Peak: 567.12 KiB) ]