Example #1
0
 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)
     ])
Example #2
0
 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)
     ])
Example #3
0
 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
         )
     ])
Example #4
0
 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,
         )],
     )
Example #5
0
 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,
     )
Example #6
0
 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,
         )],
     )
Example #7
0
    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,
            )
        ])