使用参数筛选结果

时间:2014-06-26 14:52:47

标签: reporting-services reportbuilder3.0

我有一份报告显示我活跃公司的当年[CY]和上一年[PY]的总金额。我需要添加一个参数,允许我根据前一年的金额总和来切换显示的内容。

任何以PY金额列出0的公司将在过去一年内成为新公司,任何具有PY金额正值的公司都将被视为现有公司。

有没有办法创建参数,以便我可以在它们之间切换?到目前为止,这就是我所拥有的

查询:

SELECT
  MW.MW_Submitted_Weeks_ROY.cmp_code
  ,MW.MW_Submitted_Weeks_ROY.cmp_name
  ,MW.MW_Submitted_Weeks_ROY.Owner
  ,MW.MW_Submitted_Weeks_ROY.[Year]
  ,MW.MW_Submitted_Weeks_ROY.[CY Dollars]
  ,MW.MW_Submitted_Weeks_ROY.[PY Dollars]
  ,MW.MW_Submitted_Weeks_ROY.SalesPersonNumber
  ,MW.MW_Submitted_Weeks_ROY.OwnerLastName
FROM
  MW.MW_Submitted_Weeks_ROY
WHERE
  MW.MW_Submitted_Weeks_ROY.[Year] = @Year
  AND MW.MW_Submitted_Weeks_ROY.Week <= @Week
  AND MW.MW_Submitted_Weeks_ROY.SalesPersonNumber IN (@SalesPersonNumber)
  AND MW.MW_Submitted_Weeks_ROY.[Group] IS NOT NULL

报告按cmp_code分组。 report

编辑:

我创建了一个名为Store的参数,并为其赋值0和1.

1 个答案:

答案 0 :(得分:0)

您可以根据允许过滤所描述条件或显示所有条件的参数,为分组子句添加过滤器。像

这样的东西

使用带参数的组过滤器表达式

Group1过滤表达式

=(
  (Parameters!CompanyFilter.Value=2) 
  OR 
  (Parameters!CompanyFilter.Value=1 AND (IsNothing(SUM(PY_Dollars.Value)) OR SUM(Fields!PY_Dollars.Value)=0) 
  OR
  (Parameters!Company.Value=0 AND SUM(Fields!CT_Dollars.Value)>0)
)

这将排除任何不符合标准的记录被计入结果中。