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

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

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

You are not logged in.

Announcement

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


#1 2017-09-27 16:29:08

ハタ坊
Member

計算フィールドのソート

お世話になります。

ソートがうまくいかないのでご教授願います。

「経過年月」フィールドに「XX年XXヶ月」というような表示で、導入日から今日までの計算式により経年を表示させています。

この「経過年月」フィールドをソートした時に「XX年XXヶ月」という表示のままで、昇順、降順のソートを行いたいです。

自分でやってみたのですが、何度試しても、うまくいきません。

なんとかいい方法がないでしょうか?

よろしくご教授ください。

Offline

#2 2017-09-27 16:45:48

Shin
Member

Re: 計算フィールドのソート

うまくいかない、という内容は。
文字でソートされているので、昇べきのソートでは、9年5ヶ月は10年5ヶ月より後ろになります、という事かな。
数値でソートするように工夫が必要でしょう。

Offline

#3 2017-09-27 16:51:14

ハタ坊
Member

Re: 計算フィールドのソート

早速の回答ありがとうございます。

数値でソートするように工夫が必要との事ですが、この「経過年月」フィールドは9年5ヶ月というように

数値と漢字で表記されます。また、計算結果から自動で導き出されてきます。

どのようにすれば数値でソートされるようになるのでしょうか?

よろしくお願いいたします。

Offline

#4 2017-09-27 17:06:22

Shin
Member

Re: 計算フィールドのソート

別に、経過期間を月で計算(10年5ヶ月ならば125月)させたフィールドを作ると一番簡単でしょう。

Offline

#5 2017-09-27 17:24:44

ハタ坊
Member

Re: 計算フィールドのソート

返信ありがとうございます。

「経過年月」フィールドに計算式により導かれた「XX年XXヶ月」という値を、

さらに計算式により「経過月数」という新たに作成したフィールドへ変換するという事でしょうか。

その場合、「経過月数」フィールドにはどのような計算式が入りますか?

よろしくお願いいたします。

Offline

#6 2017-09-27 18:06:20

チポ
Member

Re: 計算フィールドのソート

Evaluate ( Substitute ( 経過年月 ; ["年" ; " * 12 + " ] ; ["ヶ月" ; "" ] ) )

ちょっと難しいかな・・

Offline

#7 2017-09-27 18:52:40

Shin
Member

Re: 計算フィールドのソート

> 導入日から今日までの計算式
これを変形させるのがいいのでしょうが。
例えば、Year ( 今日 ) * 12 + Month ( 今日 ) - Year ( 導入日 ) * 12 - Month ( 導入日 )

この結果から、Div ( 結果 ; 12 ) & "年" & Mod ( 結果 ; 12 ) & "ヶ月" で文字列に変換できます。

Last edited by Shin (2017-09-27 18:56:21)

Offline

#8 2017-09-27 23:47:58

qb_dp
Member

Re: 計算フィールドのソート

導入日から今日までの計算式により経年を表示させています。

導入日が、日付で入っているのなら 導入日 でソートしては?
導入日が、日付で無いならダメですが、日付で扱いたいモノは、フィールドタイプも日付とした扱っておいたほうが、良いですよ。

Offline

#9 2017-09-28 09:13:40

チポ
Member

Re: 計算フィールドのソート

確かに、
qb_dpさんの言われる通りですね。

導入日でソートすればいいことでした。

さらに、
経過年月が計算フィールドだと、索引非保存となりますから、
導入日を使った方が高速ですね。

Offline

#10 2017-09-28 10:41:19

ハタ坊
Member

Re: 計算フィールドのソート

皆さんいろいろなアドバイスありがとうございます。

おっしゃる通り、導入日でソートしてそれを活用する方が早いですね。

データベースを作成するときにその後の活用のやりやすさまでも考えて構築する必要がありますね。

将来的な活用方法までも考えて、もう一度システムを見直してみます。

本当に勉強になりました。ありがとうございました。

また分からないことがあったらよろしくお願いいたします。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 517.46 KiB (Peak: 522 KiB) ]