数据源

准备原始数据

2份原始模拟数据源的链接可在此下载:点我点我 使用sqliteBrower打开db.

元数据:

dataSetId :6b144f42e3504c959b8f4ddc6f1b4ec1

数据截图

各列字段代表的意义:

COL_0_0:购买商品的类别 COL_0_1:购买者的省份 COL_0_2:我们按照用户消费总金额将用户分成十级,按分级统计其各项数据 COL_0_3:购买者的性别 COL_0_4:下单的时间段区间 COL_0_5:用户数量 COL_0_6:所有用户消费总金额之和 COL_0_7:年龄的累计之和 COL_0_8:人均消费值

dataSetId :0571da869e6a40d3ae156412f6b3f2b7

数据截图2

各列字段代表的意义:

COL_0_0:浏览的时间 COL_0_1:一周内的访问次数 COL_0_2:用户价值等级 COL_0_3:购物分类 COL_0_4:用户数 COL_0_5:消费总额

定义多维结构

将多维数据源的结构以json定义:


[
    {
        "dataSetId": "c8ab6752-4ec9-47bf-8dc2-f5d843e596d3",
        "encrypt": "123456",
        "dimensions": [
            {
                "granularities": [
                    {
                        "key": "COL_0_3",
                        "title": "性别"
                    }
                ],
                "key": "Dimension_1",
                "title": "性别"
            },
            {
                "granularities": [
                    {
                        "key": "COL_0_0",
                        "title": "购买分类"
                    }
                ],
                "key": "Dimension_2",
                "title": "消费类型"
            },
            {
                "granularities": [
                    {
                        "key": "COL_0_1",
                        "title": "省份"
                    }
                ],
                "key": "Dimension_3",
                "title": "区域"
            },
            {
                "granularities": [
                    {
                        "key": "COL_0_2",
                        "title": "用户价值组"
                    }
                ],
                "key": "Dimension_4",
                "title": "用户价值分类"
            },
            {
                "granularities": [
                    {
                        "key": "COL_0_4",
                        "title": "时刻段"
                    }
                ],
                "key": "Dimension_5",
                "title": "时间"
            }
        ],
        "measures": [
            {
                "key": "COL_0_5",
                "title": "用户数"
            },
            {
                "key": "COL_0_6",
                "title": "消费总额"
            },
            {
                "key": "COL_0_7",
                "title": "年龄累计"
            }
        ]
    },
    {
        "dataSetId": "7064bc90-5d89-48cc-8b8c-9d5aeac08e48",
        "dimensions": [
            {
                "granularities": [
                    {
                        "key": "COL_0_0",
                        "title": "周访问时间"
                    }
                ],
                "key": "Dimension_1",
                "title": "访问时间"
            },
            {
                "granularities": [
                    {
                        "key": "COL_0_1",
                        "title": "周访问频率"
                    }
                ],
                "key": "Dimension_2",
                "title": "频率"
            },
            {
                "granularities": [
                    {
                        "key": "COL_0_2",
                        "title": "用户价值组"
                    }
                ],
                "key": "Dimension_3",
                "title": "用户价值分类"
            },
            {
                "granularities": [
                    {
                        "key": "COL_0_3",
                        "title": "购买分类"
                    }
                ],
                "key": "Dimension_4",
                "title": "消费类型"
            }
        ],
        "encrypt": "123456",
        "measures": [
            {
                "key": "COL_0_4",
                "title": "用户数"
            },
            {
                "key": "COL_0_5",
                "title": "消费总额"
            }
        ]
    }
]

使用服务器生成多维数据db

将上面的json转化为NXCubeStructure,并生成多层级的sqlitedb.此处源数据从sqlite里读的,因此使用NXProducerSQLiteDataSource. 若源数据从mysql,oracle读的,使用相应的NXProducerMysqlDataSource,NXProducerOracleDataSource。

NXCubeStructure cube=NXCubeStructure.fill("json structure string abrove"); NXProducerSQLiteDataSource productor = new NXProducerSQLiteDataSource(){ @Override public String getTargetDatabaseFolderPath() { return "db file generate path folder"; } }; productor.createCube("datasetid", cube.getDataSetId(), cube.getDimensions(), cube.getMeasures(), cube.getEncrypt());

接下来需要定义图表配置文件。 点我跳转

results matching ""

    No results matching ""