SSRS 'where clause'

SSRS 'where clause'

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

|---------------------|------------------|------------------|
|      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 我需要用另一个矩阵做一些其他 calculations/comparisons ' 在使用列组时表现良好。但是,我确实为公司使用了行组。

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

尝试只添加 =CountRows() 作为公式的一部分,ssrs 会为您处理分组。我会在我的 phone.

正常联机时检查命令的格式

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

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

您的表达式应该使用 SUM 而不是计数

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