Exemplo n.º 1
0
 def order_by(self):
     order_by_columns = self.get_columns_by_loc_level
     order_by = []
     for column in order_by_columns:
         order_by.append(OrderBy(column.slug))
     order_by.append(OrderBy('aggregation_level'))
     return order_by
Exemplo n.º 2
0
 def test_order_by(self):
     self.assertEqual(str(OrderBy('column_1').build_expression()),
                      'column_1 ASC')
     self.assertEqual(
         str(OrderBy('column_1', is_ascending=True).build_expression()),
         'column_1 ASC')
     self.assertEqual(
         str(OrderBy('column_1', is_ascending=False).build_expression()),
         'column_1 DESC')
Exemplo n.º 3
0
 def order_by(self):
     if self._order_by:
         return [
             OrderBy(order_by, is_ascending=(order == ASCENDING))
             for sort_column_id, order in self._order_by
             for order_by in self.get_db_column_ids(sort_column_id)
         ]
Exemplo n.º 4
0
 def order_by(self):
     # allow throwing exception if the report explicitly sorts on an unsortable column type
     if self._order_by:
         return [
             OrderBy(order_by, is_ascending=(order == ASCENDING))
             for sort_column_id, order in self._order_by
             for order_by in self.get_db_column_ids(sort_column_id)
         ]
     elif self.top_level_columns:
         try:
             return [
                 OrderBy(order_by, is_ascending=True) for order_by in
                 self.get_db_column_ids(self.top_level_columns[0].column_id)
             ]
         except InvalidQueryColumn:
             pass
     return []
Exemplo n.º 5
0
 def test_distinct_on(self):
     vc = QueryContext(
         "user_table",
         distinct_on=['user', 'year'],
         order_by=[OrderBy('user'), OrderBy('year'), OrderBy('date', is_ascending=False)],
         group_by=['user', 'date']
     )
     vc.append_column(SimpleColumn('user'))
     vc.append_column(YearColumn('date', alias='year'))
     vc.append_column(SimpleColumn('indicator_a'))
     result = vc.resolve(self.session.connection())
     self.assertEquals(result, {
         ('user1', datetime.date(2013, 2, 1)): {'user': '******', 'year': 2013.0, 'indicator_a': 3,
                                                'date': datetime.date(2013, 2, 1)},
         ('user2', datetime.date(2013, 3, 1)): {'user': '******', 'year': 2013.0, 'indicator_a': 2,
                                                'date': datetime.date(2013, 3, 1)}
     })
Exemplo n.º 6
0
 def order_by(self):
     return [OrderBy('submitted_on')]
Exemplo n.º 7
0
 def order_by(self):
     return [OrderBy('username')]
 def order_by(self):
     return [OrderBy('month')]
Exemplo n.º 9
0
 def order_by(self):
     return [OrderBy('person_name')]
Exemplo n.º 10
0
 def order_by(self):
     return [OrderBy(self.loc_level)]