オペレーターが 1 日に完了したすべてのタスクを一覧表示するテーブルがあります。これは、Shop Floor Control プログラムによって収集されます。その日の合計作業時間を示す列もあります。このフィールドは、タイム パンチから取得されます。テーブルは次のようになります。
Operator 1 Bestupid 0.5 8 5/12/1986
Operator 1 BeProductive 0.1 8 5/12/1986
Operator 1 Bestupidagain 3.2 8 5/12/1986
Operator 1 Belazy 0.7 8 5/13/1986
Operator 2 BetheBest 1.7 9.25 5/12/1986
プロセス時間を合計し、それを作業時間と比較することで、これから効率を上げようとしています。問題は、勤務時間の列で何らかの要約を行うと、すべての詳細行が合計されることです。
私が試してみました:
If Previous (groupingfield) = (groupingfield) Then
HoursWorked = 0
Else
HoursWorked = HoursWorked
グローバルな 3 つの式のトリックを試しましたが、上記のいずれでも集計可能なフィールドが残らず、「非繰り返しフィールドで集計が指定されました」というメッセージが表示されます。
現在、グローバル変数を使用しており、グループ ヘッダーでリセットされていますが、WhilePrintinganything は使用していません。ただし、いくつかのレコードが欠落しており、同じグループで 2 時間勤務 > 0 になる場合があります :(
何か案は?
明確にしたいのですが、私には3つのグループがあります。
グループ: ワーク センター --> オペレータ --> 日付
どのグループでもプロセス時間を要約できますが、それで問題ありません。ただし、実際には日付ごとに 1 回だけ印刷する必要があるにもかかわらず、作業時間はすべての詳細行に印刷されます。したがって、オペレータの作業時間を要約すると、1 日あたり 8 時間ではなく、エントリごとに 8 時間を合計しているため、合計はかなりずれています。