これは、月次予測の各セットが行のグループとして処理されるように設計します。履歴データをサポートするには、「作成日」フィールドを追加します。つまり、次のようなものです(これは、T-SQL構文であり、ずっと前にAccessをあきらめました)。
CREATE TABLE dbo.TaskEstimates
(
DateCreated datetime NOT NULL,
EstimateYearMonth datetime NOT NULL,
HoursRequired decimal NOT NULL,
CONSTRAINT PK_TaskEstimates PRIMARY KEY CLUSTERED
(
DateCreated ASC,
EstimateMonth ASC
)
);
DateCreated
たとえば、このフィールドは、今日入力された見積もりセットのすべてのメンバーで同じになります。このEstimateYearMonth
フィールドには、年と月のみが含まれます(日= 1、時間部分= 0:00:00.000)。
集計関数とグループ化基準の組み合わせにより、必要なデータの任意の組み合わせを取得できます。
フィールドに加えて、またはフィールドの代わりに、セットごとにインクリメントされるをDateCreated
使用することもできます。GroupID
したがって、最初のセットはすべてGroupID
== 1、次のセットは==2というようになります。これは、日付付きクエリの質問ではなく、カウントされたクエリの質問を求められた場合に、履歴選択の方が簡単な場合があります。たとえば、「6月に行われた見積もりを教えてください」ではなく、「3番目のサイクルの見積もりを教えてください」。
ところで、私は通常datetime
、すべての日付と時刻に関連するデータを年、月などに分割するのではなく使用するため、各行の型変換をいじる代わりに、いくつかの選択基準を正規化するだけで済みます。