-1
date_entry  time_start  time_finished idle_code    qty_good
8/8/2013    13:00       13:30            6            10     
8/8/2013    13:30       15:20            0            20
8/8/2013    15:20       15:30            6            5 
8/8/2013    15:30       16:25            0            10
8/8/2013    16:25       16:40            7            0
8/8/2013    16:40       17:25            0            40
8/8/2013    17:25       17:40            3            10
8/8/2013    17:40       24:00            1
8/8/2013    24:00       00:00            1
8/8/2013    00:00       00:30            1

アイドル時間の凡例:

0   Production  
1   Adjustment/Mold 
2   Machine 
3   Quality Matter  
4   Supply Matter   
5   Mold Change 
6   Replacer    
7   Others

----------結果--------------------------------------合計分

idle_code total mins 
1 -       410:00 mins
2 -        00:00
3 -        15:00
4 -        00:00
5 -        00:00
6 -        40:00
7 -        15:00 
0 -       210:00

最初の質問は、idle_code でグループ化し、合計分を追加する方法です。

------その他レポート------------------------------------------------- 生産効率レポート

idle_code         total mins
    1             410:00 mins
    2             00:00 mins
    3             15:00 mins
    4             00:00 mins
    5             00:00 mins
    7             15:00 mins 

合計アイドル時間 = 440:00 分 (式: sum(合計アイドル時間 1,2,3,4,5,7))

アイドル率 = 63.77% (式: (合計アイドル時間 / 合計実稼働時間)* 100 )

合計操作時間 = 250:00 分 (式 sum(idl_code '0' and idle_code '6'))

機械効率 = 36.23% (式 (合計稼働時間 / 合計実生産時間 * 100))

合計実稼働時間 = 690:00 分 (式 sum(total_idle_time + 合計操作時間))

これは、計算フィールドを使用して powerbuilder で簡単に計算できますが、私の問題は、それらを idle_code でグループ化し、合計分数にする方法です。

4

1 に答える 1

0

これは、開始時刻と終了時刻の差を合計し、idle_code でグループ化する単一の SQL ステートメントとして実行できます。(これを Idle_Code テーブルから Production データ テーブルへの Left Outer Join にすることを忘れないでください)。これにより、すべての詳細データをクライアントに取得し、そこでグループ化と集計を行う必要がなくなります。

これを計算列として行う必要があり、すべての詳細データを取得した場合は、idle_code でグループを作成し、(グループ 1 の time_finished - time_start) を合計する計算列を作成します。SecondsAfter() 関数は、それらの列が日付時刻であり、時刻値だけではない場合にこれを行うことができます。

time_start 列と time_finished 列をどのように保存していますか? それらは日時データ型ですか?そのほうが計算がしやすいからです。それらが単なる時間である場合、それらの時間が午前 0 時を超えて翌日になるまでの期間を計算する際に問題が発生します。

于 2013-08-14T19:45:10.510 に答える