みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
どなたかアイデアをお願いします。
現在、下記のような進捗管理テーブルを用意して管理をしています。
名前 日付 項目 進捗
Aさん 2023/10/17 XXXX ◎
Aさん 2023/10/16 XXXX 〇
Aさん 2023/10/15 XXXX △
Aさん 2023/10/14 XXXX ×
Aさん 2023/9/17 XXXX ×
Aさん 2023/10/17 YYYY 〇
Bさん 2023/10/17 XXXX ◎
別レイアウトにて人ごとに月別の進捗を項目ごとに集計して表示したいです。
例えば、Aさんの項目「XXXX」の10月分であれば、想定しうる処理の流れとしては、
①ターゲットを指定(Bさん情報を排除)
②項目を指定(YYYYを排除)
③月を判定(2023/9/17を排除)
④残ったレコードについて関数で
「◎があれば◎、〇があれば〇、△があれば△、×があれば×、それ以外は空白」
のように指定する
といったようにフィルタリングして、残ったレコードで場合分けをしていくのだと認識しています。
この場合にはどのような設定をすればよいでしょうか。
フィールド値に関数を設定するのか、事前にテーブルに最新フラグのようなものを設けるべきなのか・・・
分かりづらくて申し訳ありませんが、よろしくお願いします。
完成形のレイアウトとしては
Aさん 4月 5月 6月 7月…
項目XXXX ◎ ◎ 〇 ×
項目YYYY × ◎ ○ ×
とし、◎、×、○、△を関数等で自動で表示させたいと思っております。
> 「◎があれば◎、〇があれば〇、△があれば△、×があれば×、それ以外は空白」
これでは面倒ですから、
後ろから、
0,1,2,3,4
と数値にします。別フィールドでもいいですね。
人、年月、項目
の小計パートを作り、
そこへ集計フィールド・最大値を置いて順にソートすればいいでしょう。
Offline
ああ、投稿中に追加がありました。
ご希望だとリレーションのほうがよさそうですね。
横には最大何月分の表示をご希望でしょうか?
Offline
チポ様
早速のお返事ありがとうございます。
◎、○等は実際には文字列でもう少し詳しく記載をしているので、可能な限りこのまま文字列のまま判定がきたらと思っています。
横には1年分(12か月)表示したいと考えております。
小計パートとはグループ化するというイメージでしょうか。
無知で申し訳ないのですが、現在のテーブルに小計パートで集計するフィールドを追加するというイメージでしょうか。
#3の回答は
縦に表示されますよ。
とりあえずそれでお答えしますね。
進捗フィールドはそのままで、
その進捗順を順に数値にした別のフィールドを作ります。
そのフィールドの最大値と指定した集計フィールドを作り、
前記の小計パートに配置、ボディを削除したレイアウトにして、
ソートすれば結果が表示されます。
1年分を横に表示は、
クロス集計の手法ですね。
「クロス集計」で個々のスレを検索してみてください。
Offline
チポ様
何から何までありがとうございます。
認識違いがあったら申し訳ないのですが、下記のレイアウトはブラウズモードで考えております。
同様の手順で対応可能でしょうか。
Aさんのレコードを選択したときに
4月 5月 6月 7月…
項目XXXX ◎ ◎ 〇 ×
項目YYYY × ◎ ○ ×
月や項目は固定値、◎、×等が関数で表示されるというイメージです。
これをボディ部分に表示したいと考えております。
こんな感じでしょうか。
https://www.dropbox.com/scl/fi/mk5l0w3l … 5rkay&dl=0
Last edited by Shin (2023-10-18 15:15:54)
Offline
Shin様
サンプルの作成までありがとうございます。
大変感謝しております。
サンプルを確認しましたが、いまいちイメージが湧きませんでした・・・。
現在のレコードをAさんにした際に、各月、各項目の最新の進捗状況を表示したいですが、難しいでしょうか。
Shin様のサンプルを拝見するに、あくまで日にち単位で判断するように見受けられました。
なんとなくですが、集計パートで集計し、そのMAX値で取得できそうな気はするのですが、うまく整理できておりません・・
私の最初の提案では、
ご希望のクロス集計には向きません。
ちょっと方法を変えて、
繰り返し12回の計算フィールドを作り、
Case ( Month ( 日付[1] ) = Get ( 計算式繰り返し位置番号 ) ; 進捗順 )
進捗順は進捗をその順に数値にした計算フィールドです。
集計フィールド・最大値
を作り、繰り返しの集計を個別に指定。
項目をソート対象とした小計パートに置き、
順にソートすればいいですね。
これでは進捗順の数値の表示ですから、
進捗の表示は、
進捗順を進捗に直した繰り返し計算フィールドにすればいいでしょう。
Offline
実際の運用では、ボディーパートを削除してください。集計パートのみにすると、ご希望の表示になります。
入力時の値一覧で進捗順に並べたいのでしたら、ちょっと工夫をすれば可能です。
https://www.dropbox.com/scl/fi/mk5l0w3l … 5rkay&dl=0
チポさん、
Case ( Month ( 日付[1] ) = Get ( 計算式繰り返し位置番号 ) ; 進捗順[1] )
にしましょう。
Last edited by Shin (2023-10-18 15:16:09)
Offline
Shinさん
そーでした、
ご指摘ありがとうございます。
Offline
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 570.75 KiB (Peak: 587.66 KiB) ]