みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
こんにちは。
Windows7 FileMaker 12 です。よろしくお願いします。
人名のフィールドがありたくさんの名前が入力されているため、3名以上の場合は3名の名前の後に、英語では「et al.」を、日本語では「他」という表記にしようと思い、Author_Short フィールドを作成し、以下のようにしました。
Cat フィールドには「E」および「J」が入っています。
Author_NOSPACE フィールドには、Author フィールドから、ダブルスペースや姓名間のスペースを TrimAll で削除した人名が入っており、それぞれ英名では「,」、日本名では「、」で区切られています。
Author_Short フィールドを作成し、以下の計算式で上位3名を表示したいと思っています。
Case ( Cat = "E" ;
Case ( PatternCount ( Author_NOSPACE ; "," ) ≥ 3 ; (LeftWords ( Author_NOSPACE ; 6 ) & ", et al.") ; PatternCount ( Author_NOSPACE ; "," ) ≤ 2 ; Author_NOSPACE ; "" ) ;
Cat = "J" ;
Case (PatternCount ( Author_NOSPACE ; "、" ) ≥ 3 ; (LeftWords ( Author_NOSPACE ; 3 ) & " 他") ; PatternCount ( Author_NOSPACE ; "、" ) ≤ 2 ; Author_NOSPACE ; "" ) ;
"" )
英名の場合、今のところ問題ないようですが、日本名にひらがながあるばあい、これが表示されません。
たとえば、
「田中めぐみ、山田一郎、鈴木太郎、佐藤敬子、伊藤洋」となっているばあい、Author_Short フィールドには「田中めぐみ、山田一郎 他」と表示されます。
「山田一郎、鈴木太郎、田中めぐみ、佐藤敬子、伊藤洋」となっているばあい、Author_Short フィールドには「山田一郎、鈴木太郎、田中 他」と表示されます。
「山田一郎、鈴木太郎、佐藤敬子、田中めぐみ、伊藤洋」となっているばあい、Author_Short フィールドには「山田一郎、鈴木太郎、佐藤敬子 他」と「田中めぐみ」は上位3位までにないので問題なく表示されます。
解決法をご教示頂ければ幸いです。
どうぞよろしくおねがいします。
「単語」
は漢字仮名まじりのテキストの場合、
漢字と、仮名の境で他の単語として扱われます。
「、」の三つ目の前を取り出す
とすればいいのでは。
おせっかいを、、
Case (PatternCount ( Author_NOSPACE ; "、" ) ≥ 3 ; (LeftWords ( Author_NOSPACE ; 3 ) & " 他") ; PatternCount ( Author_NOSPACE ; "、" ) ≤ 2 ; Author_NOSPACE ; "" )
Case関数は条件の左から評価して行き、それが真になるとその結果を返し、
その後の評価はしません。
ですから、二番目の条件式は不要でしょう。
Offline
こんにちは。
チポさま、早速の返信ありがとうございます。
「、」の三つ目の前を取り出す
とすればいいのでは。
三つ目の前を取り出すというのがぴんとこなかったのですが、position を使ってみました。
Case (
Cat = "E" ;
Case ( PatternCount ( Author_NOSPACE ; "," ) ≥ 3 ; (LeftWords ( Author_NOSPACE ; 6 ) & ", et al.") ; Author_NOSPACE ) ;
Cat = "J" ;
Case (PatternCount ( Author_NOSPACE ; "、" ) ≥ 3 ; (( Left ( Author_NOSPACE ; Position ( Author_NOSPACE ; "、" ; 1 ; 3 ) -1 ) ) & " 他") ; Author_NOSPACE ) ;
"" )
今のところ問題ないようです。
ありがとうございました。
また、
Case関数は条件の左から評価して行き、それが真になるとその結果を返し、
その後の評価はしません。ですから、二番目の条件式は不要でしょう。
とのことでしたので、上記のように二番目の条件式は削除してみました。
こちらも、今のところ問題ないようです。
いろいろとありがとうございました。
Pages: 1
[ Generated in 0.004 seconds, 9 queries executed - Memory usage: 507.89 KiB (Peak: 514.52 KiB) ]