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

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

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

You are not logged in.

Announcement

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


#1 2017-07-13 17:47:23

TAKESA
Member

計算フィールドで重くなるかどうか

計算フィールドを参照した計算フィールドや他テーブル参照したものを使用すると、レコードが増えたときに
検索などが遅くなるので、
第一計算フィールドの計算結果を 数字フィールドに代入して、
第二計算フィールドは数字フィールドを参照するようにすると軽くなるでしょうか?

そのために
IF ( フラグ = 1 ; "赤"  ; "青" )
という計算結果をやったあと、
第一計算フィールド = 数字フィールド
という計算をさせたいのですが、
IF ( フラグ = 1 ; "赤"  ; "青" ) & 第一計算フィールド = 数字フィールド
などとしても計算できません
IF関数終了後、というのはどこに記述したらよいのでしょうか?

また、自己リレーションでも遅くなるのでしょうか?

Offline

#2 2017-07-14 06:59:07

wader
Member

Re: 計算フィールドで重くなるかどうか

非保存の計算フィールドがあると遅くなるのは確かです。

そのIfの計算式は第一計算フィールドに影響しないので、「後」の意味がありませんが。
計算順は基本的にフィールドを定義した順でしょう。計算されたフィールドを参照する計算式のフィールドは、その後で計算されます。
A (計算)C+1
B (数字)
C (計算)B+1
という順にフィールドを定義したとして、Bを変更すれば変更後の値に基づいてCが計算されてAが計算されます。

Offline

#3 2017-07-14 13:58:47

Shin
Member

Re: 計算フィールドで重くなるかどうか

フィールドへの参照速度、特に検索やソート、は、索引が作られるかどうかで大きく変わりますね。
索引は、索引を作らないで参照の際に作るような設定、リレーション先のフィールドを参照、索引のないフィールドを参照、していると、索引が作られません。
これを理解されれば、解決すると思います。

上の式について、
IF ( フラグ = 1 ; "赤"  ; "青" ) & 第一計算フィールド = 数字フィールド
の結果は、赤0、赤1、青0、青1 という結果を期待されているのでしょうか。

Offline

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: 504.32 KiB (Peak: 515.12 KiB) ]