コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 public static Measure ToUnixEnding(Measure measure)
 {
     return(ToEnding(measure, "\n"));
 }
コード例 #4
0
 public static Measure ToSystemEnding(Measure measure)
 {
     return(ToEnding(measure, Environment.NewLine));
 }