【发布时间】:2018-06-15 03:56:54
【问题描述】:
我有一个表格,其中包含几家公司的销售信息。公司进行的每笔销售交易都存储在表中,并且还存储了销售发生在一年中的第几周 (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 使用列组,我需要与另一个矩阵进行一些其他计算/比较,当列使用组。但是,我确实为公司使用了行组。
【问题讨论】:
-
如果您使用
SQL Server,请使用PIVOT。 docs.microsoft.com/en-us/sql/t-sql/queries/… -
我应该更清楚。我作为我从中提取的数据库示例提供的内容实际上是我运行的 sql 查询的结果集。我的问题中看起来像 db 结果集的第二件事实际上应该是我想看到的 SSRS 中矩阵的表示。有没有办法在 SSRS 中编写表达式来获得我想要的东西,而无需修改查询/结果集?我无法修改生成该结果集的查询 b/c 它用于同一报告中的许多其他事情。
标签: sql-server reporting-services ssrs-2008 ssrs-2008-r2