/// <summary> /// This method generates an expression labelling intervals of values with lables. /// </summary> /// <remarks> /// Intervals are [-Inf;L1[,[L1;L2[,[L2;L3[,..,[Ln-1;Ln[,[Ln;Inf]. /// </remarks> public override string GetExpression() { if (Limits == null || Items == null) { return(string.Empty); } var expression = new StringBuilder(); var i = 0; var labels = Labels.ToList(); foreach (var limit in Limits) { expression.AppendFormat("iif([{0}] < {1}, '{2}', ", FieldName, limit.ConvertedTo <string>(), labels[i++]); } expression.AppendFormat("'{0}'", labels[i]); for (var j = 0; j < Limits.Count(); j++) { expression.Append(")"); } return(expression.ToString()); }