Reporting Services Data Driven Subscriptions 基于数据驱动的订阅服务
今天客户提了一个很有意思的要求,需要使用Reporting Services构建一个警告功能,比如:只有当客户的账户余额小于1000元的时候,给特定的email地质发送警告邮件。
以前在使用Reporting Services的时候曾经见到过Data-Driven Subscription这个功能,但是没有怎么理会,这次正好想起来应该可以用这个功能实现。不过,这里有一个小小的技巧:因为在Data- Driven Subscription中也没有实现商业逻辑的模块,但是由于支持sql语法,那么应该是可以通过sql实现这个功能的了。
如果做呢?
1)建立一个新的Data-Driven Subscription,选中你所需要的报表,点Subscriptions的选项,然后点击New Data-Driven Subscription,在下面的页面中输入基本信息:
2)建立数据源,这个数据源应该是可以实现你所需要的逻辑的数据库,并不一定需要指向所选定的报表的数据源
3)输入逻辑
关键的部分就是这个子查询,当这个条件满足的时候,将返回email地址给这个订阅,那么邮件就可以发送出去了。
另外还可以有其他的应用,比如你可以将邮件列表的所有地址存储再数据库然后使用一个查询来返回所有的邮件地址,并填充到订阅的收件人中,这样就可以简单的创建一个邮件列表订阅发送系统;如果你还存储了订阅人的个人信息,也同样可以再报表中使用。虽然现在已经有很多的邮件订阅系统,但是如果你需要再企业中对报表进行大量的分发,这个功能还是非常实用的。
以前在使用Reporting Services的时候曾经见到过Data-Driven Subscription这个功能,但是没有怎么理会,这次正好想起来应该可以用这个功能实现。不过,这里有一个小小的技巧:因为在Data- Driven Subscription中也没有实现商业逻辑的模块,但是由于支持sql语法,那么应该是可以通过sql实现这个功能的了。
如果做呢?
1)建立一个新的Data-Driven Subscription,选中你所需要的报表,点Subscriptions的选项,然后点击New Data-Driven Subscription,在下面的页面中输入基本信息:
2)建立数据源,这个数据源应该是可以实现你所需要的逻辑的数据库,并不一定需要指向所选定的报表的数据源
3)输入逻辑
关键的部分就是这个子查询,当这个条件满足的时候,将返回email地址给这个订阅,那么邮件就可以发送出去了。
另外还可以有其他的应用,比如你可以将邮件列表的所有地址存储再数据库然后使用一个查询来返回所有的邮件地址,并填充到订阅的收件人中,这样就可以简单的创建一个邮件列表订阅发送系统;如果你还存储了订阅人的个人信息,也同样可以再报表中使用。虽然现在已经有很多的邮件订阅系统,但是如果你需要再企业中对报表进行大量的分发,这个功能还是非常实用的。
世界上不是所有的东西都是用直接经济契约来维系的,比如:阳光,空气,爱情和开源软件。