在供电统计数据中,当供电用户的供电出现异常时,会在数据库中记录一条失压数据。失压数据包括:供电用户,失压记录(若出现失压情况,则记录1),以及记录时间,并且一个用户一天最多一条失压记录。
现在报表展示时,当某个供电用户出现失压情况,并且出现了连续3天时,需要进行预警。如下:
1.版本:Smartbi V7及以上
2.客户端:PC
3.浏览器要求:IE8-IE11、chrome、firefox
失压记录存储在数据库中,如下:
1.创建数据集
创建数据集,如可视化查询等,将失压记录表中的数据查询出来。预览数据如下:
2.新建电子表格
在电子表格设计器中新建电子表格,并设置静态表样如下:
3.拖拽字段
将数据集中的“供电用户”字段拖拽到B5单元格;将数据集中的“失压记录”字段拖拽到C5单元格,并设置 “数据设置”项为“列表”;将数据集中的“记录时间”字段拖拽到D5单元格,并设置“数据设置”项为“列表”、设置单元格格式为“自定义”-》 “yyyy-mm-dd”
发布后预览如下:
4.设置公式:判断记录时间中是否有连续3行日期
在E5单元格中输入公式:=IF(D5-SSR_GetCell(D5,C5,-1)=1,IF(SSR_GetCell(D5,C5,-1)-SSR_GetCell(D5,C5,-2)=1,"Yes","No"),"No")。
说明:
此公式中有两个if嵌套。首先通过D5-SSR_GetCell(D5,C5,-1),计算当前行的记录时间与上一行的记录时间的时间差,判断是否为1;
然后通过SSR_GetCell(D5,C5,-1)-SSR_GetCell(D5,C5,-2),计算上一行的时间差与 上一行再上一行 的时间差,判断是否为1.
若都为1,则表明出现了连续3天的日期记录,则当前行值设置为“Yes”,否则设置为“No”。
发布预览如下:
5.增加辅助列
在F5单元格中输入公式:=COUNTIF(E5,"Yes")
并设置其左父格为“B5”单元格
由于设置预警需要一些特殊数据,此时需要为每一个供电用户构造一条数据依据。因此通过在F5单元格中的公式设置及其左父格设置,若供电用户的失压记录中有连续3天的记录,则此列的值会大于0
发布预览如下:
6.设置告警
选择“B5”单元格,切换到Excel的“开始页签下”。选择“条件格式”-》“新建规则”
规则类型选择“使用公式确定要设置格式的单元格”,并且在公式输入框中输入=$F5>0,并设置预警格式为 红色字体加粗。如下:(注意是$F5,而不是$F$5,需要去掉行数前的绝对引用,否则条件格式结果会不正确)
7.隐藏列
将E列和F列隐藏
8.发布预览
发布报表,预览如下: