Search in sources :

Example 6 with Result

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());
}
Also used : TestContext(mondrian.test.TestContext) Result(mondrian.olap.Result)

Example 7 with Result

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));
}
Also used : TestContext(mondrian.test.TestContext) Result(mondrian.olap.Result)

Example 8 with 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());
}
Also used : Result(mondrian.olap.Result)

Example 9 with Result

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));
}
Also used : TestContext(mondrian.test.TestContext) Result(mondrian.olap.Result)

Example 10 with 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());
}
Also used : Result(mondrian.olap.Result)

Aggregations

Result (mondrian.olap.Result)113 Axis (mondrian.olap.Axis)24 Member (mondrian.olap.Member)10 Test (org.junit.Test)10 Cell (mondrian.olap.Cell)9 Connection (mondrian.olap.Connection)9 Query (mondrian.olap.Query)9 Position (mondrian.olap.Position)8 TestContext (mondrian.test.TestContext)7 ArrayList (java.util.ArrayList)5 MondrianProperties (mondrian.olap.MondrianProperties)5 OlapElement (mondrian.olap.OlapElement)5 RolapCell (mondrian.rolap.RolapCell)5 NonEmptyResult (mondrian.rolap.RolapConnection.NonEmptyResult)5 Execution (mondrian.server.Execution)5 Dialect (mondrian.spi.Dialect)5 OlapConnection (org.olap4j.OlapConnection)5 List (java.util.List)4 ResultBase (mondrian.olap.ResultBase)4 Evaluator (mondrian.olap.Evaluator)3