我有user-type
的报告。用户类型,地区,区域和办公室。我有以下要求。
1.当Manager
为Region, District and office
时,用户必须选择user-type
下拉列表。
2.当District Manager
为Region
时,district
和default
下拉列表需要填充[first value from data-set]
值office drop-down
且用户已填写选择default
。
因此,other parameters
的{{1}}值需要根据user-type parameter
值进行更改。我在下面尝试了Region parameter
的默认属性。
=iif(parameters!usertype.value = 'DM', first(Fields!RegionName.Value ,"RegionDataset"),nothing)
它给出了以下错误..
字段不能用于报表参数表达式。
我们是否在SSRS
中有任何变通方法可根据其他参数值设置dynamic default
值?
答案 0 :(得分:1)
最简单的方法是专门为您的默认值构建几个数据集,一个用于Region,另一个用于District。
例如,让我们创建一个名为dsRegionDefaults
的数据集,数据集查询可能看起来像这样。 (这有点冗长,但我不知道你的数据是什么样的,这是最好的说明方式)
DECLARE @Regions TABLE (RegionID int, RegionName varchar(100))
IF @userType = 'Manager'
BEGIN
INSERT INTO @Regions
SELECT RegionID, RegionName FROM myTable
END
ELSE
BEGIN
INSERT INTO @Regions
SELECT RegionID, RegionName FROM myTable
WHERE something = somethingelse
END
SELECT * FROM @Regions
我知道这似乎要做得更多,但设置起来非常快且易于维护,您也不必依赖数据集中可能要求的记录顺序将来的麻烦。