0

私は、製造会社のフロアの異なるセクション間のジョブのダウンタイムを監視するレポートに取り組んでいます。
これが私が取り組まなければならないものの例です:

SHR - - 最小(開始時間) - - 最大(終了時間)
PUN - - 最小(開始時間) - - 最大(終了時間)
BEN - - 最小(開始時間) - - 最大(終了時間)
MTP - - 最小( Start Time) - - Maximum(End Time)
WLD - - Minimum(Start Time) - - Maximum(End Time)
ASM - - Minimum(Start Time) - - Maximum(End Time)

次にやりたいことは、 Pun の最小値 (開始時間) からの SHR の最大値 (終了時間)、そして BEN からの PUN、MTP からの BEN など、ずっと下に移動します。

数式または SQL クエリのポインター。ありがとう!!


編集
これは、私が試してきたコードの例です。
私が直面している問題は、プロセス ID ごとに複数の実際の終了時刻と実際の開始時刻があるため、processID
グローバル datetimevar 間の調整を明確にする必要があることです。
素晴らしい:=最大({TimecardLines.lmlActualEndTime}、{JobOperations.jmoProcessID});
グローバル日時変数最小;
next({JobOperations.jmoProcessID});
最小 := 最小 ({TimecardLines.lmlActualstartTime}, {JobOperations.jmoProcessID});
グローバル timevar getterdone;
最低 - 素晴らしい

4

1 に答える 1

0

あなたは正しい考えを持っています。グローバル変数を介してグループごとの最大値を渡すだけです。レポートが {JobOperations.jmoProcessID} でグループ化されていると仮定すると、次のことができます。

// Place this formula in Group Footer
whileprintingrecords;
datetimevar latest := maximum({TimecardLines.lmlActualEndTime}, JobOperations.jmoProcessID});

// You can place this formula anywhere in your group as long as it is BEFORE the placement of the previous formula (otherwise the 'latest' variable won't represent the previous group
// Suppress this formula for the first group, as it will not be applicable
whileprintingrecords;
datetimevar latest;

datediff('d', latest, minimum({TimecardLines.lmlActualEndTime}, JobOperations.jmoProcessID})
于 2013-09-19T15:46:49.053 に答える