`
y806839048
  • 浏览: 1088771 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

davinci图形渲染思路

阅读更多

 

自己设计一套新的bi工具也不外乎此,其他逻辑思路简单

获取图形信息---获取图形对应的视图信息---获取视图对应的数据信息

 

 

 

获取图形信息---获取图形对应的视图信息---获取视图对应的数据信息

 

 

http://localhost:8080/api/v3/views?projectId=3---获取project对应的视图以及对应的数据源

"select v.id, v.`name`, v.`description`, s.name as 'sourceName'",

            "from `view` v ",

            "left join source s on s.id = v.source_id ",

            "where v.project_id = #{projectId}" 

 

http://localhost:8080/api/v3/widgets/4

获取当前图形的信息包括配置信息--位置颜色类型

 

http://localhost:8080/api/v3/views/4

获取图形对应的视图sql信息---可供选择的字段---指标维度

维度group 字段

指标聚合计算

 

 

http://localhost:8080/api/v3/views/4/getdata

获取配配图形对应的维度,指标---值--渲染

筛选字段在gedata中的filter中

http://localhost:8080/api/v3/views/4/getdistinctvalue

用于筛选的字段首选会把其值列出

参数类:

ViewExecuteParam

 

 

 

sql条件信息的配置保存使用过程

 

查询的时候还要调用widget获取信息,最后才是用widget返回的条件配,调用getdata  组合放入ViewExecuteParam中

 

即:getWidgetInfo

 

 

http://127.0.0.1:8080/api/v3/widgets/4  获取wdiget列表返回的config字段信息中的查询sql会被用于getdata  组合放入ViewExecuteParam中。模板根据这个动态生成sql

 

需要配合自定义组合sql,如选择用and 或者 or 这里也应保存标志位,以便页面可以下次展现条件的and 还是or

 

Widget  这个中的config增加 filterAndFlag=true  查询条件在这里,

 

 

@Data

public class Widget extends RecordInfo<Widget> {

    private Long id;

 

    private String name;

 

    private String description;

 

    private Long viewId;

 

    private Long projectId;

 

    private Long type;

 

    private Boolean publish = false;

 

    private String config;

 

}

 

 

{"data":[],"cols":[{"name":"update_time","visualType":"date","type":"category","config":true,"field":{"alias":"","desc":"","useExpression":false},"format":{"formatType":"default"}}],"rows":[],"metrics":[{"name":"data_value@davinci@1870DA57",

"visualType":"string","type":"value","agg":"sum","config":true,"chart":{"id":3,"name":"bar","title":"柱状图","icon":"icon-chart-bar","coordinate":"cartesian","rules":[{"dimension":[0,9999],"metric":[1,9999]}],"dimetionAxis":"col","data":

{"cols":{"title":"列","type":"category"},"rows":{"title":"行","type":"category"},"metrics":{"title":"指标","type":"value"},"filters":{"title":"筛选","type":"all"},"color":{"title":"颜色","type":"category"},"label":{"title":"标签","type":"all"}

,"tip":{"title":"提示信息","type":"value"}},"style":{"xAxis":{"showLine":true,"lineStyle":"solid","lineSize":"1","lineColor":"#D9D9D9","showLabel":true,"labelFontFamily":"PingFang SC","labelFontSize":"12","labelColor":"#666"},"yAxis":

{"showLine":true,"lineStyle":"solid","lineSize":"1","lineColor":"#D9D9D9","showLabel":true,"labelFontFamily":"PingFang SC","labelFontSize":"12","labelColor":"#666","showTitleAndUnit":true,"titleFontFamily":"PingFang SC","titleFontSize":"12",

"titleColor":"#666"},"splitLine":{"showHorizontalLine":true,"horizontalLineStyle":"dashed","horizontalLineSize":"1","horizontalLineColor":"#D9D9D9","showVerticalLine":false,"verticalLineStyle":"dashed","verticalLineSize":"1",

"verticalLineColor":"#D9D9D9"},"pivot":{"fontFamily":"PingFang SC","fontSize":"12","color":"#666","lineStyle":"solid","lineColor":"#D9D9D9","headerBackgroundColor":"#f7f7f7"}}},"field":{"alias":"","desc":"","useExpression":false},"format":

{"formatType":"default"}}],

"filters":[{"name":"data_date","type":"category",

"config":{"sqlModel":[{"name":"data_date","type":"filter","value":["'2019-08-12'","'2019-08-09'"],"operator":"in","sqlType":"VARCHAR"}],

"filterSource":["2019-08-12","2019-08-09"]}},{"name":"update_time","type":"category",

"config":{"sql":"update_time >= '2019-11-06 14:19:06' and update_time <= '2019-11-20 14:19:06'","

filterSource":{"selectedDate":"other","datepickerValue":["2019-11-06 14:19:06","2019-11-20 14:19:06"]}}}],

 

 

"color":{"title":"颜色","type":"category","value":{"all":"#509af2","data_value@davinci@1870DA57":"#509af2"},"items":[]},"label":{"title":"标签","type":"all","items":[]},"tip":

{"title":"提示信息","type":"value","items":[]},"chartStyles":{"xAxis":{"showLine":true,"lineStyle":"solid","lineSize":"1","lineColor":"#D9D9D9","showLabel":true,"labelFontFamily":"PingFang SC","labelFontSize":"12","labelColor":"#666"},

"yAxis":{"showLine":true,"lineStyle":"solid","lineSize":"1","lineColor":"#D9D9D9","showLabel":true,"labelFontFamily":"PingFang SC","labelFontSize":"12","labelColor":"#666","showTitleAndUnit":true,"titleFontFamily":"PingFang SC",

"titleFontSize":"12","titleColor":"#666"},"splitLine":{"showHorizontalLine":true,"horizontalLineStyle":"dashed","horizontalLineSize":"1","horizontalLineColor":"#D9D9D9","showVerticalLine":false,"verticalLineStyle":"dashed",

"verticalLineSize":"1","verticalLineColor":"#D9D9D9"},"pivot":{"fontFamily":"PingFang SC","fontSize":"12","color":"#666","lineStyle":"solid","lineColor":"#D9D9D9","headerBackgroundColor":"#f7f7f7"}},"selectedChart":1,"pagination":

{"pageNo":0,"pageSize":0,"withPaging":false,"totalCount":0},"dimetionAxis":"col","renderType":"clear","orders":[],"mode":"pivot","model":{"index_code":{"sqlType":"VARCHAR","visualType":"string","modelType":"value"},"data_date":

{"sqlType":"VARCHAR","visualType":"string","modelType":"category"},"data_value":{"sqlType":"VARCHAR","visualType":"string","modelType":"value"},"publish_time":{"sqlType":"DATETIME","visualType":"date","modelType":"value"},

"update_time":{"sqlType":"DATETIME","visualType":"date","modelType":"category"}},"controls":[],"computed":[],"cache":false,"expired":300,"autoLoadData":true}

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics