1.数据检查
拿到数据,首先对数据进行检查,日期是否符合格式、价格之类的字段的值是否都是数字等。
2.建表
按照需求建表,表中的字段类型要判断清楚,如果是数字,注意结果有没有可能是小数;
dm层进行汇总,报表是在dm层的基础上,dw层还存放着原始的数据,一般不用来制作报表
3.报表的数据集管理
presto:
在presto中:两个值相除,至少有一个为浮点数才能返回正确结果,因此分子乘1.0之类的,而且计算时小数末尾的0会被省略,显示时小数末尾的0也会被省略
Freemarker if else:
(1)如果传入的参数不输入,则输出对应参数所有数据
在where中用if else,如果传入了参数,执行里面的,对字段赋值,如果没传入参数,忽略if else,输出所有;
<#if m_genre ??>
and aucgenre_detail = :m_genre
</#if>
(2)如果传入的参数必须填入,否则无数据
不需要用if else,没有参数则传入的是null,不输出数据
and contains(split(:m_dbname,','),dbname)
4.报表设计
选择框选项最好进行排序;
趋势差不多的图表可以放在一起