仕事のために、個人に与えられたすべての割り当てと与えられたシフトを追跡するテーブルがあります。これを SharePoint サーバーにリンクしているので、MSAccess 2010 を使用してデータをクエリし、レポートを取得しています。ローテーションの優先順位を付けるために、エンジニアが特定のシフトに従事している日数を取得するクエリを作成しようとしています。簡単でしょ?まあ、シフトごとに複数の割り当てがあります。問題の例を次に示します。
氏名 配属 シフト 配属日 ジョン・ア・デイ 2012 年 1 月 1 日 ジョン B 日 2012 年 4 月 10 日 サラ C ナイト 2012 年 2 月 2 日 サラ D ナイト 2012 年 3 月 2 日 ビル E デー 2012 年 2 月 20 日 サリー F ナイト 2012 年 2 月 25 日
これまでのところ、複数のクエリを使用して、最後の割り当て (シフトごと) の日数を取得できましたが、これは、同じシフトで異なる割り当てを与えられた人を考慮していません。上記の表とメソッド (シフトごとの最後の割り当ての最大数) を使用して、BillとSallyをローテーションします。これは、 Billが最も長く日勤であり、 Sallyが最も長く夜勤であると思われるためです。実際には、 JohnはSarahとローテーションする必要があります。