/// <inheritdoc/> public override AnalysisValueIntermediateResult ResultWithArgumentRowContextValueContext(JsValue argument, AnalysisProcessingQueryResultRowExecutionContext rowContext, AnalysisProcessingValueExecutionContext valueContext) { AnalysisResultCounter resultCounter = valueContext.ContextForYCategoryValue(rowContext.YCategoryKey) as AnalysisResultCounter; if (resultCounter == null) { resultCounter = new AnalysisResultCounter(); valueContext.SetContextForYCategoryValue(resultCounter, rowContext.YCategoryKey); } string strValue = JavascriptEngine.StringForValue(argument); if (strValue.Length > 0 && resultCounter.ObjectForKey(strValue) == null) { resultCounter.SetObjectForKey(strValue, strValue); resultCounter.AddValue(1); } return(new AnalysisValueIntermediateResultDelayed(resultCounter, rowContext)); }