public static IDictionary <string, IList <Measure> > ToJsonMeasures(IEnumerable <DaxMeasure> measures) { if (measures == null) { throw new ArgumentNullException(nameof(measures)); } var dictionary = new Dictionary <string, IList <Measure> >(); foreach (var measure in measures) { var jsonMeasure = new Measure(); jsonMeasure.Name = measure.Name; jsonMeasure.Expression = measure.Expression; measure.CalcProperty?.ToJsonMeasure(ref jsonMeasure); //JsonSerializer does not support /r/n endings. jsonMeasure = ToUnixEnding(jsonMeasure); if (!dictionary.ContainsKey(measure.TableName)) { dictionary[measure.TableName] = new List <Measure>(); } dictionary[measure.TableName].Add(jsonMeasure); } return(dictionary); }
public static Measure ToEnding(Measure measure, string ending) { //Replace all endings to selected endings. Now only for expressions measure.Expression = measure.Expression.ToEnding(ending); if (measure.KPI != null) { measure.KPI.TargetExpression = measure.KPI.TargetExpression.ToEnding(ending); measure.KPI.StatusExpression = measure.KPI.StatusExpression.ToEnding(ending); measure.KPI.TrendExpression = measure.KPI.TrendExpression.ToEnding(ending); } return(measure); }
public static Measure ToUnixEnding(Measure measure) { return(ToEnding(measure, "\n")); }
public static Measure ToSystemEnding(Measure measure) { return(ToEnding(measure, Environment.NewLine)); }