visualisation: return 0.0 for None measures in json_data (#38913)
This commit is contained in:
parent
5b72a4be6d
commit
5473870dc2
|
@ -137,6 +137,12 @@ class Measure(Base):
|
||||||
'expression': str,
|
'expression': str,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@property
|
||||||
|
def default_value(self):
|
||||||
|
if self.type in ['integer', 'percent']:
|
||||||
|
return 0
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
class Dimension(Base):
|
class Dimension(Base):
|
||||||
__slots__ = ['name', 'label', 'type', 'join', 'value', 'value_label',
|
__slots__ = ['name', 'label', 'type', 'join', 'value', 'value_label',
|
||||||
|
|
|
@ -181,7 +181,7 @@ class Visualization(object):
|
||||||
return data
|
return data
|
||||||
|
|
||||||
def default_cell(self):
|
def default_cell(self):
|
||||||
return MeasureCell(measure=self.measure, value=None)
|
return MeasureCell(measure=self.measure, value=self.measure.default_value)
|
||||||
|
|
||||||
def table_2d(self):
|
def table_2d(self):
|
||||||
'''Layout data into 2d tables'''
|
'''Layout data into 2d tables'''
|
||||||
|
|
|
@ -192,11 +192,11 @@ def test_none_percent_json_data(schema1, app, admin):
|
||||||
assert visu.json_data() == [
|
assert visu.json_data() == [
|
||||||
{
|
{
|
||||||
'coords': [{'value': u'2017'}, {'value': u'cat\xe92'}],
|
'coords': [{'value': u'2017'}, {'value': u'cat\xe92'}],
|
||||||
'measures': [{'value': None}]
|
'measures': [{'value': 0}]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'coords': [{'value': u'2017'}, {'value': u'cat\xe93'}],
|
'coords': [{'value': u'2017'}, {'value': u'cat\xe93'}],
|
||||||
'measures': [{'value': None}]},
|
'measures': [{'value': 0}]},
|
||||||
{
|
{
|
||||||
'coords': [{'value': u'2017'}, {'value': u'cat\xe91'}],
|
'coords': [{'value': u'2017'}, {'value': u'cat\xe91'}],
|
||||||
'measures': [{'value': 94.11764705882354}]},
|
'measures': [{'value': 94.11764705882354}]},
|
||||||
|
|
Loading…
Reference in New Issue