def get_column_config(self, data_source_config, lang): return ColumnConfig(columns=[ DatabaseColumn(header=self.get_header(lang), agg_column=SimpleColumn(self.field, alias=self.column_id), sortable=self.sortable, data_slug=self.column_id, format_fn=self.get_format_fn(), help_text=self.description) ])
def get_column_config(self, data_source_config, lang): return ColumnConfig(columns=[ CalculatedColumn( header=self.get_header(lang), slug=self.column_id, visible=self.visible, # todo: are these needed? # format_fn=self.get_format_fn(), help_text=self.description) ])
def get_column_config(self, data_source_config, lang): return ColumnConfig(columns=[ DatabaseColumn( header=self.get_header(lang), agg_column=SQLAGG_COLUMN_MAP[self.aggregation](self.field, alias=self.column_id), sortable=self.sortable, data_slug=self.column_id, format_fn=self.get_format_fn(), help_text=self.description, visible=self.visible ) ])
def get_column_config(self, data_source_config, lang): return ColumnConfig(columns=[ AggregateColumn( header=self.get_header(lang), aggregate_fn=lambda year, month: {'year': year, 'month': month}, format_fn=self.get_format_fn(), columns=[ YearColumn(self.field, alias=self._year_column_alias()), MonthColumn(self.field, alias=self._month_column_alias()), ], slug=self.column_id, data_slug=self.column_id, )], )
def get_column_config(self, data_source_config, lang): # todo: better checks that fields are not expand num_config = self.numerator.get_column_config(data_source_config, lang) denom_config = self.denominator.get_column_config(data_source_config, lang) return ColumnConfig(columns=[ AggregateColumn( header=self.get_header(lang), aggregate_fn=lambda n, d: {'num': n, 'denom': d}, format_fn=self.get_format_fn(), columns=[c.view for c in num_config.columns + denom_config.columns], slug=self.column_id, data_slug=self.column_id, )], warnings=num_config.warnings + denom_config.warnings, )
def get_column_config(self, data_source_config, lang): if not self.type and self._agg_column_type: raise NotImplementedError("subclasses must define a type and column_type") return ColumnConfig(columns=[ DatabaseColumn( header=self.get_header(lang), agg_column=self._agg_column_type( whens=self.get_whens(), else_=self.else_, alias=self.column_id, ), sortable=self.sortable, data_slug=self.column_id, format_fn=self.get_format_fn(), help_text=self.description, visible=self.visible, )], )
def get_column_config(self, data_source_config, lang): def _last_value(array): return array[-1] if array else None return ColumnConfig(columns=[ DatabaseColumn( header=self.get_header(lang), agg_column=self._agg_column_type( key=self.field, order_by_col=self.order_by_col, alias=self.column_id, ), format_fn=_last_value, data_slug=self.column_id, help_text=self.description, visible=self.visible, sortable=False, ) ])