页面树结构
转至元数据结尾
转至元数据起始

示例

在供电统计数据中,当供电用户的供电出现异常时,会在数据库中记录一条失压数据。失压数据包括:供电用户,失压记录(若出现失压情况,则记录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.发布预览

发布报表,预览如下:

 

 

  • 无标签