Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SSRS“where子句”_Sql Server_Reporting Services_Ssrs 2008_Ssrs 2008 R2 - Fatal编程技术网

Sql server SSRS“where子句”

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 | |---------------------|--------------

我有一张表格,里面有几家公司的销售信息。公司进行的每笔销售交易都存储在表中,并且还存储了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         |
|--------------|---------------|----------------|----------------|
为了计算每个公司每周的销售交易数量,我在每个列中使用如下表达式:

=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它用于同一报表中的许多其他内容。