schemas: add by year/month grouping (fixes #27406)
This commit is contained in:
parent
6974f1f56e
commit
5abfc1d236
|
@ -181,6 +181,22 @@ class Dimension(Base):
|
|||
filter_in_join=self.filter_in_join,
|
||||
value='EXTRACT(year from %s)::integer' % self.value,
|
||||
filter=False),
|
||||
Dimension(
|
||||
label=u'année et mois (%s)' % self.label,
|
||||
|
||||
name=self.name + '__yearmonth',
|
||||
type='integer',
|
||||
join=self.join,
|
||||
filter_value='EXTRACT(year from %s) || \'M\' || EXTRACT(month from %s)'
|
||||
% (filter_value, filter_value),
|
||||
filter_in_join=self.filter_in_join,
|
||||
value='TO_CHAR(EXTRACT(month from %s), \'00\') || \'/\' || EXTRACT(year from %s)'
|
||||
% (self.value, self.value),
|
||||
group_by='EXTRACT(year from %s), EXTRACT(month from %s)' % (self.value,
|
||||
self.value),
|
||||
order_by=['EXTRACT(year from %s), EXTRACT(month from %s)' % (self.value,
|
||||
self.value)],
|
||||
filter=False),
|
||||
Dimension(
|
||||
label=u'mois (%s)' % self.label,
|
||||
name=self.name + '__month',
|
||||
|
|
|
@ -83,3 +83,19 @@ def test_string_dimension(schema1, app, admin):
|
|||
form.set('filter__string', ['a', 'b', '__none__'])
|
||||
response = form.submit('visualize')
|
||||
assert get_table(response) == [['String', 'a', 'b', 'Aucun(e)'], ['number of rows', '11', '2', '1']]
|
||||
|
||||
|
||||
def test_yearmonth_drilldown(schema1, app, admin):
|
||||
login(app, admin)
|
||||
response = app.get('/').follow()
|
||||
response = response.click('Facts 1')
|
||||
form = response.form
|
||||
form.set('representation', 'table')
|
||||
form.set('measure', 'simple_count')
|
||||
form.set('drilldown_x', 'date__yearmonth')
|
||||
response = form.submit('visualize')
|
||||
assert get_table(response) == [
|
||||
[u'ann\xe9e et mois (Date)', '01/2017', '02/2017', '03/2017',
|
||||
'04/2017', '05/2017', '06/2017', '07/2017', '08/2017'],
|
||||
['number of rows', '10', '1', '1', '1', '1', '1', '1', '1']
|
||||
]
|
||||
|
|
Loading…
Reference in New Issue