Package com.google.visualization.datasource.query

Examples of com.google.visualization.datasource.query.AggregationColumn


    // pivot dept
    Query q = new Query();

    // Add selection.
    QuerySelection selection = new QuerySelection();
    selection.addColumn(new AggregationColumn(new SimpleColumn("age"),
        AggregationType.SUM));
    selection.addColumn(new ScalarFunctionColumn(
        Lists.newArrayList((AbstractColumn) new SimpleColumn("hireDate")),
        TimeComponentExtractor.getInstance(
            TimeComponentExtractor.TimeComponent.DAY)));
    selection.addColumn(new ScalarFunctionColumn(
        Lists.newArrayList((AbstractColumn) new AggregationColumn(
            new SimpleColumn("lunchTime"), AggregationType.MIN)),
        TimeComponentExtractor.getInstance(
            TimeComponentExtractor.TimeComponent.HOUR)));
    q.setSelection(selection);
View Full Code Here


    // group by hireDate pivot dept
    Query q = new Query();

    // Add selection.
    QuerySelection selection = new QuerySelection();
    selection.addColumn(new AggregationColumn(new SimpleColumn("age"),
        AggregationType.SUM));
    selection.addColumn(new ScalarFunctionColumn(
        Lists.newArrayList((AbstractColumn) new SimpleColumn("hireDate")),
        TimeComponentExtractor.getInstance(
            TimeComponentExtractor.TimeComponent.DAY)));
    selection.addColumn(new ScalarFunctionColumn(
        Lists.newArrayList((AbstractColumn) new AggregationColumn(
            new SimpleColumn("lunchTime"), AggregationType.MIN)),
        TimeComponentExtractor.getInstance(
            TimeComponentExtractor.TimeComponent.HOUR)));
    q.setSelection(selection);
View Full Code Here

        Lists.<AbstractColumn>newArrayList(col1, col2),
        Difference.getInstance());

    // Add selection
    QuerySelection selection = new QuerySelection();
    selection.addColumn(new AggregationColumn(new SimpleColumn("age"),
        AggregationType.SUM));
    selection.addColumn(col3);
    q.setSelection(selection);

    // Add group
View Full Code Here

  public void testFormatAndLabelOnPivotColumns() throws Exception {
    Query query = new Query();
    QuerySelection selection = new QuerySelection(); // SELECT (sum(sales) / 7)
    List<AbstractColumn> columns = Lists.newArrayList();
    columns.add(new AggregationColumn(new SimpleColumn("Sales"), AggregationType.SUM));
    columns.add(new ScalarFunctionColumn(Lists.<AbstractColumn>newArrayList(),
        new Constant(new NumberValue(7))));
    AbstractColumn selectedColumn = new ScalarFunctionColumn(columns, Quotient.getInstance());
    selection.addColumn(selectedColumn);
View Full Code Here

    Query query = new Query();

    QuerySelection querySelection = new QuerySelection();
    querySelection.addColumn(new SimpleColumn("ID"));
    querySelection.addColumn(
        new AggregationColumn(new SimpleColumn("Salary"), AggregationType.MIN));
    query.setSelection(querySelection);
    StrBuilder queryStringBuilder = new StrBuilder();
    SqlDataSourceHelper.appendSelectClause(query, queryStringBuilder);
    assertEquals(queryStringBuilder.toString(), "SELECT `ID`, min(`Salary`) ",
        queryStringBuilder.toString());
View Full Code Here

   * Tests the building of the SQL query ORDER BY clause from the Gviz query.
   */
  public void testBuildOrderByClause() {
    Query query = new Query();
    QuerySort querySort = new QuerySort();
    AggregationColumn column1 =
        new AggregationColumn(new SimpleColumn("ID"), AggregationType.COUNT);
    SimpleColumn column2 = new SimpleColumn("FNAME");
    querySort.addSort(column1, SortOrder.DESCENDING);
    querySort.addSort(column2, SortOrder.ASCENDING);
    query.setSort(querySort);
    StrBuilder queryStringBuilder = new StrBuilder();
View Full Code Here

          // The id here is the id generated by the data source for the column containing
          // the aggregated data, e.g., max-B.
          String id = column.getId();
          // MIN is chosen arbitrarily, because there will be exactly one.
          completionSelection.addColumn(
              new AggregationColumn(new SimpleColumn(id), AggregationType.MIN));
        }
      }

      completionQuery.setSelection(completionSelection);
    } else {
View Full Code Here

      columnId.append("`").append(abstractColumn.getId()).append("`");
    } else {
      // For aggregation column build the id from the aggregation type and the
      // column id (e.g. for aggregation type 'min' and column id 'salary', the
      // sql column id will be: min(`salary`);
      AggregationColumn aggregationColumn = (AggregationColumn) abstractColumn;
      columnId.append(getAggregationFunction(
          aggregationColumn.getAggregationType())).append("(`").
          append(aggregationColumn.getAggregatedColumn()).append("`)");
    }
    return columnId;
  }
View Full Code Here

    ColumnDescription columnDescription = new ColumnDescription("id",
        ValueType.TEXT, "label");


    ColumnTitle columnTitleCount = new ColumnTitle(Lists.<Value>newArrayList(),
        new AggregationColumn(new SimpleColumn("id"),
            AggregationType.COUNT), false);

    ColumnTitle columnTitleMin = new ColumnTitle(Lists.<Value>newArrayList(),
        new AggregationColumn(new SimpleColumn("id"),
            AggregationType.MIN), true);

    ColumnTitle columnTitleCountWithPivot =
        new ColumnTitle(Lists.newArrayList(new NumberValue(3.14),
            BooleanValue.TRUE), new AggregationColumn(new SimpleColumn("id"),
            AggregationType.COUNT), false);

    ColumnTitle columnTitleMinWithPivot =
        new ColumnTitle(Lists.newArrayList(new NumberValue(3.14),
            BooleanValue.TRUE), new AggregationColumn(new SimpleColumn("id"),
            AggregationType.MIN), true);


    ColumnDescription resultColumnDescriptionCount =
        columnTitleCount.createAggregationColumnDescription(columnDescription);
View Full Code Here

        " SELECT a, min(c1), b, avg(c2) group by a,b pivot  c,d");
    QuerySelection selection = query.getSelection();
    QueryGroup group = query.getGroup();
    QueryPivot pivot = query.getPivot();
    assertEquals(Lists.newArrayList(new SimpleColumn("a"),
        new AggregationColumn(new SimpleColumn("c1"), AggregationType.MIN),
        new SimpleColumn("b"),
        new AggregationColumn(new SimpleColumn("c2"), AggregationType.AVG)),
        selection.getColumns());
    assertEquals(Lists.newArrayList("a", "b"), group.getColumnIds());
    assertEquals(Lists.newArrayList("c", "d"), pivot.getColumnIds());
  }
View Full Code Here

TOP

Related Classes of com.google.visualization.datasource.query.AggregationColumn

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.