Zeitphasierte Aufgabendaten lesen
In Microsoft Project, zeitphasierte Daten wird im rechten Bereich der Task Usage und Resource Usage Ansichten angezeigt. Es zeigt, wie Arbeit oder Kosten über die Zeit verteilt wird.
Mit Aspose.Tasks für .NET können Entwickler programmatisch zeitphasierte Aufgabendaten aus MPP- oder XML-Dateien lesen und verarbeiten.
Zeitphasierte Daten verstehen
Zeitphasierte Daten liefern detaillierte Aufschlüsselungen von Aufgabenwerten (z. B. Arbeit oder Kosten) über bestimmte Zeitintervalle. Aspose.Tasks ermöglicht diese Funktionalität durch die Task Klasse:
- GetTimephasedData
Zweck: Ruft zeitlich verteilte Werte (Arbeit oder Kosten) für eine Aufgabe ab.
Parameter:
- Startdatum des Intervalls
- Enddatum des Intervalls
- (optional) Typ der zeitphasierten Daten (z. B. TaskCost)
Dies ermöglicht Entwicklern, detaillierte Projektanalysen programmgesteuert zu extrahieren.
Arbeiten mit zeitphasierten Daten
Aspose.Tasks für .NET unterstützt das Lesen zeitphasierter Aufgabendaten aus Microsoft Project (MPP)-Dateien. Die zeitphasierten Daten werden mit der GetTimephasedData-Methode des Task-Objekts abgerufen. Task Objekt GetTimephasedData Methode.
- Um die zeitphasierten Arbeitsdaten einer Aufgabe abzurufen, nimmt die GetTimephasedData-Methode die Projektstart- und Enddaten als Eingabeparameter.
- Um die zeitphasierten Kostendaten einer Aufgabe abzurufen, benötigt sie einen zusätzlichen Eingabeparameter, der den Typ der Zeitphasendaten als TaskCost angibt.
Beispiel: Lesen zeitphasierter Aufgabendaten in Aspose.Tasks
Das folgende C#-Beispiel zeigt, wie man zeitphasierte Arbeit und Kosten Werte für Aufgaben liest:
1Project project = new Project("New Project.mpp");
2
3// Set project properties
4project.Set(Prj.StartDate, new DateTime(2013, 10, 30, 9, 0, 0));
5project.Set(Prj.NewTasksAreManual, false);
6
7// Add task and resources
8Task task = project.RootTask.Children.Add("Task");
9Resource resource = project.Resources.Add("Rsc");
10
11// Set resource rates and task duration
12resource.Set(Rsc.StandardRate, 10);
13resource.Set(Rsc.OvertimeRate, 15);
14task.Set(Tsk.Duration, project.GetDuration(6));
15
16// Create resource assignment
17ResourceAssignment assignment = project.ResourceAssignments.Add(task, resource);
18assignment.Set(Asn.Stop, DateTime.MinValue);
19assignment.Set(Asn.Resume, DateTime.MinValue);
20
21// Set Backloaded contour, it increases task duration from 6 to 10 days
22assignment.Set(Asn.WorkContour, WorkContourType.BackLoaded);
23
24project.SetBaseline(BaselineType.Baseline);
25task.Set(Tsk.PercentComplete, 50);
26
27// Read timephased data
28List<TimephasedData> td = assignment.GetTimephasedData(assignment.Get(Asn.Start), assignment.Get(Asn.Finish), TimephasedDataType.AssignmentRemainingWork).ToList();
29Console.WriteLine(td.Count);
30foreach(TimephasedData timePhasedValue in td)
31{
32 Console.WriteLine(timePhasedValue.Value);
33}
Wichtige Hinweise
- Zeitphasierte Daten bieten eine detaillierte Ansicht des Projektfortschritts und der Kosten.
- Entwickler können sie verwenden, um benutzerdefinierte Berichte, Diagramme zu erstellen oder in Analysesysteme zu integrieren.
- Die Methode funktioniert konsistent mit MPP und XML Formaten.
Häufig gestellte Fragen
F: Was ist der Unterschied zwischen zeitphasierten Arbeitsdaten einer Aufgabe und zeitphasierten Kostendaten?
- Arbeit zeitphasierte Daten zeigen die Verteilung der Stunden/Aufwände, während Kosten zeitphasierte Daten die finanzielle Zuordnung über die Zeit zeigen.
F: Kann ich zeitphasierte Daten auch mit Aspose.Tasks schreiben?
- Ja. Aspose.Tasks erlaubt sowohl das Lesen als auch das Schreiben zeitphasierter Aufgabendaten.
F: Beeinflussen zeitphasierte Daten direkt die Planung?
- Nein. Sie betreffen hauptsächlich die Berichterstattung sowie die Ressourcen-/Kostenverfolgung, ändern jedoch nicht die Aufgabenabhängigkeiten.