繁体   English   中英

SSRS“ where子句”

[英]SSRS 'where clause'

我有一个表,其中包含一些公司的销售信息。 公司进行的每个销售交易都存储在表中,还存储了进行销售的一年中的一周(1-52)。 这是我正在查询以生成SSRS报告的数据库表的一个小示例。

|---------------------|------------------|------------------|
|      Company        |         Week     |Sales_Transaction |
|---------------------|------------------|------------------|
|        Alpha        |         20       |      1.00        |
|---------------------|------------------|------------------|
|        Alpha        |         20       |      2.00        |
|---------------------|------------------|------------------|
|        Beta         |         20       |      9.00        |
|---------------------|------------------|------------------|
|        Alpha        |         21       |      5.00        |
|---------------------|------------------|------------------|
|        Coolbeans    |         21       |      5.50        |
|---------------------|------------------|------------------|
|        Alpha        |         22       |      2.00        |
|---------------------|------------------|------------------|
|        Alpha        |         22       |      2.00        |
|---------------------|------------------|------------------|
|        Coolbeans    |         22       |      3.00        |
|---------------------|------------------|------------------|

我有一个带有行组的矩阵,该矩阵在每个公司的矩阵中产生一条线。 矩阵中一年中的每个星期都有52个其他列。 这是我要查看的矩阵和数据的精简版本。

|--------------|---------------|----------------|----------------|
|   Company    | # Sales Wk 20 |  # Sales Wk 21 |  # Sales Wk 22 |
|--------------|---------------|----------------|----------------|
|   Alpha      |       2       |      1         |      2         |
|--------------|---------------|----------------|----------------|
|   Beta       |       1       |      0         |      0         |
|--------------|---------------|----------------|----------------|
|   Coolbeans  |       0       |      1         |      1         |
|--------------|---------------|----------------|----------------|

为了计算每个公司每周的销售交易数,我在每个列中使用以下表达式:

= Count(IIF(Fields!Sales_Week_Number.Value =“ 20”,Fields!Sales.Value,0))

使用上面放置在#Sales Wk 20矩阵列中的示例表达式,问题在于,它不只计算第20周发生的交易,而是计算公司所有周的交易。 结果是,在#Sales Wk 20列中,Alpha显示5,Beta显示1,Coolbeans显示2。

我需要怎么做才能使其仅计算特定星期的销售交易?

旁注:关于一年中每周的52列,我故意没有为此b / c使用列组,我需要对另一个矩阵进行其他计算/比较,这在使用列组时效果不佳。 但是,我确实为公司使用了行组。

您的表达式应使用SUM而不是count

=SUM(IIF(Fields!Sales_Transaction.Value=0,0,1))

在此处输入图片说明

在此处输入图片说明

我认为您可能在这里走错了路。 由于您在SSRS中使用矩阵,因此最简单的方法是让SSRS为您处理分离,而不是构建WHERE。

尝试仅将=CountRows()作为公式的一部分添加,然后ssrs为您处理分组。 当我正确在线时(不在手机上),我将检查命令的格式。

在矩阵的值列中使用此表达式-

=IIf((Fields!Sales_Transaction.Value)>0,Count(Fields!Sales_Transaction.Value),0);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM