【问题标题】:How can i add columns dynamically in ssrs如何在 ssrs 中动态添加列
【发布时间】:2017-07-16 20:57:27
【问题描述】:

当我开始处理 SSRS 报告时,我提出了一个要求,根据我得到的结果集,需要渲染几列。

假设用户订阅了保险计划,根据他选择的计划,他可能会获得不同的组。

    `User        Name     Valid    Group1      Group2    Group3    Group4  `
 ________________________________________________________________________
     1           Luther    X         X                                  
     2           Lynn                             X                      
     3           Wolfe               x                                     
     4           Jenny     x                                          x

如果您在上面看到每个保险计划的组可能会有所不同。我可以从我的数据库中获取最大组数。现在我通过硬编码所有组取得了一些成功。但这并不完美,因为使用当前方法我将显示所有组,即使我的计划仅包含最大 4 组。在 ssrs 中是否有方法可以动态生成标题列。

我的结果集查询很简单:

SELECT USER
     ,NAME
     ,Valid
     ,Opted_GROUP
     ,MaxGroups
     FROM tblInsurancePlans  WHERE InsurancePlanId = @PlanId

如果有人遇到这种要求会很有帮助,请帮助我。

【问题讨论】:

  • 否 .. 最大组数有时可能为 5 ,有时也可能达到 10。

标签: sql-server ssrs-2008 rdlc


【解决方案1】:

使用聚合:

select user,
    name,
    max(valid),
    max(case when opted_group = 'Group1' then 'X' end) group1,
    max(case when opted_group = 'Group2' then 'X' end) group2,
    max(case when opted_group = 'Group3' then 'X' end) group3,
    max(case when opted_group = 'Group4' then 'X' end) group4,
    . . .
from tblInsurancePlans
where InsurancePlanId = @PlanId
group by user,
    name

以上要求您知道将有多少组。如果您有动态编号。组中,您需要动态 SQL,或者最好在应用程序代码本身中处理它。

【讨论】:

  • 我的要求是使用数据集生成一个 ssrs 报告,在应用程序中处理它并不难,但是由于我需要这个结果集来生成 ssrs 报告,所以它会有些棘手。我需要这样的东西。stackoverflow.com/questions/36130747/…,让我试试这个
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多