みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
データベースの挙動(どのくらい重くなるか)の確認作業を行おうとしています。
このため、1日分のデータを入力し、それを元に1月分のデータを作成したいのですが。
1日分のデータをコピーし、新しいレコードを作成し、これにコピーしたデータ(日付を除きます。)を貼り付けたいと思います。
その方法をお教えください。
また、この場合、レコードIdや作成日等の管理用データは、どのように処理したらよいですか。
Offline
レコードを複製して日付とIDのフィールドだけ書き換えるスクリプトを作るだけで良いのでは?
Offline
具体的な方法を教えてください。
検索モードにして、コピーしたいレコードの日付を入力し、その日付のレコードを取り出して対象レコードにする。
と、ここまでは分かるのですが!
Offline
「任意の1日のレコードと「日付」「ID」だけが違うレコードが多量に作りたい」ですよね?
任意の1日のレコードを検索するところまでは手動で作業して以下のスクリプトステップで。
レコード/検索条件複製
https://www.filemaker.com/help/15/fmp/j … quest.html
フィールド設定
https://www.filemaker.com/help/15/fmp/j … field.html
Loop
https://www.filemaker.com/help/15/fmp/j … /loop.html
スクリプトの例(Loop含む)
https://www.filemaker.com/help/15/fmp/j … mples.html
Loop
レコード/検索条件複製
フィールド設定(日付)
フィールド設定(ID)
Exit Loop If ( Get ( レコード総数 ) ≥ 10000 ) // 1万レコードの場合
End Loop
簡単な例ではこんな感じで。
FileMaker プラットフォーム の カスタムApp の挙動(パフォーマンス)はレコード数より構造に大きく依存します。
単純に作り始めたばかりのカスタムAppではいくらレコードを増やしたところで検証にはならないですよ。
大規模なカスタムAppでも構造が悪くなければ数千万レコード程度問題ではありません。
Last edited by Moz (2017-03-15 15:07:02)
Offline
対象レコードをすべて選択して、「レコードの複製」を行うと、1日分のレコードが複製されると思うのですが!
すべてを選択する方法がわかりません。
Offline
そもそものデータベースの構造を書いてみて下さい。
1日1レコードと拝察していました。これでは的外れですね。失礼しました。
レコードをまとめて選択して複製を行うことはできません。ヘルプを読んで下さい。
https://www.filemaker.com/help/15/fmp/j … cords.html
1日分をエクスポートしてインポートして日付とIDを全置換などが考えられますね。
Last edited by Moz (2017-03-15 15:18:08)
Offline
申し訳ありませんでした。
当方、いま45日のFileMakerキャリアです。
上司が作成したFileMakerによるシステムを部署内で運用するように命を受けました。
時間を入力する繰り返しフィールドにスクリプトトリガが付いており、クリックするとスクリプトが動きます。
それぞれ2番目から最大4番目までの時間を入力する欄(繰り返しフィールドの一部)があり、クリックすると時間が入力される仕組みです。
しかし、スクリプト自体は複雑なものではないのですが、この「時間」のフィールドが他のテーブルの「時間」とリレーションが張られています。
その先のテーブルには、「時間」フィールドを使用した計算フィールド(非保存)があり、これがシステムを重くしている原因ではないかと考えています。
1回のクリックでスタンドアロンだと1秒未満ですが、ファイルの共有をすると1秒少々、サーバー利用の場合は2秒以上かかっています。
原因を特定するのは、現在の私の能力ではにわかには不可能ですので、データが増えたときの挙動を確認しようと思います。
これで、さらに重くなるようであれば、何か月あるいは何年にもわたる運用は困難ですので、根底から考え直していただこうと思っています。
メインのテーブルは、多ければ1日に120レコードが作られる予定です。
長々、書いて申し訳ありません。
Offline
Moz様
1日分をエクスポートしてインポートしようとしましたが、フィールドの名前や順序がばらばらで、とても直しきれません。
他の方法はないものでしょうか。
Offline
スクリプトで
コピーする分のレコードを検索
何らかでソート
最初のレコードへ
として、
以下を対象レコード数分Loopで繰返します。
レコード複製
日付書き換え
次のレコードへ
レコードコピーは以上ですが、
対象レコードの変更、ソート等が有れば
それらを加えてステップを作ってください。
Offline
やはりスクリプトを作らないと無理でしょうか。
分かりました。
やってみます。
ありがとうございました。
Offline
エクスポートの際に、merge フォーマットでエクスポート、インポートの際には照合名で照合させれば、簡単ですよ。
Offline
ありがとうございました。
インポートに際してインポート先のテーブルが異なっていることに気が付きませんでした。
ちゃんとインポートできました。失礼しました。
Offline
Pages: 1
[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 526.34 KiB (Peak: 547.24 KiB) ]