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

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

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

You are not logged in.

Announcement

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


#1 2017-05-22 16:46:15

モレン
Member

複数のテキストフィールド内の集計(Value Countのような集計)

FMAd15、Win7です。


複数のテキストフィールドが16個あり、その中でキーワードが何個あるか計算したいのですが、
&でつないでValueCountという方法しか思いつかなかったのですが、他にうまいやり方は無いものでしょうか?

ヒントをいただけると幸いです。


フィールドA
フィールドB
以下10個以上

この中に”X”というキーワードが何個あるか。
エクスポートするため、繰り返しフィールドではなく、わざと別のフィールドに分けているのですが・・・

モレン

Offline

#2 2017-05-22 17:31:57

チポ
Member

Re: 複数のテキストフィールド内の集計(Value Countのような集計)

書かれた様に
&
か、
List
でつなげるか
しないとダメでは。


その構造自体が問題なのでは。

Offline

#3 2017-05-22 22:22:33

Shin
Member

Re: 複数のテキストフィールド内の集計(Value Countのような集計)

> エクスポートするため、繰り返しフィールドではなく、わざと別のフィールドに分けているのですが・・・
繰り返しフィールドを使っていれば最悪でしょう。別のフィールドに保存しているのも、その次くらいかも。
それをエクスポートするとは?

レコード内にユニークな値があると思いますので、それで関連テーブルにリレーションを張り、そちらにフィールドを作り、保存するべきでしょうね。この構造ならば、簡単に確認できます。

Offline

#4 2017-05-23 09:48:11

モレン
Member

Re: 複数のテキストフィールド内の集計(Value Countのような集計)

・・・実は、3年ほど前にFM13の時にとある開発会社の有料トレーニングで教わったやり方なんです。。。汗
(今は作り直しをしている)

構造を変えるなら、どのような方法があるでしょうか?
恐れ入りますが、教えていただけないでしょうか。


内容を簡単に書かせてもらいますと、
とある事案があって、
フィールドA~Zは、それぞれの法令に照らし合わせた、判断結果(○×△)です。
フィールドA~Zの結果を受けて、事案そのものを総合判断(○×△)し、
事案とフィールドA~Zの結果を、
事案台帳に登録(ここで同じテーブル内でのエクスポート・インポート・・と教わった)したいんです。(判断日の法令基準で)


すいません、説明が足りてないかもしれないです。

Offline

#5 2017-05-23 10:27:55

Shin
Member

Re: 複数のテキストフィールド内の集計(Value Countのような集計)

フィールドA~Zは、常に全てのフィールドに入力がありますか。常に全て入力があるのでしたら、その構造でもいいかもしれませんが。ただ、将来的にその対象法令が変化した場合、フィールドの追加などが起こりえますので、柔軟な構造とは言えないと思います。ただ、構造的にはわかりやすいので、業務には使わない超初心者レベルでしたら"あり"でしょうか。

全体の構造や運用がわかりません。特に、今入力しているテーブルが、事案台帳ではないのですか。エクスポートインポートの実際がわかりません。判断日の法令基準が必要、とのことですが、判断した時点での法令の抜き出しが必要、ということですか。ならば、その法令をルックアップなどで取り込んでおけばいいだけかも。それ以降、そのレコードの編集を禁止しておくなども可能です。

Offline

#6 2017-05-23 10:51:07

チポ
Member

Re: 複数のテキストフィールド内の集計(Value Countのような集計)

構造を変えるのなら
> フィールドA~Zは、それぞれの法令に照らし合わせた、判断結果(○×△)です
この各フィールドひとつごとに1レコードとする別テーブルにして、
元のテーブルのユニークな値とリレーション。

元のテーブルにはポータルでその一覧を表示出来ます。
集計は、
  List関数
で値の一覧が得られます。


元のテーブルで新規レコード作成時に、
別テーブルで必要レコード全てをスクリプトで作ることも出来ますよね。

Offline

#7 2017-05-23 12:17:11

Shin
Member

Re: 複数のテキストフィールド内の集計(Value Countのような集計)

レコードを作ってしまった方が構造は簡単になります。
https://www.dropbox.com/s/9ghwghdo24drq … 7.zip?dl=0

事案台帳に登録 を具体的に説明していただけませんか。

Offline

#8 2017-05-23 12:22:19

Hiro
Member

Re: 複数のテキストフィールド内の集計(Value Countのような集計)

集計結果を書き込むグローバルフィールドを作り、このフィールドを対象に
計算値で「フィールド内容の全置換」を実施する、のが現状のままでは一番安直かな。
この計算式は、

Let([
   #lst=List(テーブル::フィールドA; ・・・・・ ;テーブル::フィールドZ);
   $cnt=$cnt+PatternCount(#lst; "キーワードX")
];
   Case(Get(レコード番号)=Get(対象レコード数); $cnt)
)

※なお、&結合でなく改行結合を使うのは、フィールド前後が結ばれて
   キーワードが形成されてしまうケース事故を避けるため。

Offline

#9 2017-05-23 13:09:00

モレン
Member

Re: 複数のテキストフィールド内の集計(Value Countのような集計)

Shin様

アドバイスありがとうございます。私は超初心者なので。。。汗
説明自体もうまく書けないのにお付き合いいただいて、申し訳ありません。

法令改正で内容は変わりますが、法令や条文の構造や個数は基本的には変わらない前提で、
(変わったらメンテナンス。。。)

フィールドA~Zも、実は、他の法令の判断結果の集合体だったりします。
なので、すべて、法令の判断結果が入っています。



・法令マスタ
・事案審査票(これが今のテーブルです)※いわゆるイベント系
・許可済み事案台帳(事案審査票で○をついたもののみを保存、さらに付加情報を追記)



1:事案審査票にて、ポータルで表示した法令を見ながら、フィールドA1~A20までに○×△を入力
  計算式でフィールドAに判断結果を表示。
2:さらに、フィールドA~Zの判断結果をもとに、総合判断結果(○×)を表示させて、他の審査票での判断結果と併せて最終的に事案の○×決定。
3:事案審査票から、ボタンスクリプト:テーブルのインポート、必要項目を書き出して、事案台帳に登録
  ※事案台帳は、別の案件審査票で、事案マスタとして呼び出し利用

※事案審査票内では、法令情報は、法令マスタから、ポータル表示
その判断日基準で、法令条項名(例:1項2の2イ)○×△の判断結果のみをフィールドに保存


法令の判断が3段階あって、それがめんどくさいんです・・・
判断日基準でその結果と法令条項名は保管しないとだめなんです。
ですが、そのプロセスは絶対に動かせません。

こんな感じで説明は足りてますでしょうか・・・

Offline

#10 2017-05-23 15:31:07

モレン
Member

Re: 複数のテキストフィールド内の集計(Value Countのような集計)

チポ様 Hiro様

いただいたアドバイスをもとに、もともとの質問に対する解決はできました。
ありがとうございました。

引き続き、構造の変更の件でコメントいただけたら、大変助かります。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.009 seconds, 7 queries executed - Memory usage: 568.74 KiB (Peak: 585.65 KiB) ]