みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
こんにちは。
勤怠管理を作っており、非保存計算が多いレイアウトで表示に数十秒かかる場合があるのですが
非保存計算のレイアウトから日ごとに全てエクスポートして
表示用に別テーブルを用意し、毎日スタッフ一人ごとに1レコードを作り、インポート。
これを表示させるという方法は邪道というか、将来的なデータ量に問題などないでしょうか?
一般的な使い方であるのならこの方法で行こうかと思いますが、先輩方のご意見をお聞きしたいです。
よろしくお願いします。
非保存のフィールドを減らす、
それを必要以外表示しない、
等考えるべきではないでしょうか。
どのようなフィールドなんでしょう??
Offline
テーブルとフィールド定義、概略の動きを書き出してみては。
根本的な変更を行う必要があるのかもしれませんよ。
Offline
ご返信ありがとうございます。細かいシステムがあり、説明しますと
基本給とは別に物を販売すると物によってスタッフへ歩合があるのですが
明細テーブルで販売明細をつけて、レコード毎に担当のスタッフIDを割り振っています。
そこから項目毎に集計を取って、勤怠テーブルに各項目毎にルックアップをして項目販売回数を出しています。
そこから非保存の計算フィールドを使うのですが大体以下のような計算で
If ( スタッフ経歴="半年以内" ; 店舗設定::歩合_項目1_半年以内 * 項目1カウント ; 店舗設定::歩合_項目1 * 項目1カウント )
【もしスタッフが半年以内の在籍なら歩合が安く、半年以上なら通常歩合という計算です。】
このような非保存フィールドが16個あります。
構造がよく分かりませんが、、
> このような非保存フィールドが16個あります
項目が複数ということでしょうか?
とすれば、1項目ごとに1レコードの別テーブルは考えられませんか?
とすれば、
> If ( スタッフ経歴="半年以内" ; 店舗設定::歩合_項目1_半年以内 * 項目1カウント ; 店舗設定::歩合_項目1 * 項目1カウント )
ここの
店舗設定::歩合_項目1(_半年以内)
を条件で必要な方をルックアップできるのでは。
Offline
非保存項目で過去の一覧を表示すると画面表示に数分かかり、運用に適さないですね。
なので、基本的な考え方は「Shizur」さんと同じです。
違いは、「表示用に別テーブルを用意」ですが、私は同じテーブルに保存用の項目を作って対応しています
考え方ですが・・・
1.当日の表示は非保存の項目で表示する
2.非保存項目と同じ内容で保存用の項目を同じテーブルに作成する
3.毎朝、前日の非保存項目を保存用の項目に複写する
4.一覧など過去の項目は保存した項目を表示する
Last edited by gotani (2019-02-03 13:35:19)
Offline
計算フィールドではなく、自動入力にしておけばいいのでは。
Offline
Pages: 1
[ Generated in 0.008 seconds, 9 queries executed - Memory usage: 557.85 KiB (Peak: 581.8 KiB) ]