Shared DataSet 和 Share DataSource
在SSRS中有两样东西是能被所有report调用的,一个是 Shared DataSource, 一个是Shared DataSet. SharedData Set和report的关系类似于函数的实参传递,report中对dataset的修改并不会影响Shared DataSet.
DataSet 中的Query
Query这一项是用于访问数据源获取DataSet的,执行的语句中可以包含动态的参数,SQL中可能就是where等于什么什么,MDX中可能就是维度什么的,这里拼凑成的查询语句会直接在数据源的数据库执行,然后返回得到的DataSet结果.
DataSet 中的Field
在query中得到的DataSet的列名,在这里会以QueryField的形式展示出来,不喜欢在query中得到DataSet的column名可以在这里改.另外还可以在这里对返回的DataSet进行一定的处理.例如增加一列数据,这列数据由已经得到数据中算出,就可以添加一个Calculated Query,用SSRS的函数算出来.注意,这个Calculated Query只能在同一行中作计算,而不能用统计函数,例如Sum,Count之类的,不然会报错.
DataSet中的Filter
这里的Filter和Query加入的不同,Query中限制的是数据源的数据,Filter限制的是已经查出来的DataSet的数据,所以虽然两个地方没有太大区别,但是为了减少资源的浪费,最好把Filter拼到query语句中去.这个Filter存在的主要意义是,给相似的DataSet,有些report可能需要的是前10条,有些要的10天内,这样可以减少重复代码,有些情况可能还会提高效率,相似的DataSet的Filter总共有三层.
1. Shared DataSet
2. Report的DataSet
3. Report中Chart的DataSet
作用域大概类似于函数传递实参.
DataSet中的Parameters
在Parameters中可以用来关联Parameters中的值,从来通过复选的下来菜单来查询用户想要的结果.同样也可以通过几个Parameters经过处理得出新的一个Parameter传到Query中的语句中去.