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

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

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

You are not logged in.

Announcement

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


#1 2022-05-13 16:28:08

KAIN
Guest

重複する値を除外する

PRO18

重複する値を除外したいのですが、なぜか重複していないレコードも1,2件ですが除外されます。
同じようなデータがあるため計算式で複数のフィールドを繋ぎそこに検索をかけています。
何が原因でしょうか?

#2 2022-05-13 19:57:21

himadanee
Guest

Re: 重複する値を除外する

>計算式で複数のフィールドを繋ぎ
単純に連結すると
ABとC

AとBC
と同じになってしまうので、そういうケースなのかな?

#3 2022-05-14 09:38:17

KAIN
Guest

Re: 重複する値を除外する

A&B&CでABCと表示されるようにしています。
そこに重複検索をかけているのですが、これではうまくいかないのでしょうか?

#4 2022-05-14 10:11:15

Moz
Member

Re: 重複する値を除外する

質問者さんの「重複」の定義によるでしょう。

いまのやり方ではA、B、Cを連結した結果のフィールドが同じ内容なら重複として扱われます。

Aに「あい」Bに「う」Cに「えお」で「あいうえお」
Aに「あいう」Bに「えお」Cは空欄で「あいうえお」
Aに「あ」Bに「いう」Cは「えお」で「あいうえお」

これはそれぞれのフィールドの値は異なりますが、連結した結果は同じなので重複として扱われます。

Offline

#5 2022-05-14 10:17:51

KAIN
Guest

Re: 重複する値を除外する

値は全然違います。重複検索をして下記のようにでます。
ABC
ABC
DEF
ABCは重複しているのであっているのですが、DEFは1件しかなく同じ値はないのに重複とみなされています。
何が原因なのかわからず困っています。

#6 2022-05-14 10:25:41

Moz
Member

Re: 重複する値を除外する

どのように重複を検索していますか?

例えば「!」で検索しいるなら結果をそのフィールドでソートすると重複していれば並んで表示されます。

そのフィールドで自己連結リレーションを作成して主キーをカウントした重複チェックフィールドを作ったときはどうなりますか?

本当に同じ値がないなら索引を再作成したら解決するような気もしますが......
索引をなしにして自動作成もオフにして定義を確定させ、その後索引設定を元に戻せば再作成されます。

単純な話で連結の計算フィールドの結果タイプがテキストじゃないとか。確認されました?

Last edited by Moz (2022-05-14 10:26:51)

Offline

#7 2022-05-14 10:41:20

himadanee
Guest

Re: 重複する値を除外する

「対象レコードの絞り込み」はしてないでしょうね。
「!」で検索すると対象外のレコードも重複対象とみなされますが...

#8 2022-05-14 11:22:03

KAIN
Guest

Re: 重複する値を除外する

himadanee様
知りませんでした。
「対象レコードの絞り込み」も使用しています…。
日付で絞りさらに「対象レコードの絞り込み」で結合させたフィールドに”!”で対象外になるようにスクリプトを組んでいます。
どう検索をかけるようにするのが良いでしょうか?

#9 2022-05-14 12:01:57

Shin
Member

Re: 重複する値を除外する

具体的なフィールドを示してもらえれば話が早いでしょうが。
日付を含めた複合フィールドを作るしかないのでは。区切り文字を入れておけば、上の問題は避けられますよ。

Offline

#10 2022-05-14 12:27:45

Moz
Member

Re: 重複する値を除外する

上でも書いたけど重複の定義をハッキリ(具体的に)すれば解決方法が見えるんじゃないですかね。

単純結合だから重複しているってわけじゃ無くてhimadaneeさんの指摘している「絞り込み」が原因みたいだし。

→日付で検索してから重複で絞り込んでいるので
対象外のレコードとフィールドが重複したレコードが表示されているわけで検索自体は正しい動きをしているのでしょう。

Offline

#11 2022-05-14 13:33:38

himadanee
Guest

Re: 重複する値を除外する

「重複の定義をハッキリ(具体的に)すれば」これが必要ですね。

「重複を除外」するなら、そのうちの1件だけは除外したくない場合も多いと思うけど...

#12 2022-05-16 10:52:29

KAIN
Guest

Re: 重複する値を除外する

皆様ありがとうございます。
LOOPを使って複製させているのですが、その条件に日付で絞り、重複しているレコードを除外するようにしてその日のレコードすべて同じ数複製するようにしています。
ですので、その日の重複していないレコードのみ残るようにしたいのです。
日付で検索し、さらに商品名、原材料、作業者を連結したフィールドに重複しているレコードを除外と言った感じでしています。

#13 2022-05-16 11:16:16

チポ
Member

Re: 重複する値を除外する

重複を除外
日付で絞り込み

と順番を入れ替えればいいのでは

Offline

#14 2022-05-16 11:34:29

himadanee
Guest

Re: 重複する値を除外する

>その日のレコードすべて同じ数複製する
の意味が今一わかりませんが...
日付で絞ったあと重複判定の値が(単純化のため1文字で表現)
A
A
A
B
B
C
だったとして、「重複を除外」すると
C
だけが残るので、これをどう複製しても「同じ数」にはなりませんよね?(Aが3件Bが2件なので)

#15 2022-05-16 16:00:36

KAIN
Guest

Re: 重複する値を除外する

チポ様
逆にしてみましたがうまくいきませんでした。

himadanee様
A
B
C
とレコードがあるとします。それを各3つずつになるように上から順番に複製するようにしています。
A
A
A
B
C
と複製し、重複したレコードを除外し
B
C
そしてまた複製
A
A
A
B
B
B
C
で重複を除外
C
複製
C
C
C
でLOOPが終わるようにしています。
説明が下手で申し訳ございません。

#16 2022-05-16 16:20:16

チポ
Member

Re: 重複する値を除外する

んん?

> A
> B
> C
> とレコードがあるとします

この状態にするために重複を排除
と思っていましたが、
複製したレコードを対象外にしたい。
ということですか?

複製したレコードを置いたまま次の複製もできるでしょう。

単なる疑問ですが、、
何のためにレコード複製するのでしょう?

Offline

#17 2022-05-16 16:29:05

KAIN
Guest

Re: 重複する値を除外する

そうです。
複製が終わったのを除外し、されていないのを残して対象が0になったらLOOPが終わるようにしています。
複製をしたレコードを置いたまま次の複製した場合、複製されたレコードは一番下にいくのでそのまま続けたら終わらなくないですか?

複製するのは他システムに連携する際に必要だからです。

#18 2022-05-16 16:40:06

チポ
Member

Re: 重複する値を除外する

何らかのフィールドでソートすると、
レコード複製はそのレコードの直下に作られます。

ですから、ソートして、
  複製
  複製
  次のレコードへ
と繰り返せばいいことでは。

Offline

#19 2022-05-16 21:29:24

himadanee
Guest

Re: 重複する値を除外する

この件では関係なさそうですが、自動入力のフィールド(複製元と同じ値にならない)をソートに指定していると、場合によっては直下にならないこともありえますよね。
例えば主キー(UUID)でソートしていると、複製直後は直下になっても、レコード確定すると位置が変わりました。

#20 2022-05-17 08:43:37

チポ
Member

Re: 重複する値を除外する

その通りですね、、

前レス
  複製しても値の変わらないフィールドでソート
と訂正お願いします。

Offline

#21 2022-05-17 15:56:47

KAIN
Guest

Re: 重複する値を除外する

皆様ありがとうございました。
無事に解決しました。
いろいろと良い勉強になりました。

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: 553.98 KiB (Peak: 574.52 KiB) ]