Op deze pagina wordt de syntaxis beschreven die je kunt gebruiken om aangepaste formules in je rapporttabellen te maken. Je vindt de sectie met aangepaste formules hier:

| Formule | Beschrijving | Voorbeeld |
CellValue(["[ROW-NAME]"],"[COLUMN-NAME]").MissingsCount | Geeft het aantal interviews met ontbrekende waarden voor een opgegeven cel terug. Als RowName niet is opgegeven, wordt de huidige rij gebruikt. | CellValue(null,"Column1").MissingsCount CellValue("Row1","Column1").MissingsCount |
CellValue(["[ROW-NAME]"],"[COLUMN-NAME]").NaCount | Geeft het aantal interviews met N/A voor een opgegeven cel terug. Als RowName niet is opgegeven, wordt de huidige rij gebruikt. | CellValue(null,"Column1").NaCount CellValue("Row1","Column1").NaCount |
CellValue(["[ROW-NAME]"],"[COLUMN-NAME]").Value | Geeft de berekende waarde voor een opgegeven cel terug. Als RowName niet is opgegeven, wordt de huidige rij gebruikt. | CellValue(null,"Column1").Value CellValue("Row1","Column1").Value |
CellValue(["[ROW-NAME]"],"[COLUMN-NAME]").ResponseCount | Geeft het aantal interviews voor een opgegeven cel terug. Als RowName niet is opgegeven, wordt de huidige rij gebruikt. | CellValue(null,"Column1").ResponseCount CellValue("Row1","Column1").ResponseCount |
Aangepaste formule voor segmenten
| Formule | Beschrijving |
RowResult.MissingsCount | Geeft het aantal interviews met ontbrekende waarden voor het huidige segment terug. |
RowResult.NaCount | Geeft het aantal interviews met N/A voor het huidige segment terug. |
RowResult.ResponseCount | Geeft het aantal interviews voor het huidige segment terug. |
SegmentValue(name) | Geeft de segmentwaarde van de huidige kolom voor de opgegeven segmentnaam terug. |
Aangepaste formule voor de tabel
| Formule | Beschrijving |
DataSourceResult.MissingsCount | Geeft het aantal interviews met ontbrekende waarden voor de volledige tabel terug, zonder dat dit op een variabele is gebaseerd. |
DataSourceResult.NaCount | Geeft het aantal interviews met N/A voor de volledige tabel terug, zonder dat dit op een variabele is gebaseerd. |
DataSourceResult.ResponseCount | Geeft het aantal interviews terug |
CurrentRowName | Geeft de RowName terug die momenteel wordt berekend |
CurrentColumnName | Geeft de ColumnName terug die momenteel wordt berekend |
Aangepaste formule met meerdere regels
Als je een script met meerdere regels wilt maken, gebruik je de opdracht return aan het begin en ; aan het einde:
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;Waarden wisselen / waarden hardcoderen
Dit is handig wanneer je specifieke waarden in specifieke cellen wilt invoeren. Waarden kunnen worden gehardcodeerd of uit andere cellen worden opgehaald.
switch(CurrentRowName)
{
case "Row2": return 2314 * 12;
case "Row3": return 2313 * 12;
case "Row4": return 2294 * 12;
}
return 0;Dezelfde syntaxis geldt voor kolommen. Gebruik in plaats daarvan CurrentColumnName en maak cases met de verschillende rijnamen.
If-voorwaarde in een aangepaste formule
Numerieke vergelijking
De formule in het onderstaande voorbeeld controleert of de waarde in een andere kolom lager is dan 0,2. Zo ja, dan wordt de waarde uit die kolom weergegeven. Zo niet, dan wordt null (leeg) weergegeven. Hiermee kun je bijvoorbeeld individuele resultaten anonimiseren als het aantal lager is dan X, of resultaten in het algemeen op de gewenste manier van de ene kolom naar de andere transformeren. Geretourneerde waarden worden ook gebruikt in grafiekreeksen die op deze kolom zijn gebaseerd.
if ((double)CellValue(null,"Percent_6942-44f3").Value > 0.2)
{
return CellValue(null,"Percent_6942-44f3").Value;
}
else
{
return null;
}Het onderstaande voorbeeld komt uit een tabel waarin negatieve verschillen door de waarde 0 moeten worden vervangen.
var result = CellValue("Row4",null).Value - CellValue("Row6",null).Value;
if (result < 0) {result=0;}
return result;Het voorvoegsel (double) vóór de functie CellValue() moet worden gebruikt wanneer de celwaarde met een reëel getal wordt vergeleken. Dit is niet nodig wanneer CellValue() met een andere functie CellValue() of met een geheel getal wordt vergeleken.
Gecombineerde if-voorwaarde
De formule in het onderstaande voorbeeld controleert op basis van twee verschillende invoerwaarden of er een actie moet worden uitgevoerd. Dit betekent dat de formule controleert of de eerste voorwaarde waar is. Als dat niet het geval is, controleert de formule of de tweede voorwaarde waar is.
var result = 0;
if (CellValue(null,"Column10").Value < 0)
{
result = 1;
}
else if (CellValue(null,"Column8").Value > 4.5m)
{
result = 2;
} ;
return result;Tekenreeksvergelijking
Als je tekenreeksen wilt vergelijken, moet je een expliciete typeconversie uitvoeren, omdat de retourwaarde van de formule standaard altijd een getal is
if (CellValue<string>(null,"[COLUMN-IDENTIFIER]").Value?.Equals("[STRING-VALUE]", StringComparison.OrdinalIgnoreCase)==true)
{
return 1;
}
else
{
return 2;
}Let op de expliciete typeconversie <string> na de term ‘CellValue’
If/then in combinatie met CellTemplates
In het Context-portaal zijn kolommen bedoeld om verschillende acties weer te geven. Hiervoor worden if-then-voorwaarden op basis van waarden in andere kolommen gebruikt in combinatie met CellTemplates.
Als je celsjablonen gebruikt, retourneert de retourwaarde 1 het eerste celsjabloon en retourneert de retourwaarde 2 het tweede celsjabloon.
Waarden afronden
In het volgende script wordt de term afgerond op een getal zonder decimalen
Math.Round(((double)CellValue("Row2","Column1").Value/(double)CellValue("Row1","Column1").Value*100),0)De volledige functionaliteit van de scripteditor wordt beschreven in de .NET-taalreferentie: