SSRS - 替换图表

时间:2013-06-18 06:31:19

标签: sql-server-2008 reporting-services ssrs-2008 bar-chart ssrs-grouping

我有一个问题,需要一些帮助。

问)我的问题是我有一张图表,其中分析师分配了许多事件,而一些分析师分配了1或2个事件。正因为如此,条形图看起来很丑陋。这就是为什么我使用新图表来表示Min事件计数。但我希望有一些创造性,我想要有一个单选按钮或OnClick事件(我不知道如何使用这两个。当报告默认运行时它将显示最大事件计数图表,当我们使用单选按钮时它将显示最小事件计数图表,在同一图表区域不需要新区域或新页面。

请帮助我或向我推荐一些链接和想法。因为我搜索了许多博客,但我没有取得任何重大成就。

以下是我的简化查询;

SELECT
Count(IncidentDimvw.Id)
,UserDimvw.FirstName AS Analyst
FROM
IncidentDimvw
FULL JOIN WorkItemDimvw
ON IncidentDimvw.EntityDimKey = WorkItemDimvw.EntityDimKey
JOIN WorkItemAssignedToUserFactvw
ON WorkItemDimvw.WorkItemDimKey = WorkItemAssignedToUserFactvw.WorkItemDimKey
JOIN UserDimvw
ON WorkItemAssignedToUserFactvw.WorkItemAssignedToUser_UserDimKey = UserDimvw.UserDimKey
    WHERE
  WorkItemAssignedToUserFactvw.DeletedDate IS NULL
    GROUP BY
UserDimvw.FirstName
Having (Count(IncidentDimvw.Id) = (@Count))

条款是对还是错,我不知道。 我按照你的建议使用了以下系列表达式。

=iif(Parameters!Count.Value, Max(Sum(Fields!ID.Value)), Min(Sum(Fields!ID.Value)))

示例数据如下:

Achiving result

此致

Muhammad Ahsan

1 个答案:

答案 0 :(得分:0)

我可以想到几种方法来解决这个问题:

基于参数的动态表达

假设您有一个简单的DataSet,如:

enter image description here

还有一个名为 showMax 的布尔参数。

我们可以基于此创建一个简单的条形图:

enter image description here

最值得注意的是,Series值是基于表达式的:

enter image description here

在上面的例子中,表达式是:

=IIf(Parameters!showMax.Value
  , Max(Fields!value.Value)
  , Min(Fields!value.Value))

即。当 showMax true 时,报告最大值,否则报告最小值。

在这种情况下,我还将轴标题图表标题自定义图例文字更新为基于表达式:< / p>

轴标题:=IIf(Parameters!showMax.Value, "Max", "Min")

图表标题:=IIf(Parameters!showMax.Value, "Max per group", "Min per group")

自定义图例文字:=IIf(Parameters!showMax.Value, "Max value", "Min value")

图表行为会根据需要选择的参数进行更改:

enter image description here

enter image description here

根据参数

设置可见性

另一种选择就是根据参数选择来制作图表并隐藏图表。

例如,对于Max图表,隐藏属性可以设置为:

=Not(Parameters!showMax.Value)

为每个报告正确设置此属性意味着只向用户显示一个属性,即它看起来是动态的。

这些选项中的任何一个都应该有效;第一个在设计器中保持布局简单使图表更复杂,第二个使布局更复杂但保持图表简单。

希望有一个选项适合你。