use of mondrian.olap.Result in project mondrian by pentaho.
the class FunctionTest method testDefaultMember.
public void testDefaultMember() {
// [Time] has no default member and no all, so the default member is
// the first member of the first level.
Result result = executeQuery("select {[Time].[Time].DefaultMember} on columns\n" + "from Sales");
Assert.assertEquals("1997", result.getAxes()[0].getPositions().get(0).get(0).getName());
// [Time].[Weekly] has an all member and no explicit default.
result = executeQuery("select {[Time.Weekly].DefaultMember} on columns\n" + "from Sales");
Assert.assertEquals(MondrianProperties.instance().SsasCompatibleNaming.get() ? "All Weeklys" : "All Time.Weeklys", result.getAxes()[0].getPositions().get(0).get(0).getName());
final String memberUname = MondrianProperties.instance().SsasCompatibleNaming.get() ? "[Time2].[Weekly].[1997].[23]" : "[Time2.Weekly].[1997].[23]";
TestContext testContext = TestContext.instance().createSubstitutingCube("Sales", " <Dimension name=\"Time2\" type=\"TimeDimension\" foreignKey=\"time_id\">\n" + " <Hierarchy hasAll=\"false\" primaryKey=\"time_id\">\n" + " <Table name=\"time_by_day\"/>\n" + " <Level name=\"Year\" column=\"the_year\" type=\"Numeric\" uniqueMembers=\"true\"\n" + " levelType=\"TimeYears\"/>\n" + " <Level name=\"Quarter\" column=\"quarter\" uniqueMembers=\"false\"\n" + " levelType=\"TimeQuarters\"/>\n" + " <Level name=\"Month\" column=\"month_of_year\" uniqueMembers=\"false\" type=\"Numeric\"\n" + " levelType=\"TimeMonths\"/>\n" + " </Hierarchy>\n" + " <Hierarchy hasAll=\"true\" name=\"Weekly\" primaryKey=\"time_id\"\n" + " defaultMember=\"" + memberUname + "\">\n" + " <Table name=\"time_by_day\"/>\n" + " <Level name=\"Year\" column=\"the_year\" type=\"Numeric\" uniqueMembers=\"true\"\n" + " levelType=\"TimeYears\"/>\n" + " <Level name=\"Week\" column=\"week_of_year\" type=\"Numeric\" uniqueMembers=\"false\"\n" + " levelType=\"TimeWeeks\"/>\n" + " <Level name=\"Day\" column=\"day_of_month\" uniqueMembers=\"false\" type=\"Numeric\"\n" + " levelType=\"TimeDays\"/>\n" + " </Hierarchy>\n" + " </Dimension>");
// In this variant of the schema, Time2.Weekly has an explicit default
// member.
result = testContext.executeQuery("select {[Time2.Weekly].DefaultMember} on columns\n" + "from Sales");
Assert.assertEquals("23", result.getAxes()[0].getPositions().get(0).get(0).getName());
}
use of mondrian.olap.Result in project mondrian by pentaho.
the class FunctionTest method testMondrian_1187.
/**
* This is a test for
* <a href="http://jira.pentaho.com/browse/MONDRIAN-1187">MONDRIAN-1187</a>
* <p/>
* <p>The results should be equivalent</p>
*/
public void testMondrian_1187() {
final String queryWithoutAlias = "WITH\n" + "SET [Top Count] AS\n" + "{\n" + "TOPCOUNT(\n" + "DISTINCT([Customers].[Name].Members),\n" + "5,\n" + "[Measures].[Unit Sales]\n" + ")\n" + "}\n" + "SELECT\n" + "[Top Count] * [Measures].[Unit Sales] on 0\n" + "FROM [Sales]\n" + "WHERE [Time].[1997].[Q1].[1] : [Time].[1997].[Q3].[8]";
String queryWithAlias = "SELECT\n" + "TOPCOUNT( DISTINCT( [Customers].[Name].Members), 5, [Measures].[Unit Sales]) * [Measures].[Unit Sales] on " + "0\n" + "FROM [Sales]\n" + "WHERE [Time].[1997].[Q1].[1]:[Time].[1997].[Q3].[8]";
final TestContext context = TestContext.instance();
final Result result = context.executeQuery(queryWithoutAlias);
context.assertQueryReturns(queryWithAlias, context.toString(result));
}
use of mondrian.olap.Result in project mondrian by pentaho.
the class FunctionTest method testAll5.
public void testAll5() {
Result result = executeQuery("select {[Time].[1997].[Q2].Parent} on columns," + "{[Gender].[M]} on rows from Sales");
// previous to [Gender].[All] is null, so no members are returned
assertEquals("1997", result.getAxes()[0].getPositions().get(0).get(0).getName());
}
use of mondrian.olap.Result in project mondrian by pentaho.
the class FunctionTest method testTopPercentWithAlias.
/**
* This is a test for
* <a href="http://jira.pentaho.com/browse/MONDRIAN-2157">MONDRIAN-2157</a>
* <p/>
* <p>The results should be equivalent either we use aliases or not</p>
*/
public void testTopPercentWithAlias() {
final String queryWithoutAlias = "select\n" + " {[Measures].[Store Cost]}on rows,\n" + " TopPercent([Product].[Brand Name].Members*[Time].[1997].children," + " 50, [Measures].[Unit Sales]) on columns\n" + "from Sales";
String queryWithAlias = "with\n" + " set [*aaa] as '[Product].[Brand Name].Members*[Time].[1997].children'\n" + "select\n" + " {[Measures].[Store Cost]}on rows,\n" + " TopPercent([*aaa], 50, [Measures].[Unit Sales]) on columns\n" + "from Sales";
final TestContext context = TestContext.instance();
final Result result = context.executeQuery(queryWithoutAlias);
context.assertQueryReturns(queryWithAlias, context.toString(result));
}
use of mondrian.olap.Result in project mondrian by pentaho.
the class FunctionTest method testAll2.
public void testAll2() {
Result result = executeQuery("select {[Gender].PrevMember} ON COLUMNS from Sales");
// previous to [Gender].[All] is null, so no members are returned
assertEquals(0, result.getAxes()[0].getPositions().size());
}
Aggregations