作業分布パターンに対する時間別データの生成
プロジェクトのスケジュール管理では、さまざまなリソース割り当てにおける作業の時間的な配分を分析する必要がよくあります。Aspose.Tasks for .NET は、 時間別データ が異なる作業分布パターンに基づいてリソース割り当てのために生成されます。これにより、開発者はリソース使用状況をより正確にシミュレーション、追跡、および報告できるようになります。
作業分布パターンに対する時間別データの生成
作業分布パターンは、タスクの期間にわたって作業がどのように割り当てられるかを定義します。Aspose.Tasks for .NET は、Flat、Back Loaded、Front Loaded、Turtle、Bell などのさまざまな輪郭を適用して、それに対応する時間別データを生成できます。生成されたデータは TimeScaleData
メソッドを使用して取得され、プロジェクトの開始日と終了日を入力パラメーターとして受け取ります。
コード例
次の例では、リソースにさまざまな種類の作業分布パターンを割り当て、その時間別データを取得して解析します:
1Project project = new Project("New Project.mpp");
2
3// Get the first task of the Project
4Task task = project.RootTask.Children.GetById(1);
5
6// Get the First Resource Assignment of the Project
7ResourceAssignment firstRA = project.ResourceAssignments.ToList()[0];
8
9// Flat contour is default contour
10Console.WriteLine("Flat contour");
11
12var tdList = task.GetTimephasedData(project.Get(Prj.StartDate), project.Get(Prj.FinishDate));
13foreach (TimephasedData td in tdList)
14{
15 Console.WriteLine(td.Start.ToShortDateString() + " " + td.Value);
16}
17
18// Change contour
19firstRA.Set(Asn.WorkContour, WorkContourType.Turtle);
20Console.WriteLine("Turtle contour");
21tdList = task.GetTimephasedData(project.Get(Prj.StartDate), project.Get(Prj.FinishDate));
22foreach (TimephasedData td in tdList)
23{
24 Console.WriteLine(td.Start.ToShortDateString() + " " + td.Value);
25}
26
27// Change contour
28firstRA.Set(Asn.WorkContour, WorkContourType.BackLoaded);
29Console.WriteLine("BackLoaded contour");
30tdList = task.GetTimephasedData(project.Get(Prj.StartDate), project.Get(Prj.FinishDate));
31foreach (TimephasedData td in tdList)
32{
33 Console.WriteLine(td.Start.ToShortDateString() + " " + td.Value);
34}
35
36// Change contour
37firstRA.Set(Asn.WorkContour, WorkContourType.FrontLoaded);
38Console.WriteLine("FrontLoaded contour");
39tdList = task.GetTimephasedData(project.Get(Prj.StartDate), project.Get(Prj.FinishDate));
40foreach (TimephasedData td in tdList)
41{
42 Console.WriteLine(td.Start.ToShortDateString() + " " + td.Value);
43}
44
45// Change contour
46firstRA.Set(Asn.WorkContour, WorkContourType.Bell);
47Console.WriteLine("Bell contour");
48tdList = task.GetTimephasedData(project.Get(Prj.StartDate), project.Get(Prj.FinishDate));
49foreach (TimephasedData td in tdList)
50{
51 Console.WriteLine(td.Start.ToShortDateString() + " " + td.Value);
52}
53
54// Change contour
55firstRA.Set(Asn.WorkContour, WorkContourType.EarlyPeak);
56Console.WriteLine("EarlyPeak contour");
57tdList = task.GetTimephasedData(project.Get(Prj.StartDate), project.Get(Prj.FinishDate));
58foreach (TimephasedData td in tdList)
59{
60 Console.WriteLine(td.Start.ToShortDateString() + " " + td.Value);
61}
62
63// Change contour
64firstRA.Set(Asn.WorkContour, WorkContourType.LatePeak);
65Console.WriteLine("LatePeak contour");
66tdList = task.GetTimephasedData(project.Get(Prj.StartDate), project.Get(Prj.FinishDate));
67foreach (TimephasedData td in tdList)
68{
69 Console.WriteLine(td.Start.ToShortDateString() + " " + td.Value);
70}
71
72// Change contour
73firstRA.Set(Asn.WorkContour, WorkContourType.DoublePeak);
74Console.WriteLine("DoublePeak contour");
75tdList = task.GetTimephasedData(project.Get(Prj.StartDate), project.Get(Prj.FinishDate));
76foreach (TimephasedData td in tdList)
77{
78 Console.WriteLine(td.Start.ToShortDateString() + " " + td.Value);
79}
このコードでは、各作業分布パターンがリソース割り当てに適用され、生成された時間別データが表示されます。これにより、パターンの種類に応じて作業が割り当て期間にどのように分配されるかを簡単に確認できます。
よくある質問
Q: Microsoft Project における作業分布パターンとは何ですか?
- 作業分布パターンは、リソースの工数がタスク期間にどのように配分されるかを定義します。例えば、Flat は均等に作業を割り当て、Bell は中央により多くの工数を割り当てます。
Q: Aspose.Tasks はどのように時間別データを生成しますか?
- それは
TimeScaleData
メソッドを使用し、各割り当ての作業分布を計算するためにプロジェクトの開始日と終了日を受け取ります。
Q: 複数の割り当てに対して一度に時間別データを生成できますか?
- はい。プロジェクト内のすべてのリソース割り当てを繰り返し処理して、それぞれに対して時間別データを生成できます。
Q: 時間別データを生成するために Microsoft Project をインストールする必要がありますか?
- いいえ。Aspose.Tasks は独立して動作し、時間別データを読み取り、計算し、エクスポートするために Microsoft Project を必要としません。
結論
この記事では、 時間別データ を Aspose.Tasks for .NET を使用してリソース割り当てのさまざまな作業分布パターン向けに生成する方法を説明しました。さまざまなパターンを適用して対応するデータを取得することで、開発者はリソースの負荷をより正確に分析し、プロジェクトの予測を改善し、プログラム的に詳細な使用レポートを生成できます。