예제 #1
0
 def setUp(self):
     self.model = cubes.Model('test')
     self.date_levels = [{
         "name": "year",
         "key": "year"
     }, {
         "name": "month",
         "key": "month"
     }]
     self.date_levels2 = [{
         "name": "year",
         "key": "year"
     }, {
         "name": "month",
         "key": "month"
     }, {
         "name": "day",
         "key": "day"
     }]
     self.date_hiers = [{"name": "ym", "levels": ["year", "month"]}]
     self.date_hiers2 = [{
         "name": "ym",
         "levels": ["year", "month"]
     }, {
         "name": "ymd",
         "levels": ["year", "month", "day"]
     }]
     self.date_desc = {
         "name": "date",
         "levels": self.date_levels,
         "hierarchies": self.date_hiers
     }
예제 #2
0
    def setUp(self):
        engine = create_engine('sqlite://')
        self.connection = engine.connect()
        self.metadata = MetaData()
        self.metadata.bind = engine

        self.table_name = "test"

        # Prepare table
        table = sqlalchemy.Table(self.table_name, self.metadata)
        table.append_column(Column("id", String))
        table.append_column(Column("color", String))
        table.append_column(Column("tone", String))
        table.append_column(Column("size", String))
        table.append_column(Column("temperature", String))
        table.create(self.connection)

        self.table = table

        # Prepare model
        self.model = cubes.Model()
        self.cube = cubes.Cube("test")
        self.model.add_cube(self.cube)

        desc = {"name": "color", "levels": ["color", "tone"]}
        dimension = cubes.create_dimension(desc)
        self.cube.add_dimension(dimension)

        dimension = cubes.create_dimension("size")
        self.cube.add_dimension(dimension)
예제 #3
0
 def setUp(self):
     a = [DIM_DATE_DESC, DIM_PRODUCT_DESC, DIM_FLAG_DESC]
     self.measures = cubes.attribute_list(["amount", "discount"])
     self.dimensions = [cubes.create_dimension(desc) for desc in a]
     self.cube = cubes.Cube("contracts",
                            dimensions=self.dimensions,
                            measures=self.measures)
     self.model = cubes.Model(cubes=[self.cube], dimensions=self.dimensions)
     self.model_path = os.path.join(DATA_PATH, 'model.json')
예제 #4
0
    def setUp(self):
        date_desc = {
            "name": "date",
            "levels": {
                "year": {
                    "key": "year",
                    "attributes": [{
                        "name": "year",
                        "order": "ascending"
                    }]
                },
                "month": {
                    "key":
                    "month",
                    "attributes": [{
                        "name": "month",
                        "order": "ascending"
                    }, {
                        "name": "month_name"
                    }]
                }
            },
            "default_hierarchy": "ym",
            "hierarchies": {
                "ym": {
                    "levels": ["year", "month"]
                }
            }
        }

        class_desc = {
            "name": "cls",
            "levels": {
                "group": {
                    "key": "group_id",
                    "attributes": ["group_id", "group_desc"]
                },
                "class": {
                    "key": "class_id",
                    "attributes": ["class_id", "class_desc"]
                }
            },
            "default_hierarchy": "default",
            "hierarchies": {
                "default": {
                    "levels": ["group", "class"]
                }
            }
        }

        cube = {
            "name": "testcube",
        }

        self.date_dim = cubes.create_dimension(date_desc)
        self.class_dim = cubes.create_dimension(class_desc)
        dims = [self.date_dim, self.class_dim]

        self.model = cubes.Model('test', dimensions=dims)
        self.cube = cubes.Cube("testcube", dimensions=dims)

        self.model.add_cube(self.cube)

        self.cube.measures = [cubes.Attribute("amount")]
        self.cube.mappings = {
            "amount": "ft_contracts.amount",
            "date.year": "dm_date.year",
            "date.month": "dm_date.month",
            "date.month_name": "dm_date.month_name",
            "cls.group_id": "dm_cls.group_id",
            "cls.class_id": "dm_cls.class_id",
            "cls.group_desc": "dm_cls.group_desc",
            "cls.class_desc": "dm_cls.class_desc",
            "cls.id": "dm_cls.id",
            "date.id": "dm_date.id",
            "fact.date_id": "ft_contracts.date_id",
            "fact.cls_id": "ft_contracts.cls_id"
        }
        self.cube.fact = "ft_contracts"
        self.mappings2 = {"amount": "ft_contracts.amount"}
        self.cube.joins = [{
            "master": "fact.date_id",
            "detail": "date.id"
        }, {
            "master": "fact.cls_id",
            "detail": "cls.id"
        }]

        self.prepare_data()