Package org.olap4j

Examples of org.olap4j.CellSet


        OlapConnection olapConnection = wrapper.unwrap(OlapConnection.class);

        OlapStatement statement = olapConnection.createStatement();

        CellSet cellSet =
            statement.executeOlapQuery(
                "SELECT {[store].[USA]} ON COLUMNS , {[Account].[1000]} ON ROWS\n"
                + "FROM [Budget]");

        // We use the utility formatter.
View Full Code Here


            + "        [Measures].[Store Sales]} ON COLUMNS, "
            + "       {[Product].[All Products].Children} ON ROWS "
            + "FROM Sales "
            + "WHERE ([Time].[1997])";

        CellSet cellSet = getStatement().executeOlapQuery(initialMdx);

        MdxQueryTransform transform =
            StandardTransformLibrary.createDrillReplaceTransform(
                Axis.ROWS,
                0, // position ordinal in axis
View Full Code Here

            + "        [Measures].[Store Sales]} ON COLUMNS, "
            + "       {[Product].[Food].[Deli].Parent.Level.Members} ON ROWS "
            + "FROM Sales "
            + "WHERE ([Time].[1997])";

        CellSet cellSet = getStatement().executeOlapQuery(initialMdx);

        MdxQueryTransform transform =
            StandardTransformLibrary.createRollUpLevelTransform(
                Axis.ROWS,
                0, // position ordinal in axis
View Full Code Here

            + "        [Measures].[Store Sales]} ON COLUMNS, "
            + "       {[Product].[All Products].Children} ON ROWS "
            + "FROM Sales "
            + "WHERE ([Time].[1997])";

        CellSet cellSet = getStatement().executeOlapQuery(initialMdx);

        MdxQueryTransform transform =
            StandardTransformLibrary.createDrillDownOnPositionTransform(
                Axis.ROWS,
                0, // position ordinal in axis
View Full Code Here

    }

    final OlapStatement statement = connection.createStatement();
    try
    {
      final CellSet result = statement.executeOlapQuery("SELECT " + hierarchy.getUniqueName() +
          ".AllMembers ON 0, {} ON 1 FROM " + cube.getUniqueName());
      try
      {
        final List<CellSetAxis> setAxises = result.getAxes();
        final List<Position> positionList = setAxises.get(0).getPositions();
        for (int i = 0; i < positionList.size(); i++)
        {
          final Position position = positionList.get(i);
          final List<Member> memberList = position.getMembers();
          for (int j = 0; j < memberList.size(); j++)
          {
            final Member member = memberList.get(j);
            if (parameter.equals(Olap4jUtil.getUniqueMemberName(member)))
            {
              if (memberByUniqueId == null)
              {
                memberByUniqueId = member;
              }
              else
              {
                logger.warn("Encountered a member with a duplicate unique key: " + member.getUniqueName());
              }
            }
            if (searchForNames == false)
            {
              continue;
            }
            if (parameter.equals(member.getName()))
            {
              if (memberById == null)
              {
                memberById = member;
              }
              else
              {
                logger.warn("Encountered a member with a duplicate name: " + member.getUniqueName());
              }
            }
          }
        }
      }
      finally
      {
        result.close();
      }
    }
    finally
    {
      try
View Full Code Here

    Member memberById = null;
    Member memberByUniqueId = null;
    final OlapStatement statement = connection.createStatement();
    try
    {
      final CellSet result = statement.executeOlapQuery("SELECT STRTOMEMBER(" + quote(parameter) +
          ") ON 0, {} ON 1 FROM " + cube.getUniqueName());
      try
      {
        final List<CellSetAxis> setAxises = result.getAxes();
        final List<Position> positionList = setAxises.get(0).getPositions();
        for (int i = 0; i < positionList.size(); i++)
        {
          final Position position = positionList.get(i);
          final List<Member> memberList = position.getMembers();
          for (int j = 0; j < memberList.size(); j++)
          {
            final Member member = memberList.get(j);
            // If the parameter starts with '[', we'll assume we have the full
            // member specification specification. Otherwise, keep the funky lookup
            // route. We do check whether we get a second member (heck, should not
            // happen, but I've seen pigs fly already).
            if (parameter.startsWith("["))
            {
              if (memberByUniqueId == null)
              {
                memberByUniqueId = member;
              }
              else
              {
                logger.warn("Encountered a member with a duplicate unique key: " + member.getUniqueName());
              }
            }
            if (searchForNames == false)
            {
              continue;
            }
            if (parameter.equals(member.getName()))
            {
              if (memberById == null)
              {
                memberById = member;
              }
              else
              {
                logger.warn("Encountered a member with a duplicate name: " + member.getUniqueName());
              }
            }
          }
        }
      }
      finally
      {
        result.close();
      }
    }
    finally
    {
      try
View Full Code Here

    }

    final OlapStatement statement = connection.createStatement();
    try
    {
      final CellSet result = statement.executeOlapQuery("SELECT " + hierarchy.getUniqueName() +
          ".AllMembers ON 0, {} ON 1 FROM " + cube.getUniqueName());
      try
      {
        final List<CellSetAxis> setAxises = result.getAxes();
        final List<Position> positionList = setAxises.get(0).getPositions();
        for (int i = 0; i < positionList.size(); i++)
        {
          final Position position = positionList.get(i);
          final List<Member> memberList = position.getMembers();
          for (int j = 0; j < memberList.size(); j++)
          {
            final Member member = memberList.get(j);
            if (parameter.equals(Olap4jUtil.getUniqueMemberName(member)))
            {
              if (memberByUniqueId == null)
              {
                memberByUniqueId = member;
              }
              else
              {
                logger.warn("Encountered a member with a duplicate unique key: " + member.getUniqueName());
              }
            }
            if (searchForNames == false)
            {
              continue;
            }
            if (parameter.equals(member.getName()))
            {
              if (memberById == null)
              {
                memberById = member;
              }
              else
              {
                logger.warn("Encountered a member with a duplicate name: " + member.getUniqueName());
              }
            }
          }
        }
      }
      finally
      {
        result.close();
      }
    }
    finally
    {
      try
View Full Code Here

    Member memberById = null;
    Member memberByUniqueId = null;
    final OlapStatement statement = connection.createStatement();
    try
    {
      final CellSet result = statement.executeOlapQuery("SELECT STRTOMEMBER(" + quote(parameter) +
          ") ON 0, {} ON 1 FROM " + cube.getUniqueName());
      try
      {
        final List<CellSetAxis> setAxises = result.getAxes();
        final List<Position> positionList = setAxises.get(0).getPositions();
        for (int i = 0; i < positionList.size(); i++)
        {
          final Position position = positionList.get(i);
          final List<Member> memberList = position.getMembers();
          for (int j = 0; j < memberList.size(); j++)
          {
            final Member member = memberList.get(j);
            // If the parameter starts with '[', we'll assume we have the full
            // member specification specification. Otherwise, keep the funky lookup
            // route. We do check whether we get a second member (heck, should not
            // happen, but I've seen pigs fly already).
            if (parameter.startsWith("["))
            {
              if (memberByUniqueId == null)
              {
                memberByUniqueId = member;
              }
              else
              {
                logger.warn("Encountered a member with a duplicate unique key: " + member.getUniqueName());
              }
            }
            if (searchForNames == false)
            {
              continue;
            }
            if (parameter.equals(member.getName()))
            {
              if (memberById == null)
              {
                memberById = member;
              }
              else
              {
                logger.warn("Encountered a member with a duplicate name: " + member.getUniqueName());
              }
            }
          }
        }
      }
      finally
      {
        result.close();
      }
    }
    finally
    {
      try
View Full Code Here

     */
    public <T> T runQuery(String queryString, Util.Functor1<T, CellSet> f) {
        long start = System.currentTimeMillis();
        OlapConnection connection = null;
        OlapStatement statement = null;
        CellSet cellSet = null;
        try {
            connection = getOlapConnection();
            statement = connection.createStatement();
            debug("CmdRunner.runQuery: AFTER createStatement");
            start = System.currentTimeMillis();
View Full Code Here

        for (String castedType : castedTypes) {
            String mdx = "with member measures.type as '"
            + castedType + "' "
            + "select measures.type on 0 from sales";
            CellSet olap4jXmlaCellset = context.executeOlap4jXmlaQuery(mdx);
            CellSet olap4jCellset = context.executeOlap4jQuery(mdx);
            Result nativeMondrianResult = context.executeQuery(mdx);
            assertEquals(
                "Checking olap4jXmla datatype against native Mondrian. \n"
                + "Unexpected datatype when running mdx " + mdx + "\n",
                nativeMondrianResult.getCell(new int[]{0})
                    .getValue().getClass(),
                olap4jXmlaCellset.getCell(0).getValue().getClass());
            assertEquals(
                "Checking olap4jXmla datatype against native Mondrian. \n"
                + "Unexpected datatype when running mdx " + mdx + "\n",
                olap4jXmlaCellset.getCell(0).getValue().getClass(),
                olap4jCellset.getCell(0).getValue().getClass());
        }

        RolapCube cube =
            (RolapCube)context.executeQuery("select from sales")
                .getQuery().getCube();
        Dialect dialect = cube.getStar().getSqlQueryDialect();

        if (!dialect.getDatabaseProduct()
            .equals(Dialect.DatabaseProduct.MYSQL)
            && !dialect.getDatabaseProduct()
                .equals(Dialect.DatabaseProduct.ORACLE))
        {
            return;
        }

        // map of sql expressions to the corresponding (optional) datatype
        // attribute (RolapBaseCubeMeasure.Datatype)
        Map<String, String> expressionTypeMap = new HashMap<String, String>();
        expressionTypeMap.put("'StringValue'", "String");
        expressionTypeMap.put("cast(1.0001 as decimal)", null);
        expressionTypeMap.put("cast(1.0001 as decimal)", "Numeric");
        expressionTypeMap.put("cast(10.101 as decimal(10,8))", null);
        expressionTypeMap.put("cast(10.101 as decimal(10,8))", "Numeric");


        for (String expression : expressionTypeMap.keySet()) {
            String query = "Select measures.typeMeasure on 0 from Sales";
            context = getContextWithMeasureExpression(
                expression, expressionTypeMap.get(expression));
            CellSet olap4jXmlaCellset = context.executeOlap4jXmlaQuery(query);
            CellSet olap4jCellset = context.executeOlap4jQuery(query);
            Result nativeMondrianResult = context.executeQuery(query);

            assertEquals(
                "Checking olap4jXmla datatype against native Mondrian. \n"
                + "Unexpected datatype for measure expression " + expression
                + " with datatype attribute "
                + expressionTypeMap.get(expression) + "\n",
                nativeMondrianResult.getCell(new int[]{0})
                    .getValue().getClass(),
                olap4jXmlaCellset.getCell(0).getValue().getClass());
            assertEquals(
                "Checking olap4jXmla datatype against olap4j in process. \n"
                + "Unexpected datatype for expression " + expression
                + " with datatype attribute "
                + expressionTypeMap.get(expression) + "\n",
                olap4jXmlaCellset.getCell(0).getValue().getClass(),
                olap4jCellset.getCell(0).getValue().getClass());
        }
    }
View Full Code Here

TOP

Related Classes of org.olap4j.CellSet

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.