Sql server SSRS“where子句”
我有一张表格,里面有几家公司的销售信息。公司进行的每笔销售交易都存储在表中,并且还存储了1-52年销售发生的那一周。下面是一个数据库表的小示例,我正在查询该表以生成SSRS报告Sql server SSRS“where子句”,sql-server,reporting-services,ssrs-2008,ssrs-2008-r2,Sql Server,Reporting Services,Ssrs 2008,Ssrs 2008 R2,我有一张表格,里面有几家公司的销售信息。公司进行的每笔销售交易都存储在表中,并且还存储了1-52年销售发生的那一周。下面是一个数据库表的小示例,我正在查询该表以生成SSRS报告 |---------------------|------------------|------------------| | Company | Week |Sales_Transaction | |---------------------|--------------
|---------------------|------------------|------------------|
| 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 |
|--------------|---------------|----------------|----------------|
为了计算每个公司每周的销售交易数量,我在每个列中使用如下表达式:
=CountiFilds!Sales\u Week\u Number.Value=20,字段!销售额。价值,0
使用上面的示例表达式(我将其放在Sales Wk 20 matrix列中),问题在于它不是只计算第20周发生的交易,而是计算公司所有周的交易。结果是在Sales Wk 20列中,Alpha为5,Beta为1,Coolbeans为2
我需要做什么才能使其仅计算特定周的销售交易
旁注:关于一年中每周的52列,我有意不使用此b/c的列组。我需要与另一个矩阵进行一些其他计算/比较,当使用列组时,该矩阵不起作用。不过,我确实为这些公司使用了一个行组。我认为您可能走错了路。由于您在SSR中使用矩阵,那么最简单的方法是让SSR为您处理分离,而不是构建一个WHERE
尝试将=CountRows添加为公式的一部分,ssrs将为您处理分组。当我正常联机而不是在手机上时,我将检查命令的格式。在矩阵的值列中使用此表达式-
=IIf((Fields!Sales_Transaction.Value)>0,Count(Fields!Sales_Transaction.Value),0);
表达式应使用SUM而不是count
=SUM(IIF(Fields!Sales_Transaction.Value=0,0,1))
如果使用SQL Server,请使用PIVOT。我应该说得更清楚些。作为我从中提取的数据库的示例,我提供的实际上是我运行的sql查询的结果集。在我的问题中,第二件看起来像db结果集的事情实际上应该是我想看到的SSR中矩阵的表示。有没有一种不用修改查询/结果集就可以在SSRS中编写表达式以获得所需内容的方法?我无法修改生成该结果集的查询b/c它用于同一报表中的许多其他内容。