みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
先日お聞きしたものです。また新たな問題がでてしまったのでたびたび申し訳ありませんが、ご教授お願いいたします。
Substitute(GetNthRecord(結果1;1) & "," & GetNthRecord(結果2;1) & "," & GetNthRecord(結果3;1) & "," & GetNthRecord(結果1;1);¶;",")
& "|" &
Substitute(GetNthRecord(結果1;2) & "," & GetNthRecord(結果2;2) & "," & GetNthRecord(結果3;2) & "," & GetNthRecord(結果1;2);¶;",")
アドレスの設定に上のような関数を混ぜたアドレスを記入し3つのフィールド、2つのレコードのチャートを表示させることはできました。
しかし、2つのレコードを& "|" &で区切って指定しているため、2つ目のレコードにデータが入力されていないと1つ目に入力されているデータのチャートが表示されません。
2つ目のレコードにデータが入っていないと計算式の結果は → 50,50,50| (仮に1つめのレコードのフィールドがすべて50だった場合)
となっていたので http://www.chireki.com/geography/chart_r_2.htm の【値】の部分に50,50,50|を入れてみたところ表示されませんでした。
50,50,50|の一番右側の|を消すとちゃんと表示されるのですが、複数のレコードのチャート表示でなおかつ指定しているすべてのレコードに数値がはいらなくても
表示させる方法はあるでしょうか?
自分なりに考えたのは、指定している分(上の計算式なら2レコード分なので2つ)スクリプトでレコードを作成し、フィールド設定で0の数値を各フィールドに入れる。
ことで回避できたのですが、もっといい方法があるなら教えていただけると助かります。
よろしくお願いいたします。
データがある場合だけ|以後を追加、とかじゃないすか。
&
Case( not IsEmpty ( GetNthRecord(結果1;2) ;
"|" &...
>スクリプトでレコードを作成し
レコードがないとGetNth自体がエラー(結果が?)になるはずですけど。
式でSubstituteは不要です。
またこの式だと、"|"だけ除去しても、","の方も残るので意味がありません。
ココは、空欄なら 0 を代入した方が楽でしょう。
データ値は負数にはならないとして、式は、
Max(0; GetNthRecord(結果1;1)) & "," & Max(0; GetNthRecord(結果2;1)) & "," & Max(0; GetNthRecord(結果3;1)) & "," & Max(0; GetNthRecord(結果1;1))
& "|" &
Max(0; GetNthRecord(結果1;2)) & "," & Max(0; GetNthRecord(結果2;2)) & "," & Max(0; GetNthRecord(結果3;2)) & "," & Max(0; GetNthRecord(結果1;2))
Offline
hiroさんありがとうございます!!
しかし、、、、MAX関数の方を使用すると、最新のレコードのものしか反映されませんでした。。。。
Offline
Listと一緒で、Maxも統計関数なのでGetNthRecordを使えません。
Offline
ということは、方法はないということでしょう?
Offline
統計関数を使わなければいいだけです。
レーダーチャートでしたよね?
MaxでなくCaseで書き換えるか、
timさんのようにデータのある分だけにするか、
2レコード(以後)がない場合に0のグラフを描きたいなら、
GetNthRecord(結果1;1) & "," & GetNthRecord(結果2;1) & "," & GetNthRecord(結果3;1) & "," & GetNthRecord(結果1;1)
& "|" &
Case ( Get ( 対象レコード数 ) > 1 ;
GetNthRecord(結果1;2) & "," & GetNthRecord(結果2;2) & "," & GetNthRecord(結果3;2) & "," & GetNthRecord(結果1;2)
; "0,0,0,0")
Last edited by wader (2014-03-04 19:48:26)
Offline
3レコード目以降のスクリプトはどうしたらいいでしょう?
Offline
& "|" &
の後を繰り返せばいいのでは。
Offline
Case ( Get ( 対象レコード数 ) > 1 の1の部分を表示したいレコードを増やしたぶん1づつぷらすしていくことで解決しました!!!!
みなさん本当にありがとうございました!!!
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 564.66 KiB (Peak: 579.05 KiB) ]