1. Home
  2. Umfragedaten analysieren
  3. Dashboard
  4. Eigenschaften, um massgeschneiderte Formeln zu erstellen

Eigenschaften, um massgeschneiderte Formeln zu erstellen

Auf der folgenden Seite wird die Syntax beschrieben, die Sie zum Erstellen benutzerdefinierter Formeln in Ihren Berichtstabellen verwenden können. Den Abschnitt für benutzerdefinierte Formeln finden Sie hier:

Formel Beschreibung Beispiel
CellValue(["[ROW-NAME]"],"[COLUMN-NAME]").MissingsCountGibt die Anzahl der Interviews mit fehlenden Werten für eine bestimmte Zelle zurück. Wenn RowName nicht angegeben ist, wird die aktuelle Zeile verwendet. CellValue(null,"Column1").MissingsCount CellValue("Row1","Column1").MissingsCount
CellValue(["[ROW-NAME]"],"[COLUMN-NAME]").NaCountGibt die Anzahl der Interviews mit N/A für eine bestimmte Zelle zurück. Wenn RowName nicht angegeben ist, wird die aktuelle Zeile verwendet. CellValue(null,"Column1").NaCount CellValue("Row1","Column1").NaCount
CellValue(["[ROW-NAME]"],"[COLUMN-NAME]").ValueGibt den berechneten Wert für eine bestimmte Zelle zurück. Wenn RowName nicht angegeben ist, wird die aktuelle Zeile verwendet. CellValue(null,"Column1").Value CellValue("Row1","Column1").Value
CellValue(["[ROW-NAME]"],"[COLUMN-NAME]").ResponseCountGibt die Anzahl der Interviews für eine bestimmte Zelle zurück. Wenn RowName nicht angegeben ist, wird die aktuelle Zeile verwendet. CellValue(null,"Column1").ResponseCount CellValue("Row1","Column1").ResponseCount
FormelBeschreibung
RowResult.MissingsCountGibt die Anzahl der Interviews mit fehlenden Werten für das aktuelle Segment zurück.
RowResult.NaCountGibt die Anzahl der Interviews mit N/A für das aktuelle Segment zurück.
RowResult.ResponseCountGibt die Anzahl der Interviews für das aktuelle Segment zurück.
SegmentValue(name)Gibt den Segmentwert der aktuellen Spalte für den angegebenen Segmentnamen zurück.
FormelBeschreibung
DataSourceResult.MissingsCountGibt die Anzahl der Interviews mit fehlenden Werten für die gesamte Tabelle zurück, unabhängig von einer Variablen.
DataSourceResult.NaCountGibt die Anzahl der Interviews mit N/A für die gesamte Tabelle zurück, unabhängig von einer Variablen.
DataSourceResult.ResponseCountGibt die Anzahl der Interviews zurück
CurrentRowNameGibt den RowName zurück, der aktuell berechnet wird
CurrentColumnNameGibt den ColumnName zurück, der aktuell berechnet wird

Mehrzeilige benutzerdefinierte Formel

Wenn Sie ein mehrzeiliges Skript erstellen möchten, verwenden Sie am Anfang den Befehl return und am Ende ;:

return (CellValue("Row1","Ginger_1_Average_f2bf-21db").Value + CellValue("Row2","Ginger_1_Average_f2bf-21db").Value + CellValue("Row3","Ginger_1_Average_f2bf-21db").Value + CellValue("Row4","Ginger_1_Average_f2bf-21db").Value + CellValue("Row5","Ginger_1_Average_f2bf-21db").Value) / 5;

Werte wechseln / Werte fest codieren

Dies ist hilfreich, wenn bestimmte Werte in bestimmte Zellen geschrieben werden sollen. Werte können entweder fest codiert oder aus anderen Zellen referenziert werden.

switch(CurrentRowName)
{
  case "Row2": return 2314 * 12;
  case "Row3": return 2313 * 12;
  case "Row4": return 2294 * 12;
}
return 0;

Dieselbe Syntax gilt für Spalten. Verwenden Sie stattdessen CurrentColumnName und erstellen Sie Fälle mit den unterschiedlichen Zeilennamen.

If-Bedingung in einer benutzerdefinierten Formel

Numerischer Vergleich

Die Formel im folgenden Beispiel prüft, ob der Wert in einer anderen Spalte kleiner als 0,2 ist. Ist dies der Fall, wird der Wert aus dieser Spalte angezeigt. Andernfalls wird null (leer) angezeigt. Damit können beispielsweise Einzelergebnisse anonymisiert werden, wenn die Anzahl unter X liegt, oder Ergebnisse allgemein auf die gewünschte Weise von einer Spalte in eine andere übertragen werden. Die zurückgegebenen Werte werden außerdem in Diagrammreihen verwendet, die auf dieser Spalte basieren.

if ((double)CellValue(null,"Percent_6942-44f3").Value > 0.2)
{
  return CellValue(null,"Percent_6942-44f3").Value;
}
else
{
  return null;
}

Das folgende Beispiel stammt aus einer Tabelle, in der negative Differenzen durch den Wert 0 ersetzt werden sollen.

var result = CellValue("Row4",null).Value - CellValue("Row6",null).Value;
if (result < 0) {result=0;}
return result;

Das Präfix (double) vor der Funktion CellValue() muss verwendet werden, wenn der Zellenwert mit einer reellen Zahl verglichen wird. Es ist nicht erforderlich, wenn CellValue() mit einer anderen CellValue()-Funktion oder einer Ganzzahl verglichen wird.

Kombinierte If-Bedingung

Die Formel im folgenden Beispiel prüft anhand zweier unterschiedlicher Eingaben, ob eine Aktion ausgeführt werden muss. Dabei wird zunächst geprüft, ob die erste Bedingung erfüllt ist. Ist dies nicht der Fall, wird geprüft, ob die zweite Bedingung erfüllt ist.

var result = 0;
if (CellValue(null,"Column10").Value < 0)
{
    result = 1;
} 
else if (CellValue(null,"Column8").Value > 4.5m)
{
   result = 2;
} ;
return result;

Textvergleich

Wenn Sie Texte (Strings) vergleichen möchten, müssen Sie eine explizite Typkonvertierung durchführen, da der Rückgabewert der Formel standardmäßig immer eine Zahl ist.

if (CellValue<string>(null,"[COLUMN-IDENTIFIER]").Value?.Equals("[STRING-VALUE]",  StringComparison.OrdinalIgnoreCase)==true) 
{
  return 1;
} 
else 
{
  return 2;
}

Beachten Sie die explizite Typkonvertierung <string> nach dem Ausdruck „CellValue“

If/Then in Kombination mit CellTemplates

Im Context-Portal sollen Spalten unterschiedliche Aktionen anzeigen. Hierzu werden If-Then-Bedingungen, die auf Werten in anderen Spalten basieren, in Kombination mit CellTemplates verwendet.

Wenn CellTemplates verwendet werden, gibt der Rückgabewert 1 das erste CellTemplate und der Rückgabewert 2 das zweite CellTemplate zurück.

Werte runden

Im folgenden Skript wird der Wert auf eine Zahl ohne Dezimalstellen gerundet

Math.Round(((double)CellValue("Row2","Column1").Value/(double)CellValue("Row1","Column1").Value*100),0)

Der vollständige Funktionsumfang des Skripteditors wird in der .NET-Sprachreferenz beschrieben:

https://learn.microsoft.com/en-us/dotnet/csharp/language-reference

Updated on Juli 13, 2026
Was this article helpful?

Related Articles