~zaber/openobject-addons/stable_5.0-extra-addons

« back to all changes in this revision

Viewing changes to olap/cube/levels/level_date.py

  • Committer: asb (Open ERP)
  • Date: 2009-03-06 14:37:14 UTC
  • mto: This revision was merged to the branch mainline in revision 3588.
  • Revision ID: asb@tinyerp.com-20090306143714-ncuch5f360gjp3lm
* Added the olap_crm - Demo Cube for the CRM

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
    def children(self, level, metadata, table):
26
26
        col = common.col_get(sqlalchemy.Table(level.object.table_name,metadata), level.object.column_name)
27
27
        col_id = common.col_get(sqlalchemy.Table(level.object.table_name,metadata), level.object.column_name)
 
28
        qexpr = sqlalchemy.literal('Q')+ sqlalchemy.sql.cast(sqlalchemy.func.date_part('QUARTER',col_id), sqlalchemy.types.String) + sqlalchemy.sql.cast(sqlalchemy.func.date_part('month',col_id),sqlalchemy.types.String)
28
29
        return  {
29
 
            'column': [sqlalchemy.func.date_part('month',col_id)],
 
30
            'column': [sqlalchemy.func.date_part('month',col)],
30
31
            'column_name':[sqlalchemy.func.date_part('month',col)],
31
32
            'axis_mapping': [axis_map.column_mapping]
32
33
        }
74
75
            }
75
76
        col = common.col_get(sqlalchemy.Table(level.object.table_name,metadata), level.object.column_name)
76
77
        col_id = common.col_get(sqlalchemy.Table(level.object.table_name,metadata), level.object.column_name)
 
78
        qexpr = sqlalchemy.literal('Q')+ sqlalchemy.sql.cast(sqlalchemy.func.date_part('QUARTER',col_id), sqlalchemy.types.String)
77
79
        if not level.name in quarters:
78
80
            raise 'Quarter should be in Q1,Q2,Q3,Q4 !'
79
81
 
80
82
        result = {
81
 
            'column': [sqlalchemy.func.date_part('month',col_id)],
82
 
            'column_name': [sqlalchemy.func.date_part('month',col_id)],
 
83
            'column': [qexpr],
 
84
            'column_name': [qexpr],
83
85
            'axis_mapping': [axis_map.column_static],
84
86
            'where_clause': [
85
87
                (sqlalchemy.func.date_part('month',col_id)==quarters[level.name][0]) |
92
94
 
93
95
 
94
96
    def children(self, level, metadata, table):
95
 
 
96
97
        table = sqlalchemy.Table(level.object.table_name, metadata)
97
98
        col =common.col_get(table, level.object.column_name)
98
99
        col_id = common.col_get(table,level.object.column_name)