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

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

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

You are not logged in.

Announcement

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


#1 2016-10-12 18:29:44

Cate
Guest

フィールドの中の重複削除をスクリプトで…

OS:[Win7] FileMaker Ver:[14 adv]

お世話になっております。

1フィールドの中に重複データが存在します。
[AAA][AAA][BBB][PPPPPP][PPPPPP]

[AAA][BBB][PPPPPP]  このようにしたい。

データは実際に[]で囲ってありますが文字数はランダムです。

どのようにスクリプトを書けば削除できるかご教示いただけないでしょうか。
よろしくお願いいたします。

#2 2016-10-12 21:12:18

シャチ
Member

Re: フィールドの中の重複削除をスクリプトで…

リレーションと値一覧を組み合わせてスクリプトで処理する方法です。
一つ問題があって、値一覧を使う関係で、結果は素データをソートしたものとなります。

説明が面倒なので、 作例を http://yahoo.jp/box/MRhK5i におきました。

Offline

#3 2016-10-13 03:01:48

Hiro
Member

Re: フィールドの中の重複削除をスクリプトで…

計算式でDISTINCT処理する方法。
ただし、式はループ再帰計算式のため、[項目]数が大凡200項位で計算限界となります。

Let([
   $lst=Substitute(フィールド; ["][";"]¶["]);
   $i=0;
   $fnc=
      "Case($i=ValueCount($lst); Substitute($res;[\¶;\"\"]);
         Let([
            $i=$i+1;
            $itm=GetValue($lst;$i);
            $res=List($res;Case(FilterValues($res;$itm)=\"\";$itm))
         ]; Evaluate($fnc))
      )"
];
   Evaluate($fnc)
)

Offline

#4 2016-10-14 19:39:23

シャチ
Member

Re: フィールドの中の重複削除をスクリプトで…

ちょっと時間がかかってしましましたが、
再帰計算するスクリプトとカスタム件数を使った計算式の作例を作って見ました。
前に回答したものはリレーションを使ってのスクリプトの計算でしたが、
今回は、中間フィールドなしで一気に計算しています。
また再帰のカスタム関数は、これまで論議されていない方法ではないか と思いますが。。

http://yahoo.jp/box/TkKPDl

に作例を上げましたので、
カスタム関数については、評価をいただければと思います。

Offline

#5 2016-10-17 08:35:24

Cate
Guest

Re: フィールドの中の重複削除をスクリプトで…

シャチ様、Hiro様の方法で無事実現することができました。
大変助かりました。ありがとうございます。

シャチ様のカスタム関数は、よく分かっていないもので
導入できておりませんが、いつか使う機会のために保存させていただきました。

この度は、誠にありがとうございました。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 510.52 KiB (Peak: 516.56 KiB) ]