以下の問題を解決するために、使用する機能の種類や方向を理解できたら助けてください。私はスクリプトの作業の大部分を行ってきましたが、上から下に日付を定義する方法を理解しようとしています。たとえば、1行目の最初の日付を計算し、1行目の最初の日付に基づいて2行目の1行2を計算します。私が作成した前の値に基づいて値を計算する(ループ)
例テーブル:
Employee | WorkDate | #ofBreaksInWks | EndDate | StartDate
123 1/4/2016 1/4/2016
123 1/5/2016
123 1/6/2016 2
123 1/27/2016
123 1/28/2016 5 *1/28/2016 *3/10/2016
123 3/10/2016
123 3/9/2016 1
123 3/25/2016
123 4/1/2016
123 4/10/2016
123 4/15/2016 4
= Today's date *05/15/2016
= Values with asterisk* will be calculative
私は4または< 13週間働いた場合、私はどのように応じて、従業員に終了日を割り当てる必要があります私は多く働いた。私はすべてのMIN
で非常に最初の開始日を定義している
- は私が5週間の休憩があることがわかり3以上である最初のブレークを探し
"1/4/2016"
- 日付を働きました。私は私が離陸した以上に働いたかどうかをチェックしなければならない。
WorkDate
マイナスStartDate
(1/28/2016
-3/10/2016
)。 5週間を超える場合は、終了日を割り当てます(WorkDate
)。 - 次に私は次のものに行きます。私は4週間(
4/15/2016
-*05/15/2016
)を見るので、私は従業員が4週間以上働いたかどうかを計算する。この場合、従業員は5週間働いています。前にStartDate
3/10/2016
をマイナス4/15/2016
(WorkDate
)で計算します。
私は開始日と終了日を計算する方法を知っていますが、次の各行が前の値に依存するため、一度に1つずつ達成する方法がわかりません。助けてください!
日付フィールドのデータ型は? – Shell
@Shell Datetime – Stephanie
データベースがこの問題の最適な解決方法であるかどうかわかりません。 SQL Serverは時系列分析用に設計されていません。理想的には、すべての行は、そのテーブルの他のユニットとは完全に独立した1ユニットのデータである必要があります。たぶん、Excelは、これらのシリーズの依存関係を処理するために設計された、より優れたツールです。 – CodeJockey