Berechnete Felder anlegen
In der Berichte-App sind Kalkulationsfelder Felder, die ihre Daten aus Berechnungen mit anderen Feldern ableiten. Sie können mit Hilfe von berechneten Fehler das Ergebnis einer Berechnung anzeigen, Textwerte durch numerische Werte ersetzen oder eine oder mehrere Bedingungen auswerten und den Wert eines Feldes auf Grundlage des Ergebnisses bestimmen.
Funktionsweise
Ansichten stellen Ihnen Felder aus Diligent One bereit, die Sie verwenden können, um einen Bericht zu definieren. Wenn Sie weitere Felder als Teil Ihres Berichtverfassungsprozesses erstellen müssen, können Sie einige in der Ansicht bereitgestellte Felder aus Grundlage für komplexere Berechnungen verwenden.
Einfacher Formelgenerator
Sie können mit dem einfachen Formeleditor berechnete Felder definieren und dabei eine beliebige Kombination des Folgenden verwenden:
- Dimensions-, Metrik- und Datumsfelder Feldtypklassifikationen
Weitere Informationen finden Sie unter Berichte erstellen.
- Logische Operatoren Operatoren, wie „zwischen” oder „Nicht in Liste”, die ein Boole'sches Ergebnis zurückgeben
- Aggregationsfunktionen Tools, die Berechnungen oder Operationen auf ein Feld ausführen, wie Anzahl oder Summe
- Mathematische Gleichungen Operationen, wie Addition, Subtraktion, Multiplikation und Division
- CASE-Ausdrücke bedingte Ausdrücke, die die Art und Weise ändern, wie die Daten dargestellt werden
Sobald Sie ein berechnetes Feld erstellt haben, wird das Feld automatisch dem Ordner Berechnete Felder in der Liste der Datenfelder hinzugefügt, und Sie können das Feld Ihrem Bericht hinzufügen.
Formelgenerator für vordefinierte Formeln
Als Alternative zur Definition Ihrer eigenen berechneten Felder können Sie den Formelgenerator für vordefinierte Formeln verwenden, um aus einer Liste von Funktionen auszuwählen, die von Diligent definiert wurden.
Der Formelgenerator für vordefinierte Formeln ist für die folgenden Aufgaben nützlich:
- Aufteilen getrennter Feldwerte, um Berichte über Teilwerte zu erstellen
- Extraktion des Monats oder Jahres aus einem Zeitstempelfeld
- Nutzung erweiterter Alterungsfunktionen
- Umwandlung von Zeichendatentypen in numerische oder Datumsdatentypen
Tipp
Die Umwandlung von Datentypen ist hilfreich, wenn Sie Berichte über benutzerdefinierte Attributfelder aus Projekten erstellen, die normalerweise als Zeichendaten gespeichert werden.
Hinweis
Mit dem einfachen Formelgenerator erstellte berechnete Felder können mit Hilfe vordefinierter Funktionen Daten aus berechneten Feldern ableiten. Allerdings können berechnete Felder, die vordefinierte Funktionen verwenden, keine Daten aus einer anderen vordefinierten Funktion ableiten.
Aggregationsfunktionen
In allen Aggregationsfunktionen werden Nullwerte ignoriert. Informationen zur Fixierung von Nullwerten finden Sie unter Mit Nullwerten arbeiten.
Aggregationsfunktionen und Nullwerte
Beispiele:
- COUNT(1, 2 , 2 , 3 , null ,null) = 4
- COUNT DISTINCT (1, 2, 2, 3, null, null) = 3
- SUM (1, 2, 2, 3, null, null) = 8
- AVG (1, 2, 2, 3, null, null) = 2
- MIN (1, 2, 2, 3, null, null) = 1
- MAX (1, 2, 2, 3, null, null) = 3
Mathematische Gleichungen
Mathematische Gleichungen mit ganzen Zahlen, Dezimalzahlen und Nullwerten geben nun präzise Ergebnisse zurück. Mathematische Gleichungen mit Nullen oder bei einer Division durch 0 wird immer Null zurückgegeben.
Mathematische Gleichungen und Ergebnisse
Beispiele:
- 8 + 2 = 10
- 8 + 2.5 = 10.5
- 8 + 2.5 + null = null
- 8 / 0 = null
Beispiele
Beispiele für berechnete Felder
Ergebnis einer Berechnung
Name des berechneten Feldes diff_risk_score
Syntax Erwartete Zielrisikoeinstufung - Tatsächliche Zielrisikoeinstufung
Ergebnis gibt die Differenz der Felder „Erwartete Zielrisikoeinstufung” und „Tatsächliche Zielrisikoeinstufung” zurück
Durch numerische Werte ersetzte Textwerte
Name des berechneten Feldes risk_assurance_rating
Syntax CASE WHEN Zielrisikoabsicherung <= 50 THEN 'Risikobereich kritisch: Wiedervorlage erforderlich' ELSE 'Unbekannt' END
Ergebnis gibt „Risikobereich kritisch: Wiedervorlage erforderlich” zurück, wenn der Wert für „Zielrisikoabsicherung” kleiner oder gleich 50 ist
Mehrere Bedingungen auswerten und den Wert eines Feldes anhand des Ergebnisses bestimmen
Name des berechneten Feldes risk_assurance_rating
Syntax CASE WHEN Zielrisikoabsicherung <= 50 AND Problembeilegungsstatus = 'Offen' THEN 'Risikobereich kritisch' ELSE 'Unbekannt' END
Ergebnis gibt „Risikobereich kritisch” zurück, wenn der Wert für „Zielrisikoabsicherung” kleiner oder gleich 50 und „Problembeilegungsstatus” gleich „Offen” ist.
Berechtigungen
Nur Berichte-App-Administratoren und Berichtersteller können berechnete Felder anlegen.
Ein berechnetes Feld erstellen
- Öffnen Sie die Berichte-App.
Die Seite Durchsuchen wird geöffnet.
- Öffnen Sie einen Bericht und navigieren Sie im Berichtsgenerator zur Registerkarte Daten.
- Klicken Sie unten in der Liste der Datenfelder auf Berechnetes Feld erstellen
.Das Dialogfeld Berechnetes Feld wird geöffnet.
- Geben Sie neben Name des berechneten Feldes einen Namen für das berechnete Feld ein.
- Wählen Sie neben Formeltyp eine der folgenden Optionen:
- Einfach Ermöglicht die Definition eigener berechneter Felder
- Vordefiniert Ermöglicht die Auswahl von Funktionen, die von Diligent definiert wurden
- Führen Sie die folgenden Schritte aus:
Wenn Sie Einfach gewählt haben ... Wenn Sie Vordefiniert gewählt haben ... - Definieren Sie mit Hilfe der Schaltflächen unten im Dialogfeld einen Ausdruck.Hinweis
Überlegungen:
- Ausdrücke, die Werte mit Apostrophen enthalten, werden nicht unterstützt.
- Aggregationsfunktionen müssen vor den Feldern, auf die sie angewendet werden sollen, hinzugefügt werden.
- Bei allen Ausdrücken müssen Sie auf +Hinzufügen klicken, nachdem Sie Ihrem Ausdruck Werte und logische Operatoren hinzugefügt haben.
- Um einen Teil eines Ausdrucks zu bearbeiten, klicken Sie auf Rückgängig und erstellen ihn erneut.
- Bei Boole'schen Ausdrücken geben Sie 0 für „Nein” und 1 für „Ja” ein.
- Um den Ausdruck zu testen, klicken Sie auf Validieren.
Eine Meldung mit der Angabe, ob der Ausdruck gültig oder ungültig ist, wird angezeigt. Wenn der Ausdruck ungültig ist, können Sie das berechnete Feld nicht speichern, und Sie können erst fortfahren, nachdem Sie die Syntax aktualisiert haben.
- Klicken Sie auf Speichern.
Ergebnis In der Liste der Datenfelder wird der Ordner Berechnete Felder automatisch angelegt, und das neu erstellte berechnete Feld wird dem Ordner hinzugefügt.
- Wählen Sie eine Funktion aus der Liste aus.
Eine vollständige Liste der Funktionen finden Sie in Vordefinierte Funktionen.
- Wählen Sie den Feldtyp des berechneten Feldes, das Sie erstellen möchten.
- Definieren Sie die Felder, die in der Funktion verwendet werden sollen.
- Klicken Sie auf Speichern.
Ergebnis In der Liste der Datenfelder wird der Ordner Berechnete Felder automatisch angelegt, und das neu erstellte berechnete Feld wird dem Ordner hinzugefügt.
- Definieren Sie mit Hilfe der Schaltflächen unten im Dialogfeld einen Ausdruck.
Berechnetes Feld einem Bericht hinzufügen
- Öffnen Sie in der Liste der Datenfelder de Ordner Berechnete Felder.
- Ziehen Sie das berechnete Feld in den entsprechenden Bereich im Bericht.
Ergebnis Das berechnete Feld wird dem Bericht hinzugefügt.
Vordefinierte Funktionen
Beschreibung
Gibt die Anzahl der verstrichenen Tage (das Alter) eines bestimmten Datums zurück.
Syntax
AGE(Date: Zeitstempel)
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
| Datum | Zeitstempel | Das Feld, dessen Alter berechnet werden soll. |
Ausgabe
Zahl.
Beispiel
Gibt die Anzahl der Tage zwischen dem Datum der Beilegungsfrist für das Problem und dem aktuellen Datum zurück:
AGE(Date: Datum der Abschlussfrist für die Beilegung des Problems)
- Wenn ein positiver Wert zurückgegeben wird, ist er gleich der Anzahl der Tage in der Vergangenheit, an denen die Frist für die Beilegung des Problems abgelaufen ist.
- Wenn ein negativer Wert zurückgegeben wird, ist er gleich der Anzahl der Tage in der Zukunft, nach denen die Frist für die Beilegung des Problems abläuft.
- Wenn 0 zurückgegeben wird, ist das Datum der Frist für die Beilegung des Problems das aktuelle Datum.
Beschreibung
Gibt die Anzahl der verstrichenen Tage zwischen zwei Datumsangaben zurück.
Syntax
DATEDIFF(Start Date: Zeitstempel, End Date: Zeitstempel)
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
| Startdatum | Zeitstempel | Das Feld, dessen Alter berechnet werden soll. |
| Enddatum | Zeitstempel | Das Feld, mit dem das Startdatum verglichen wird. |
Ausgabe
Zahl.
Beispiel
Gibt die Anzahl der Tage zwischen dem Datum, an dem das Problem identifiziert wurde, und dem tatsächlichen Beilegungsdatum des Problems zurück:
DATEDIFF(Start Date: Datum, an dem das Problem identifiziert wurde, End Date: Tatsächliches Beilegungsdatum des Problems)
- Wenn ein positiver Wert zurückgegeben wird, liegt das Datum, an dem das Problem identifiziert wurde, vor dem Datum, an dem das Problem tatsächlich beigelegt wurde.
- Wenn ein negativer Wert zurückgegeben wird, liegt das Datum, an dem das Problem tatsächlich beigelegt wurde, vor dem Datum, an dem dias Problem identifiziert wurde.
- Wenn 0 zurückgegeben wird, sind das Datum der Identifizierung des Problems und das Datum der tatsächlichen Beilegung des Problems das gleiche Datum.
Beschreibung
Extrahiert den Monat aus einem angegebenen Zeitstempel und gibt ihn als numerischen Wert (1 bis 12) zurück.
Syntax
MONTH(Date: Zeitstempel)
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
| Datum | Zeitstempel | Das Feld, aus dem der Monat extrahiert werden soll. |
Ausgabe
Ganzzahlen (1-12)
Beispiel
Gibt für jeden Wert im Feld Tatsächliches Beilegungsdatum eines Problems den Monat (1-12) zurück:
MONTH(Date: Tatsächliches Beilegungsdatum eines Problems)
Beschreibung
Extrahiert das Jahr aus einem angegebenen Zeitstempel und gibt es als numerischen Wert im JJJJ-Format zurück.
Syntax
YEAR(Date: Zeitstempel)
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
| Datum | Zeitstempel | Das Feld, aus dem das Jahr extrahiert werden soll. |
Ausgabe
Ganzzahl.
Beispiel
Gibt für jeden Wert im Feld Tatsächliches Beilegungsdatum eines Problems das Jahr (JJJJ) zurück:
YEAR(Date: Tatsächliches Beilegungsdatum eines Problems)
Beschreibung
Gibt die Anzahl der verstrichenen Tage (das Alter) eines bestimmten Datums zurück.
Syntax
AGE_C(Date: Text)
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
| Datum | Text | Das Feld, dessen Alter berechnet werden soll. |
Ausgabe
Zahl.
Beispiel
Sie haben ein benutzerdefiniertes Feld für Probleme definiert, das einen Datumswert angibt. Sie möchten eine Alterungsberechnung für das Feld durchführen, jedoch werden benutzerdefinierte Felder in der Berichte-App als Textwerte dargestellt. Zur Durchführung der Alterungsberechnung verwenden Sie die Funktion Text - Alterung.
Gibt die Anzahl der Tage zwischen dem Datum des benutzerdefinierten Feldes und dem aktuellen Datum zurück:
AGE_C(Date: Benutzerdefiniertes Problemattribut 1)
- Wenn ein positiver Wert zurückgegeben wird, ist er gleich der Anzahl der Tage in der Vergangenheit gerechnet vom Datum aus dem benutzerdefinierten Feld.
- Wenn ein negativer Wert zurückgegeben wird, ist er gleich der Anzahl der Tage in der Zukunft, gerechnet bis zum Datum aus dem benutzerdefinierten Feld.
- Wenn 0 zurückgegeben wird, entspricht das Datum aus dem benutzerdefinierten Feld dem aktuellen Datum.
Beschreibung
Wandelt ein Datumstextfeld in einen Zeitstempel um.
Syntax
CHAR_TO_DATE(Date: Text)
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
| Datum | Text | Das Feld, das in einen Zeitstempel umgewandelt werden soll. |
Ausgabe
Zeitstempel.
Beispiel
Sie haben ein benutzerdefiniertes Feld für Probleme definiert, das einen Datumswert angibt. Sie möchten eine Berechnung für das Feld durchführen, jedoch werden benutzerdefinierte Felder in der Berichte-App als Textwerte dargestellt. Mit der Funktion Text - In Datum umwandeln können Sie das Feld in einen Zeitstempel umwandeln:
CHAR_TO_DATE(Date: Benutzerdefiniertes Problemattribut 1)
Tipp
Die Ausgabe ist ein Zeitstempel, der sowohl das Datum als auch die Uhrzeit anzeigt. Wenn Sie nur das Datum anzeigen möchten, können Sie die Anzeige des Feldes formatieren und als Datum angeben. Weitere Informationen finden Sie unter Spalten in Berichten formatieren.
Beschreibung
Wandelt ein Zahlentextfeld in einen numerischen Wert um.
Syntax
CHAR_TO_NUM(Text: Text)
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
| Text | Text | Das Feld, das in einen numerischen Wert umgewandelt werden soll. |
Ausgabe
Zahl.
Beispiel
Sie haben ein benutzerdefiniertes Feld für Probleme definiert, das einen numerischen Wert angibt. Sie möchten eine Berechnung für das Feld durchführen, jedoch werden benutzerdefinierte Felder in der Berichte-App als Textwerte dargestellt. Mit der Funktion Text - In einen numerischen Wert konvertieren können Sie das Feld in einen numerischen Wert umwandeln:
CHAR_TO_NUM(Text: Benutzerdefiniertes Problemattribut 1)
Beschreibung
Gibt die Anzahl der verstrichenen Tage zwischen zwei Datumsangaben zurück.
Syntax
DATEDIFF_C(Start Date: Text, End Date: Text)
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
| Startdatum | Text | Das Feld, dessen Alter berechnet werden soll. |
| Enddatum | Text | Das Feld, mit dem das Startdatum verglichen wird. |
Ausgabe
Zahl.
Beispiel
Sie haben zwei benutzerdefinierte Felder für Probleme definiert, die numerische Werte angeben. Sie möchten die Anzahl der Tage berechnen, die zwischen den beiden Datumsangaben verstrichen sind, jedoch werden benutzerdefinierte Felder in der Berichte-App als Textwerte dargestellt. Sie berechnen mit der Funktion Text - Tage zwischen den Terminen die Anzahl der Tage.
Gibt die Anzahl der Tage zwischen dem Datum des ersten benutzerdefinierten Feldes und dem Datum des zweiten benutzerdefinierten Feldes zurück:
DATEDIFF_C(Start Date: Benutzerdefiniertes Problemattribut 1, End Date: Benutzerdefiniertes Problemattribut 2)
- Wenn ein positiver Wert zurückgegeben wird, liegt das Datum des ersten benutzerdefinierten Feldes vor dem Datum des zweiten benutzerdefinierten Feldes.
- Wenn ein negativer Wert zurückgegeben wird, liegt das Datum des zweiten benutzerdefinierten Feldes vor dem Datum des ersten benutzerdefinierten Feldes.
- Wenn 0 zurückgegeben wird, sind die Datumsangaben der beiden benutzerdefinierten Felder gleich.
Beschreibung
Extrahiert den Monat aus einem angegebenen Textfeld und gibt ihn als numerischen Wert (1 bis 12) zurück.
Syntax
MONTH_C(Date: Text)
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
| Datum | Text | Das Feld, aus dem der Monat extrahiert werden soll. |
Ausgabe
Ganzzahlen (1-12)
Beispiel
Sie haben ein benutzerdefiniertes Feld für Probleme definiert, das einen Datumswert angibt. Sie möchten den Monat aus dem Feld extrahieren, jedoch werden benutzerdefinierte Felder in der Berichte-App als Textwerte dargestellt. Sie extrahieren mit der Funktion Text - Monat extrahieren den Monat aus dem Feld.
Gibt den Monat (1-12) für jeden Wert im benutzerdefinierten Feld zurück:
MONTH_C(Date: Benutzerdefiniertes Problemattribut 1)
Beschreibung
Extrahiert das Jahr aus einem angegebenen Textfeld und gibt es als numerischen Wert im JJJJ-Format zurück.
Syntax
YEAR_C(Date: Text)
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
| Datum | Text | Das Feld, aus dem das Jahr extrahiert werden soll. |
Ausgabe
Ganzzahl.
Beispiel
Sie haben ein benutzerdefiniertes Feld für Probleme definiert, das einen Datumswert angibt. Sie möchten das Jahr aus dem Feld extrahieren, jedoch werden benutzerdefinierte Felder in der Berichte-App als Textwerte dargestellt. Sie extrahieren mit der Funktion Text - Jahr extrahieren das Jahr aus dem Feld.
Gibt das Jahr für jeden Wert im benutzerdefinierten Feld zurück:
YEAR_C(Date: Benutzerdefiniertes Problemattribut 1)
Beschreibung
Extrahiert ein bestimmtes Datensegment aus einem Feld. Das Segment muss in jedem Feld an derselben Position vorkommen.
Syntax
SPLIT(Text: Text, Separator: Text, Segment: Ganzzahl )
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
| Text | Text | Der Wert, aus dem das Segment extrahiert werden soll. |
| Trennzeichen | Text |
Das Zeichen oder die Zeichen, die Datensegmente in einer Quellzeichenfolge abgrenzen oder anzeigen. Sie können auch einen regulären Ausdruck als Trennzeichen angeben. Siehe die nachfolgenden Beispiele für Trennzeichen aus mehreren Zeichen und Leerzeichen. |
| Segment | Ganzzahl |
Das zu extrahierende Segment. Verwenden Sie eine Zahl, um festzulegen, welches Segment extrahiert werden soll. Um das dritte Segment zu extrahieren, geben Sie beispielsweise 3 an. |
Ausgabe
Zeichen.
Beispiele
Die Funktion Text - Teilung bricht Zeichendaten anhand von Trennzeichen wie Kommas oder Leerzeichen in Segmente auf und gibt ein bestimmtes Segment zurück:
| Durch Kommas getrennte Segmente | Trennzeichen aus mehreren Zeichen und Leerzeichen |
|---|---|
|
Gibt „Nordamerika“ zurück: SPLIT("Nordamerika, Kanada, Britisch-Kolumbien", ",", 1)
Gibt „Britisch-Kolumbien“ zurück: SPLIT("Nordamerika, Kanada, Britisch-Kolumbien", ",", 3)
Gibt „“ zurück (das dritte Segment ist leer): SPLIT("Nordamerika, Kanada, , Britisch-Kolumbien", ",", 3)
|
Gibt „A“ zurück: SPLIT("ABC", "/*", 1)
Gibt „Doe“ zurück: SPLIT("Jane Doe", "\s+ ", 2)
|