public void RMN_Model_Perspective_Load_Save_Load() { //Open the BIM file you sent in Visual Studio (the .TXT must be replaced with .BIM) var text = Utilities.ReadFileFromResources("RMN_Model_Perspective.bim"); BaseTestJson(text, ignoreEmptyLines: true); //Get measures from BIM file var container = MeasuresContainer.ParseText(text); //Remove the "Cost Amount" measure from the DAX file var index = -1; var i = 0; foreach (var measure in container.AllMeasures) { if (measure.Name.Equals("Cost Amount", StringComparison.OrdinalIgnoreCase)) { index = i; } ++i; } container.AllMeasures.RemoveAt(index); //Save measures to BIM file text = container.UpdateMeasures(text); //Open the BIM file BaseTestJson(text, ignoreEmptyLines: true); }
public void WithKPI2_Json() { var text = Utilities.ReadFileFromResources("WithKPI2_JSON.bim"); var container = MeasuresContainer.ParseText(text); var measure = container.Measures[0]; Assert.AreEqual(measure.Name, "# SKUs"); BaseTestJson(text, ignoreEmptyLines: true); }
public void KPIExample() { var text = Utilities.ReadFileFromResources("KPIExample.bim"); BaseTestXml(text, normalize: true); var container = MeasuresContainer.ParseText(text); Assert.AreEqual(6, container.Measures.Count, "container.Measures.Count != 6"); Assert.AreEqual(10, container.SupportingMeasures.Count, "container.SupportingMeasures.Count != 10"); Assert.AreEqual(16, container.AllMeasures.Count, "container.AllMeasures.Count != 16"); }
public void M1_Json() { var text = Utilities.ReadFileFromResources("M1_JSON.bim"); BaseTestJson(text, ignoreEmptyLines: true); var container = MeasuresContainer.ParseText(text); Assert.AreEqual(68, container.Measures.Count); Assert.AreEqual(0, container.SupportingMeasures.Count); Assert.AreEqual(68, container.AllMeasures.Count); }
public void Bim1100_Json() { var text = Utilities.ReadFileFromResources("BIM1100_JSON.bim"); BaseTestJson(text); var container = MeasuresContainer.ParseText(text); Assert.AreEqual(3, container.Measures.Count); Assert.AreEqual(0, container.SupportingMeasures.Count); Assert.AreEqual(3, container.AllMeasures.Count); }
public void M1() { var text = Utilities.ReadFileFromResources("M1.bim"); BaseTestXml(text, normalize: true); var container = MeasuresContainer.ParseText(text); Assert.AreEqual(68, container.Measures.Count); Assert.AreEqual(20, container.SupportingMeasures.Count); Assert.AreEqual(88, container.AllMeasures.Count); }
public void CalcProperty_KpiFormatWithDoubleQuotes() { var text = @"CREATE MEASURE 'Test'[Sales1] = SUM ( Test[Value] ) CALCULATION PROPERTY CURRENCY KPITARGETFORMATSTRING = '""€"" #,0;#,0 -""€"";""€"" #,0' ; "; var parser = ParseText(text); //Check the correct reception of the format var measure = parser.AllMeasures[0]; var expected = @"""€"" #,0;#,0 -""€"";""€"" #,0"; Assert.AreEqual(expected, measure.CalcProperty.KPI.TargetFormatString); //Check the correct saving of the format var container = new MeasuresContainer(parser.AllMeasures); Assert.AreEqual(text, container.GetDaxText()); }
static public string BaseTest(string text) { var container = MeasuresContainer.ParseText(text); Assert.IsNotNull(container, "container != null"); Assert.IsNotNull(container.Measures, "container.Measures != null"); Assert.IsNotNull(container.SupportingMeasures, "container.SupportingMeasures != null"); Assert.IsNotNull(container.AllMeasures, "container.AllMeasures != null"); var dax = container.GetDaxText(); Assert.IsNotNull(dax, "dax != null"); var daxContainer = MeasuresContainer.ParseDaxScript(dax); Assert.AreEqual(container.Measures.Count, daxContainer.Measures.Count, "container.Measures.Count != daxContainer.Measures.Count"); //Assert.AreEqual(container.SupportingMeasures.Count, daxContainer.SupportingMeasures.Count, "container.SupportingMeasures.Count != daxContainer.SupportingMeasures.Count"); //Assert.AreEqual(container.AllMeasures.Count, daxContainer.AllMeasures.Count, "container.AllMeasures.Count != daxContainer.AllMeasures.Count"); return(daxContainer.UpdateMeasures(text)); }