みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
【入力テーブル】
1.【名前】フィールド
2.【日付】フィールド
3.【値段】フィールド
【グラフ表示テーブル】
1.【名前】フィールド
名前で両テーブルをリレーションして名前ごとの経過グラフを作成しようとしました。
X軸を日付、Y軸を値段にして折れ線グラフはできたのですが、入力すればしただけグラフに表示されます。
できれば、最新の日付から10件分のグラフ表示でいいのですが、このような最新データから何件分のみx軸表示という表示の仕方はできますでしょうか?
少しのデータであれば見れるのですが、件数が多くなると日付表示が重なって見にくくなってしまいます。
X軸の文字表示を斜めに傾けたり、文字小さくしたりとやってみてはいますがどちらにせよ件数がこの先増えてきたらX軸が見にくくなるのは避けられません。
調べてもなかなかよい回答を見つけられず、ここに投稿しました。
どうかよろしくお願い致します。
描画元データの持たせ方の問題ですネ?
全データをList()で持たせて、MiddleValues()で必要な部分だけ切り出す、とか?
Offline
リレーションを日付の降順に設定して、
GetNthRecordで10番目の日付を取得し、
その日付 <= 日付
の照合を加えた新たなリレーションを組む。
Offline
Hiroさん、ちぽさん
回答ありがとうございます。
チポさんの回答の方法を試みているのですが、お力をお借りしたく再度投稿します。
【入力テーブル】側にて新しく「10件目の日付」というフィールドを計算式で作成し、GetNthRecord関数を使い、その都度再計算させる設定にしたところ、
氏名検索させたら、うまく10件目の日付が出ました。(日付レコード降順でソートしてます)
ここから手詰まりしてます。
この先「その日付 <= 日付」の照合を加えた新たなリレーションというのはどう組めばよいのでしょうか?
自己リレーションですか??
よろしくお願い致します。
> 【入力テーブル】側にて新しく「10件目の日付」というフィールドを計算式で作成
フィールドはグラフ表示テーブルで作ります。
新たなリレーションは
グラフ表示テーブル 入力テーブル 2
名前 = 名前(同姓同名の存在を考えると名前は不適当です)
and
10件目日付 <= 日付
とします。
Last edited by チポ (2019-06-14 10:36:50)
Offline
チポさん
返信ありがとうございます。
【グラフ表示テーブル】に10件目日付のフィールドを作成してリレーション組んでうまくうまくグラフ表示日付の制限は組めたのですが、、、、
【グラフ表示テーブル】に作成した「10件目日付」フィールドの計算がうまくできず、つまり10件目の日付を表示してくれません。
原因はたぶん昇順の状態での10件目の日付を表示してしまうみたいで、
これって降順の状態での10件目の日付ってできますでしょうか?
その追加リレーション「入力テーブル 2」にソートのオプション設定が出来ていないのでは?
●「入力テーブル 2::日付」フィールドに降順ソートを設定
Offline
Hiroさん
ありがとうございます。
リレーションの設定でソート設定を「降順」にしましたが、やはり昇順の状態での表示になってしまいます。
チポさん・Hiroさんの回答を見ながら、
【入力テーブル2】を複製しそれに【グラフ表示テーブル】を、
【入力テーブル2】 【グラフ表示テーブル】
「名前」 = 「名前」
「日付」 >= 「10件目日付」 (これを、両方とも「降順」ソート設定にしました)
「10件目日付」フィールドは計算式で、
GetNthRecord ( 日付 ; 10)
としてみましたがどこか間違っていますでしょうか?
成功すると思ったのですが・・・・
あっ、テーブルを見誤ったかな!
GetNthRecord(リレーション::日付; 10) の方のリレーションです。
10番目のレコード取り出すときに降順になっていて欲しい訳ですから!
Offline
【入力テーブル】を複製した【入力テーブル2】と【グラフ表示テーブル】をリレーション組んだところ、グラフのX軸がすべて同じ(日付】になってしまいます。関連テーブル設定などの確認ですべて入力テーブル2を選択しているのに・・・
しかも、「10件目日付」フィールドを日付フィールドとし手動で日付を打ち込んだのですが、ちゃんと反映されませんでした。(Y軸の値の分だけ同じ日付が表示されてしまった)
そこで、【入力テーブル】と【グラフ表示テーブル】をリレーションしたら、10件目日付のフィールドとうまく連動し、きちんと10件目日付より最新のデータのみグラフに表示されるようになりました。
しかし、10件目日付のフィールドがうまく最新の日付から10件目の日付を表示するための計算式が出来ず悩んでます。
GetNthRecord ( 日付 ; 10)を入力してみても、なぜか昇順の状態からの10件目の日付でしか表示してくれず、リレーションソート設定を確認するも日付フィールドを降順ソートにしてますができず・・・。
追加:【入力テーブル】で日付ソートを降順に設定し、このテーブルにGetNthRecord ( 日付 ; 10)を計算式の日付結果でしたところ、きちんと最新データから10件目のデータを表示してくれました。。。
別テーブルで同じことしてるはずなのになぜ別テーブルだと昇順になってしまうのでしょうか?
グラフ表示中に
スクリプト
レコード/検索条件/ページへ移動[最初の]
複数レコードを対象外に[Get ( 対象レコード数 ) - 10]
ではダメでしょうか?
見逃していた。。
整理しますね
リレーション1
グラフ表示テーブル::名前 = 入力テーブル::名前
入力テーブル::日付の降順ソート指定
グラフ表示テーブルで計算フィールド「10件目」の計算式
GetNthRecord ( 入力テーブル::日付 ; 10 )
リレーション2
グラフ表示テーブル::名前 = 入力テーブル2::名前
and
グラフ表示テーブル::10件目 <= 入力テーブル2::日付
これで、
入力テーブル2のグラフを作ればいいでしょう
しみっちゃんさん
リエーション先の関連レコードの話しですから、
対象、非対象では絞り込めませんよ
Offline
ごめんなさい 状況も理解できずに投稿してしまいました
余計な話ついでというわけではないのですが...
【グラフ表示テーブル】でなくてはいけないのでしょうか?
【入力テーブル】でグラフ表示レイアウトを作成して、名前で検索の後
先ほどの
スクリプト
レコード/検索条件/ページへ移動[最初の]
複数レコードを対象外に[Get ( 対象レコード数 ) - 10]
ではいかがでしょうか?
MMさんの求めているものと違うかもしれませんが私がこの方法なもので...
勉強させていただきます
チポさん
ありがとうございます!
チポさんが整理し返答してくださった手順にて無事グラフ表示を10件に絞ることができました。
本当にありがとうございました!
まだなぜ今までうまくいかなかったのか自分の中で整理できていないので、これから少しの間解読にあたろうと思います。
しみっちゃん
回答ありがとうございます。
今回チポさんの方法でうまく求めている結果が得られたのでこの方法を使わせていただきます。
ですが、まだシステム作成中でうまくプログラム(リレーション)ができないことが出てくるかと思います。
その際にはどうかお力お貸しください。
本当に皆様ありがとうございました!
Pages: 1
[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 549.82 KiB (Peak: 570.36 KiB) ]