

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Hinzufügen eines Kalkulationsfelds
<a name="adding-a-calculated-field-analysis"></a>

Erstellen Sie Kalkulationsfelder, transformieren Sie Ihre Daten, indem Sie eine oder mehrere der folgenden Optionen verwenden: 
+ [Betreiber](arithmetic-and-comparison-operators.md)
+ [Funktionen](functions.md)
+ Aggregatfunktionen (Sie können diese nur zu einer Analyse hinzufügen)
+ Felder, die Daten enthalten
+ Andere Kalkulationsfelder

Sie können während der Datenvorbereitung oder über die Seite für die Analyse einem Dataset Kalkulationsfelder hinzufügen. Wenn Sie während der Datenvorbereitung einem Dataset ein Kalkulationsfeld hinzufügen, steht das Feld in allen Analysen zur Verfügung, die dieses Dataset nutzen. Wenn Sie einem Dataset ein Kalkulationsfeld in einer Analyse hinzufügen, ist es nur in dieser Analyse verfügbar. 

Analysen unterstützen sowohl einzeilige als auch aggregierte Operationen. Operationen mit einzelnen Zeilen liefern (möglicherweise) für jede Zeile ein anderes Ergebnis. Aggregierte Operationen liefern Ergebnisse, die für alle Zeilen einer Gruppe immer gleich sind. Wenn Sie beispielsweise eine einfache Zeichenfolge-Funktion ohne Bedingungen verwenden, wird jede Zeile geändert. Wenn Sie eine Aggregationsfunktion verwenden, gilt diese für alle Zeilen einer Gruppe. Wenn Sie den Gesamtumsatz der Verkäufe in den USA abfragen, gilt dieselbe Zahl für das gesamte Set. Wenn Sie Daten eines bestimmten Bundeslands abfragen, ändert sich der Gesamtumsatz der Verkäufe entsprechend der neuen Gruppierung. Es wird weiterhin ein Ergebnis für das gesamte Set geliefert.

Wenn Sie das aggregierte Kalkulationsfeld innerhalb der Analyse erstellen, können Sie die Daten weiter aufschlüsseln. Der Wert dieses aggregierten Felds wird für jede Ebene entsprechend neu berechnet. Diese Art der Aggregation ist während der Aufbereitung des Datensatzes nicht möglich.

Nehmen wir an, Sie möchten den prozentualen Gewinn für jedes Land, jede Region und jedes Bundesland berechnen. Sie können ein Kalkulationsfeld zu einer Analyse hinzufügen: `(sum(salesAmount - cost)) / sum(salesAmount)` Wenn der Analyst dann die Geografie aufschlüsselt, wird dieses Feld dann für jedes Land, jede Region und jedes Bundesland berechnet.

**Topics**
+ [Hinzufügen von Kalkulationsfeldern zu einer Analyse](#using-the-calculated-field-editor-analysis)
+ [Hinzufügen von Kalkulationsfeldern zu einem Datensatz](#using-the-calculated-field-editor)
+ [Behandeln von Dezimalwerten in Kalkulationsfeldern](#handling-decimal-fields)

## Hinzufügen von Kalkulationsfeldern zu einer Analyse
<a name="using-the-calculated-field-editor-analysis"></a>

Wenn Sie einer Analyse einen Datensatz hinzufügen, wird jedes Kalkulationsfeld, das im Datensatz vorhanden ist, der Analyse hinzugefügt. Sie können zusätzliche Kalkulationsfelder auf Analyseebene hinzufügen, um Kalkulationsfelder zu erstellen, die nur in dieser Analyse verfügbar sind.

**So fügen Sie ein Kalkulationsfeld zu einer Analyse hinzu**

1. Öffnen Sie die [Quick-Konsole](https://quicksight.aws.amazon.com/).

1. Öffnen Sie die Analyse, die Sie ändern möchten.

1. Wählen Sie im Bereich **Daten** oben links **Hinzufügen** und dann **\$1 BERECHNETES FELD**.

   1. Gehen Sie im sich öffnenden Berechnungseditor wie folgt vor:

   1. Geben Sie einen Namen für das Kalkulationsfeld ein.

   1. Geben Sie eine Formel mit Feldern aus Ihrem Datensatz, Funktionen und Operatoren ein.

1. Wenn Sie fertig sind, wählen Sie **Speichern** aus.

Weitere Informationen zum Erstellen von Formeln mithilfe der verfügbaren Funktionen in Quick Sight finden Sie unter[Berechnete Feldfunktion und Operatorreferenz für Amazon QuickFunktionen und Operatoren](calculated-field-reference.md).

## Hinzufügen von Kalkulationsfeldern zu einem Datensatz
<a name="using-the-calculated-field-editor"></a>

Amazon Quick Sight-Autoren können berechnete Felder während der Datenvorbereitungsphase der Erstellung eines Datensatzes generieren. Wenn Sie ein Kalkulationsfeld für einen Datensatz erstellen, wird das Feld zu einer neuen Spalte im Datensatz. Alle Analysen, die den Datensatz verwenden, erben die Kalkulationsfelder des Datensatzes.

Wenn das berechnete Feld auf Zeilenebene funktioniert und der Datensatz darin gespeichert istSPICE, berechnet Quick Sight das Ergebnis und materialisiert es in. SPICE Wenn das berechnete Feld auf einer Aggregationsfunktion basiert, behält Quick Sight die Formel bei und führt die Berechnung durch, wenn die Analyse generiert wird. Diese Art von Kalkulationsfeld wird als unmaterialisiertes Kalkulationsfeld bezeichnet.

**So bearbeiten oder fügen Sie ein Kalkulationsfeld für einen Datensatz hinzu**

1. Öffnen Sie den Datensatz, mit dem Sie arbeiten möchten. Weitere Informationen finden Sie unter [Bearbeiten von Datensätzen](edit-a-data-set.md).

1. Führen Sie auf der Datenvorbereitungsseite einen der folgenden Schritte aus:
   + Um ein neues Feld zu erstellen, wählen Sie links **Kalkulationsfeld hinzufügen** aus.
   + Um ein vorhandenes Kalkulationsfeld zu bearbeiten, wählen Sie es links unter **Kalkulationsfelder** aus und wählen Sie dann im Kontextmenü (Rechtsklick) die Option **Bearbeiten** aus.

1. Geben Sie im Berechnungseditor einen beschreibenden Namen für **Titel hinzufügen** ein, um dem neuen Kalkulationsfeld einen Namen zu geben. Dieser Name erscheint in der Feldliste im Datensatz und sollte daher den anderen Feldern ähneln. In diesem Beispiel nennen wir das Feld `Total Sales This Year`.

1. (Optional) Fügen Sie einen Kommentar hinzu, um beispielsweise zu erläutern, was der Ausdruck bewirkt, indem Sie Text in Schrägstriche und Sternchen einschließen.

   ```
   /* Calculates sales per year for this year*/
   ```

1. Identifizieren Sie die Metriken, Funktionen und anderen Elemente, die verwendet werden sollen. Für dieses Beispiel müssen wir Folgendes identifizieren:
   + Die zu verwendende Metrik
   + Funktionen: `ifelse` und `datediff`

   Wir möchten eine Aussage wie „Wenn der Verkauf in diesem Jahr stattfand, ist der Gesamtumsatz anzugeben, andernfalls ist 0 anzugeben.“

   Um die `ifelse`-Funktion hinzuzufügen, öffnen Sie die Liste **Funktionen**. Wählen Sie **Alle**, um die Liste aller Funktionen zu schließen. Jetzt sollten Sie die Funktionsgruppen **Aggregat**, **Bedingung**, **Datum** usw. sehen. 

   Wählen Sie **Bedingung** und doppelklicken Sie dann auf `ifelse`, um es dem Arbeitsbereich hinzuzufügen. 

   ```
   ifelse()
   ```

1. Platzieren Sie den Cursor innerhalb der Klammer im Arbeitsbereich und fügen Sie drei Leerzeilen ein.

   ```
   ifelse(
                                               
                                               
                                               
   )
   ```

1. Setzen Sie den Cursor auf die erste leere Zeile und suchen Sie die Funktion `dateDiff`. Sie ist für **Funktionen** unter **Daten** aufgeführt. Sie können es auch finden, indem Sie **date** für **Suchfunktionen** eingeben. Die `dateDiff`-Funktion gibt alle Funktionen zurück, die *`date`* als Teil ihres Namens haben. Sie gibt nicht alle Funktionen zurück, die unter **Daten** aufgeführt sind. Beispielsweise fehlt die `now`-Funktion in den Suchergebnissen.

   Doppelklicken Sie auf `dateDiff`, um sie der ersten Leerzeile der `ifelse`-Anweisung hinzuzufügen. 

   ```
   ifelse(
   dateDiff()                                            
                                               
                                               
   )
   ```

   Fügen Sie die Parameter hinzu, die `dateDiff` verwendet. Platzieren Sie den Cursor in den `dateDiff`-Klammern, um mit dem Hinzufügen von `date1`, `date2`, und `period` zu beginnen:

   1. Für `date1`: Der erste Parameter ist das Feld, das das Datum enthält. Suchen Sie ihn unter **Felder** und fügen Sie ihn dem Arbeitsbereich hinzu, indem Sie darauf doppelklicken oder seinen Namen eingeben. 

   1. Fügen Sie für `date2` ein Komma hinzu und wählen Sie dann `truncDate()` für **Funktionen** aus. Fügen Sie in der Klammer einen Zeitraum und ein Datum hinzu, etwa so: **truncDate( "YYYY", now() )**

   1. Für `period`: Fügen Sie nach `date2` ein Komma hinzu und geben Sie **YYYY** ein. Dies ist der Zeitraum für das Jahr. Um eine Liste aller unterstützten Zeiträume anzuzeigen, suchen Sie in der Liste **Funktionen** nach `dateDiff` und öffnen Sie die Dokumentation, indem Sie **Mehr erfahren** wählen. Wenn Sie sich die Dokumentation bereits ansehen, so wie Sie es jetzt tun, finden Sie weitere Informationen unter [dateDiff](dateDiff-function.md).

   Fügen Sie zur besseren Lesbarkeit einige Leerzeichen hinzu, wenn Sie möchten. Ihr Ausdruck sollte folgendermaßen aussehen.

   ```
   ifelse(
      dateDiff( {Date}, truncDate( "YYYY", now() ) ,"YYYY" )                                       
                                               
                                               
   )
   ```

1. Geben Sie den Rückgabewert an. In unserem Beispiel muss der erste Parameter in `ifelse` einen Wert von `TRUE` oder `FALSE` zurückgeben. Da wir das aktuelle Jahr suchen und mit diesem vergleichen, geben wir an, dass die `dateDiff`-Anweisung `0` zurückgeben soll. Der `if`-Teil des `ifelse` wird als wahr für Zeilen ausgewertet, bei denen es keinen Unterschied zwischen dem Jahr des Verkaufs und dem aktuellen Jahr gibt.

   ```
      dateDiff( {Date}, truncDate( "YYYY", now() ) ,"YYYY" ) = 0 
   ```

   Um ein Feld für `TotalSales` für das letzte Jahr zu erstellen, können Sie `0` in `1` ändern.

   Eine andere Möglichkeit, das Gleiche zu tun, ist die Verwendung von `addDateTime` anstelle von `truncDate`. Dann ändern Sie für jedes vorangegangene Jahr den ersten Parameter für `addDateTime`, um jedes Jahr darzustellen. Dazu verwenden Sie `-1` für das letzte Jahr, `-2` für das Jahr davor usw. Wenn Sie `addDateTime` verwenden, verlassen Sie die `dateDiff`-Funktion `= 0` für jedes Jahr.

   ```
      dateDiff( {Discharge Date}, addDateTime(-1, "YYYY", now() ) ,"YYYY" ) = 0 /* Last year */
   ```

1. Bewegen Sie den Cursor auf die erste Leerzeile, direkt unter `dateDiff`. Fügen Sie ein Komma hinzu. 

   Für den `then`-Teil der `ifelse`-Anweisung müssen wir den Messwert (Metrik) wählen, der den Umsatzbetrag `TotalSales` enthält.

   Um ein Feld auszuwählen, öffnen Sie die Liste **Felder** und doppelklicken Sie auf ein Feld, um es dem Bildschirm hinzuzufügen. Oder Sie können den Namen eingeben. Fügen Sie geschweifte Klammern `{ }` um Namen hinzu, die Leerzeichen enthalten. Es ist wahrscheinlich, dass Ihre Metrik einen anderen Namen hat. Anhand des vorangestellten Nummernzeichens (**\$1**) können Sie erkennen, welches Feld eine Metrik ist.

   Ihr Ausdruck sollte jetzt wie folgt aussehen.

   ```
   ifelse(
      dateDiff( {Date}, truncDate( "YYYY", now() ) ,"YYYY" ) = 0
      ,{TotalSales}                            
                                              
   )
   ```

1. Fügen Sie eine `else`-Klausel hinzu. Die `ifelse`-Funktion benötigt keine, aber wir möchten sie hinzufügen. Zu Berichtszwecken möchten Sie normalerweise keine Nullwerte verwenden, da manchmal Zeilen mit Nullen weggelassen werden. 

   Wir setzen den anderen Teil des Feldes auf `0`. Das Ergebnis ist, dass dieses Feld für Zeilen, die Verkäufe aus früheren Jahren enthalten, `0` ist.

   Fügen Sie dazu in der leeren Zeile ein Komma und dann ein `0` hinzu. Wenn Sie den Kommentar am Anfang hinzugefügt haben, sollte Ihr fertiger `ifelse`-Ausdruck wie folgt aussehen.

   ```
   /* Calculates sales per year for this year*/
   ifelse(
      dateDiff( {Date}, truncDate( "YYYY", now() ) ,"YYYY" ) = 0
      ,{TotalSales}                            
      ,0                                         
   )
   ```

1. Speichern Sie Ihre Arbeit, indem Sie oben rechts **Speichern** wählen. 

   Wenn Ihr Ausdruck Fehler enthält, zeigt der Editor unten eine Fehlermeldung an. Suchen Sie in Ihrem Ausdruck nach einer roten, verschnörkelten Linie, und bewegen Sie dann den Mauszeiger über diese Linie, um die Fehlermeldung zu sehen. Zu den häufigsten Fehlern gehören fehlende Satzzeichen, fehlende Parameter, Rechtschreibfehler und ungültige Datentypen.

   Um Änderungen zu vermeiden, wählen Sie **Abbrechen**.

**So fügen Sie einem Kalkulationsfeld einen Parameterwert hinzu**

1. Sie können auf Parameter in Kalkulationsfeldern verweisen. Indem Sie den Parameter zu Ihrem Ausdruck hinzufügen, fügen Sie den aktuellen Wert dieses Parameters hinzu.

1. Um einen Parameter hinzuzufügen, öffnen Sie die Liste **Parameter** und wählen Sie den Parameter aus, dessen Wert Sie einbeziehen möchten. 

1. (Optional) Um dem Ausdruck manuell einen Parameter hinzuzufügen, geben Sie den Namen des Parameters ein. Dann schließen Sie ihn in geschweifte Klammern `{}` ein und stellen ihm ein `$` voran, zum Beispiel `${parameterName}`.

Sie können den Datentyp jedes Felds in Ihrem Datensatz ändern, einschließlich der Typen der Kalkulationsfelder. Sie können nur Datentypen auswählen, die mit den Daten im Feld übereinstimmen.

**So ändern Sie den Datentyp eines Kalkulationsfelds**
+ Wählen Sie für **Kalkulationsfelder** (links) das Feld aus, das Sie ändern möchten, und wählen Sie dann im Kontextmenü (Rechtsklick) die Option **Datentyp ändern** aus.

Im Gegensatz zu den anderen Feldern im Datensatz können Kalkulationsfelder nicht deaktiviert werden. Löschen Sie sie stattdessen. 

**So löschen Sie ein Kalkulationsfeld**
+ Wählen Sie für **Kalkulationsfelder** (links) das Feld aus, das Sie ändern möchten, und wählen Sie dann im Kontextmenü (Rechtsklick) die Option **Löschen** aus.

## Behandeln von Dezimalwerten in Kalkulationsfeldern
<a name="handling-decimal-fields"></a>

Wenn Ihr Datensatz den Direktabfragemodus verwendet, wird die Berechnung des Dezimaldatentyps durch das Verhalten der Quell-Engine bestimmt, aus der der Datensatz stammt. In bestimmten Fällen wendet Quick Sight spezielle Verfahren an, um den Datentyp der Ausgabeberechnung zu bestimmen.

Wenn Ihr Datensatz den SPICE-Abfragemodus verwendet und ein Kalkulationsfeld materialisiert wird, hängt der Datentyp des Ergebnisses von den spezifischen Funktionsoperatoren und dem Datentyp der Eingabe ab. Die folgenden Tabellen zeigen das erwartete Verhalten für einige numerische Kalkulationsfelder.

**Unäre Operatoren**

Die folgende Tabelle zeigt, welcher Datentyp basierend auf dem von Ihnen verwendeten Operator und dem Datentyp des von Ihnen eingegebenen Werts ausgegeben wird. Wenn Sie beispielsweise eine Ganzzahl in eine `abs`-Berechnung eingeben, ist der Datentyp des Ausgabewerts eine ganze Zahl.


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/quick/latest/userguide/adding-a-calculated-field-analysis.html)

**Binäre Operatoren**

Die folgenden Tabellen zeigen, welcher Datentyp auf der Grundlage der Datentypen der beiden eingegebenen Werte ausgegeben wird. Wenn Sie z. B. für einen arithmetischen Operator zwei Ganzzahl-Datentypen angeben, wird das Ergebnis der Berechnung als Ganzzahl ausgegeben.

Für grundlegende Operatoren (\$1, -, \$1):


|  | **Ganzzahl** | **Decimal-fixed** | **Decimal-float** | 
| --- | --- | --- | --- | 
|  **Ganzzahl**  |  Ganzzahl  |  Decimal-fixed  |  Decimal-float  | 
|  **Decimal-fixed**  |  Decimal-fixed  |  Decimal-fixed  |  Decimal-float  | 
|  **Decimal-float**  |  Decimal-float  |  Decimal-float  |  Decimal-float  | 

Für Abteilungsoperatoren (/):


|  | **Ganzzahl** | **Decimal-fixed** | **Decimal-float** | 
| --- | --- | --- | --- | 
|  **Ganzzahl**  |  Decimal-float  |  Decimal-float  |  Decimal-float  | 
|  **Decimal-fixed**  |  Decimal-float  |  Decimal-fixed  |  Decimal-float  | 
|  **Decimal-float**  |  Decimal-float  |  Decimal-float  |  Decimal-float  | 

Für Exponential- und Mod-Operatoren (^, %):


|  | **Ganzzahl** | **Decimal-fixed** | **Decimal-float** | 
| --- | --- | --- | --- | 
|  **Ganzzahl**  |  Decimal-float  |  Decimal-float  |  Decimal-float  | 
|  **Decimal-fixed**  |  Decimal-float  |  Decimal-float  |  Decimal-float  | 
|  **Decimal-float**  |  Decimal-float  |  Decimal-float  |  Decimal-float  | 