【问题标题】:Manually input different values for each row in SSRS?为 SSRS 中的每一行手动输入不同的值?
【发布时间】:2018-03-23 10:28:18
【问题描述】:

所以,我基本上有一个包含几列的矩阵,所有这些都是基于 A 列中的数字的表达式。A 列中的数字每个都是唯一的,但将保持不变并且不需要刷新。所以,我想做的是创建一个如下所示的矩阵:

<table>
  <TR>
    <TH>Column A</TH>
    <TH>Column B</TH>
    <TH>Column C</TH>
    <TH>Column D</TH>
  </TR>
  <TR>
    <TD>31</TD>
    <TD>Epxression</TD>
    <TD>Epxression</TD>
    <TD>Epxression</TD>
  </TR>
  <TR>
    <TD>123</TD>
    <TD>Epxression</TD>
    <TD>Epxression</TD>
    <TD>Epxression</TD>
  </TR>
  <TR>
    <TD>75</TD>
    <TD>Epxression</TD>
    <TD>Epxression</TD>
    <TD>Epxression</TD>
  </TR>
  <TR>
    <TD>98</TD>
    <TD>Epxression</TD>
    <TD>Epxression</TD>
    <TD>Epxression</TD>
  </TR>
</table>

即,在 A 列中手动输入静态值,其他所有内容都作为基于这些值的表达式。我已经尝试了一些使用参数等的解决方案,但没有任何运气。我想在 SSRS 中做的事情可能吗?

注意:很遗憾,我无法将值输入到原始 SQL 表中。

【问题讨论】:

  • 我认为您需要详细说明;这个问题感觉不完整。
  • 为什么这些静态值不能包含在您的数据集中?

标签: sql-server reporting-services ssrs-2008


【解决方案1】:

这不是很优雅,但如果我正确理解您的问题,那么您可以使用单个参数来输入值(逗号分隔)。

然后您需要使用拆分函数(因为 SPLIT_STRING 仅在 SQL2016 中引入)。我使用了一个可以在本文末尾找到的,因为它非常快..http://www.sqlservercentral.com/articles/Tally+Table/72993/

所以你的数据集查询看起来像这样。

SELECT ItemNumber as [SortOrder], Item as [ColumnA] FROM DelimitedSplit8k(@myParameter, ',')

因此,假设您在参数中输入 31,123,75,98,您的数据集输出将如下表所示(基于您的示例)

SortOrder    ColumnA
    1        31
    2        123
    3        75
    4        98

然后您可以添加一个绑定到此数据集的表,将 [ColumnA] 添加为第一列,并将您的表达式添加到其他三列中。

【讨论】:

    猜你喜欢
    • 2020-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多