みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
お世話になります。
windows10にてFM19Proを使用しています。
我流でファイルメーカーを利用していますので初心者の域から抜け出せていないものです。
また質問をさせて頂きます。よろしくお願いいたします。
またこちらにて質問をさせて頂きます。
現在日報を作成中でこの中に新規開拓というテーブルがあります。これを本日訪問分としてポータルにて複数行表示を行い記入していっており、この中に項目でアプローチ方法 訪問 電話 その他 と値一覧から選択を行い記入していきます。
そこでお伺いですが、当日の集計として訪問が何件、電話が何件、その他が何件と集計を行いたいと考えています。いろいろと検索を行い試してみましたが、なかなか件数を表示させることが出来ませんでした。patterncountにて集計をと考えましたが、ポータルに表示中の本日の件数はどのようにしてカウントさせればよいのでしょうか?
素人のため出来るだけ簡単な説明を頂けたら幸いです。
皆さんのお時間が許せましたらご教授願います。
Offline
色々な方法がありますが、
ValueCount ( FilterValues ( List ( 新規開拓::アプローチ方法 ) ; ”訪問" ) )
で、訪問がカウントできます。
PatterCount () を使うと、電話訪問 という入力があると、誤動作になります。
全く別の方法で、新規開拓テーブル側に、
Choose ( Get ( 計算式繰り返し位置番号 ) - 1 ; アプローチ方法[1] = "訪問" ; アプローチ方法[1] = "電話" ; アプローチ方法[1] = "その他" )
という繰り返し計算フィールドを作り、それを個別に合計を集計する集計フィールドを作っておきます。その集計フィールドを日報側に表示させるだけでもいいです。
Offline
Shin様
有難うございます。
別のやり方という法で作ってみました、ちゃんとカウントしてくれました。
ここで質問が二つあります。
アプローチ方法ごとに計算フィールドと、集計フィールドを作るということでよろしいでしょうか?
もう一つは訪問、電話等値を入れた時表示されている集計フィールドをクリックすると数字が変更されるのですが、この場合はすぐに更新をしようとする場合はどこかにトリガーを仕掛けてレイアウトの更新をおこわなければなりませんか?それとも現在動作はしているが不都合がある可能性が考えられるのでしょうか?
宜しくご教授のほどお願いいたします。
Offline
アプローチ方法ごとに計算フィールドと、集計フィールドを作るということでよろしいでしょうか?
アプローチごとに、という意味がわかりませんが、
上に示した式をそのまま使うと、異なるカテゴリーを同時にカウントする事ができます。例えば、
Choose ( Get ( 計算式繰り返し位置番号 ) - 1 ; アプローチ方法[1] = "訪問" ; アプローチ方法[1] = "電話" ; アプローチ方法[1] = "その他" ; 性別[1] = "男" ; 性別[1] = "女" )
表示する繰り返し位置を変更すれば、別の位置で表時できます。
ただ、見た目が美しくないので、普通はカテゴリーごとに計算フィールドと集計フィールドを作り、さらに照合単語は値一覧から読み取り、
GetValue ( ValurListItems ( Get ( ファイル名 ) ; "値一覧" ) ; Get ( 計算式繰り返し位置番号 ) = フィールド[1] )
という式にしたり、別の計算フィールドに値一覧をばらした値を設定しておき、それを比較します。
訪問、電話等値を入れた時表示されている集計フィールドをクリックすると数字が変更される
別テーブルのデータを編集し、そこの集計フィールドを使っているので、ウインドウの再表示などを行わう必要があります。ポータルの中のフィールドに、トリガーを仕掛けておくと自然な動きになります。
Offline
Shin様
有難うございます。
ただ、見た目が美しくないので、普通はカテゴリーごとに計算フィールドと集計フィールドを作り、さらに照合単語は値一覧から読み取り、
GetValue ( ValurListItems ( Get ( ファイル名 ) ; "値一覧" ) ; Get ( 計算式繰り返し位置番号 ) = フィールド[1] )
という式にしたり、別の計算フィールドに値一覧をばらした値を設定しておき、それを比較します。
ここが確認したかったところです。訪問 電話 を別々に計算し集計を行いました。
別テーブルのデータを編集し、そこの集計フィールドを使っているので、ウインドウの再表示などを行わう必要があります。ポータルの中のフィールドに、トリガーを仕掛けておくと自然な動きになります。
こちらのお聞きしたかったところでばっちり答えを頂きました。レイアウトの再表示を行うようにしてみます。
ご教授頂き有難うございました。まだまだ課題がたくさんあります、その節はよろしくお願いいたします。
Offline
訪問 電話 を別々に計算し集計を行いました。
ちょっと勘違いされていませんか。要素をばらしてしまうと、フィールド数がどんどん増えていくので、メンテナンスが面倒になっていくだけで、メリットはありませんよ。
上に例示した、
Choose ( Get ( 計算式繰り返し位置番号 ) - 1 ; アプローチ方法[1] = "訪問" ; アプローチ方法[1] = "電話" ; アプローチ方法[1] = "その他" ; 性別[1] = "男" ; 性別[1] = "女" )
という式は、アプローチ方法と性別という全く異なるカテゴリーを同時に扱っています。技術的にはおかしくないですし、正しい結果が得られるのですが、感覚的に変な患児は受けませんか。本来でしたら、
Choose ( Get ( 計算式繰り返し位置番号 ) - 1 ; アプローチ方法[1] = "訪問" ; アプローチ方法[1] = "電話" ; アプローチ方法[1] = "その他" )
Choose ( Get ( 計算式繰り返し位置番号 ) - 1 ; 性別[1] = "男" ; 性別[1] = "女" )
という2個に分けて集計すると思います。
さらに、この中の式の作りですが、入力に値一覧を使ったラジオボタンなどで入力させていると思いますが、その選択肢としてデータがあるのに、また、その選択肢が変更されれば式も変更が必要、という不合理がおきます。ですから、その次に挙げている ValueListItems() を使った式を提示しています。
それと、別の計算フィールド云々は、
GetValue ( ValurListItems ( Get ( ファイル名 ) ; "値一覧" )
という計算フィールドを作っておきます。このフィールドはタイトルとして使えます。そのフィールドと比較する計算フィールドを更に作り、それを集計する、という意味です。
Last edited by Shin (2022-03-16 18:40:33)
Offline
Shin様
有難うございます。言われれば勘違いをしていると思います。
私にはこの部分が少々わからないのですが
Choose ( Get ( 計算式繰り返し位置番号 ) - 1 ; アプローチ方法[1] = "訪問" ; アプローチ方法[1] = "電話" ; アプローチ方法[1] = "その他" )
という繰り返し計算フィールドを作り、それを個別に合計を集計する集計フィールドを作っておきます。
この部分で集計フィールドでそれぞれ"訪問" "電話" "その他"の件数がどのように集計されるかがわかりません。
この部分をしょうしょう勉強してみます。
Offline
FMの集計法の基本から勉強した方がいいと思いますよ。
日報テーブルで集計を表示しようとするから難しくなるので、
自テーブルでの集計が基本です。
集計レイアウトによる集計法
ヘルプ、下記リンクをたどってみてください。
https://help.claris.com/ja/pro-help/con … 6%E8%A8%88
自己リレーションで統計関数を使った計算フィールドの集計法
ヘルプのリンクです
https://help.claris.com/ja/pro-help/con … tions.html
https://help.claris.com/ja/pro-help/con … ining.html?
分からないところはまた質問してみてください。
Offline
繰り返しフィールドを使った集計で、さらに、リレーション先のテーブルの集計になりますので、ちょっと高度な集計方法になります。
まず、自テーブルでどのように動いているかを確認してみられるといいでしょう。
Offline
チポ様 Shin様
お世話になります。
有難うございます。基本からもう一度勉強して組んでみます。なかなか理解が難しいところですので時間をかけてやってみます。
また行くづまった時にはよろしくお願いいたします。
Offline
[ Generated in 0.008 seconds, 7 queries executed - Memory usage: 554.13 KiB (Peak: 575.04 KiB) ]