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

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

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

You are not logged in.

Announcement

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


#1 2014-02-06 13:59:40

hiropon
Guest

web viewerで複数のレーダーチャート すべて入力しないと表示されない。。。

先日お聞きしたものです。また新たな問題がでてしまったのでたびたび申し訳ありませんが、ご教授お願いいたします。


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の数値を各フィールドに入れる。

ことで回避できたのですが、もっといい方法があるなら教えていただけると助かります。

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

#2 2014-02-06 15:09:11

tim
Guest

Re: web viewerで複数のレーダーチャート すべて入力しないと表示されない。。。

データがある場合だけ|以後を追加、とかじゃないすか。
   &
Case( not IsEmpty ( GetNthRecord(結果1;2) ;
"|" &...

>スクリプトでレコードを作成し
レコードがないとGetNth自体がエラー(結果が?)になるはずですけど。

#3 2014-02-06 18:37:31

Hiro
Member

Re: web viewerで複数のレーダーチャート すべて入力しないと表示されない。。。

式で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

#4 2014-03-04 16:31:38

hirorohorum
Member

Re: web viewerで複数のレーダーチャート すべて入力しないと表示されない。。。

hiroさんありがとうございます!!

しかし、、、、MAX関数の方を使用すると、最新のレコードのものしか反映されませんでした。。。。

Offline

#5 2014-03-04 17:07:25

wader
Member

Re: web viewerで複数のレーダーチャート すべて入力しないと表示されない。。。

Listと一緒で、Maxも統計関数なのでGetNthRecordを使えません。

Offline

#6 2014-03-04 17:10:31

hirorohorum
Member

Re: web viewerで複数のレーダーチャート すべて入力しないと表示されない。。。

ということは、方法はないということでしょう?

Offline

#7 2014-03-04 19:45:44

wader
Member

Re: web viewerで複数のレーダーチャート すべて入力しないと表示されない。。。

統計関数を使わなければいいだけです。
レーダーチャートでしたよね?
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

#8 2014-03-18 16:44:55

hirorohorum
Member

Re: web viewerで複数のレーダーチャート すべて入力しないと表示されない。。。

3レコード目以降のスクリプトはどうしたらいいでしょう?

Offline

#9 2014-03-18 20:06:50

wader
Member

Re: web viewerで複数のレーダーチャート すべて入力しないと表示されない。。。

&  "|" &
の後を繰り返せばいいのでは。

Offline

#10 2014-03-19 14:22:55

hiropon
Guest

Re: web viewerで複数のレーダーチャート すべて入力しないと表示されない。。。

Case ( Get ( 対象レコード数 ) > 1 の1の部分を表示したいレコードを増やしたぶん1づつぷらすしていくことで解決しました!!!!

みなさん本当にありがとうございました!!!

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.009 seconds, 10 queries executed - Memory usage: 565.07 KiB (Peak: 570.32 KiB) ]