Sql server 行组上更改的SSRS动态列

Sql server 行组上更改的SSRS动态列,sql-server,reporting-services,ssrs-2008-r2,reportbuilder,Sql Server,Reporting Services,Ssrs 2008 R2,Reportbuilder,第一个问题:让我知道我是怎么搞砸的。 我想做一份预算与实际的报告。我有一个SQL存储过程,它根据一些参数返回数据,例如客户和项目编号。数据按日期显示为发票数据,每种服务类型可能有多行,我在每行都有该服务类型的预算金额。然后,我获取数据并使用SSRS报告生成器Tablix透视数据。然后在行上显示日期和发票号,并对每种服务类型使用动态列。很多总数和预算金额后来我得到一份报告 我的问题是,用户希望为同一客户为多个项目运行此报告。 它适用于一个项目,但当我尝试两个项目编号时,报告会显示所有列。例如,一个

第一个问题:让我知道我是怎么搞砸的。 我想做一份预算与实际的报告。我有一个SQL存储过程,它根据一些参数返回数据,例如客户和项目编号。数据按日期显示为发票数据,每种服务类型可能有多行,我在每行都有该服务类型的预算金额。然后,我获取数据并使用SSRS报告生成器Tablix透视数据。然后在行上显示日期和发票号,并对每种服务类型使用动态列。很多总数和预算金额后来我得到一份报告

我的问题是,用户希望为同一客户为多个项目运行此报告。 它适用于一个项目,但当我尝试两个项目编号时,报告会显示所有列。例如,一个项目有10种服务类型,第二个项目有15种,只有几次重复。但我的每个项目报告显示了23列,而这只是该研究的列数。报告页面在项目上很好地中断,但它似乎没有像我需要的那样对列进行分组

在图片中,第4列属于上一个项目,但仍显示为8个左右的其他项目。

您可以使用嵌套实现此输出,例如表(或列表)中的矩阵

表(或列表)将按项目包含一个组(表的行组),该组将包含包含数据的矩阵

在下图中,表格有两个单元格,左侧包含组值(项目),右侧包含包含数据的矩阵


矩阵报告的预期行为。项目数量有限制吗?如果有的话,您可以为报表要处理的最大项目数创建相应数量的数据集。只需复制并粘贴矩阵,然后将每个矩阵附加到不同的数据集。这样就不会得到属于其他项目的列。无论是这一行还是你的行都需要嵌入矩阵(因此每个项目行都需要矩阵)。如果你想单独显示每个项目,我建议你保留单个项目报告,这将是你的子报告。然后用一个简单的单单元格表创建另一个报告。此表应指向包含用户选择的所有项目列表的数据集。在单个单元格中,添加子报表并将projectid作为参数传递。基本上,您将运行主报告,它将运行子报告“n”次,但用户不必单独运行它们。如果你需要更多的帮助,请告诉我,我会发布一个完整详细的答案。子报告有一些问题,但我确实得到了一个链接存根报告的工作。这是同一件事吗?我有一个完整的项目列表,一个链接显示每个项目的报告。我想这就是我想做的,但到目前为止还没有找到更详细的解释。我知道这听起来很奇怪,但我最需要的是我想做的事情的关键词。我确实有一个矩阵,但它是备用的,你是建议我使用一个子报告,还是这有什么不同?它不是子报告。这是一个只有一行和两个单元格的表格。该行按项目字段分组。表的右侧单元格包含一个矩阵,而不是某个字段值。由于这种布局,对于每个项目,只使用项目数据创建一个新的矩阵-行组充当包含矩阵的过滤器,因此它只返回当前项目列。这太棒了,正是我想要的!