【问题标题】:Divide two specific values from a matrix将矩阵中的两个特定值相除
【发布时间】:2013-09-25 09:59:31
【问题描述】:

我的报告中定义了一个矩阵,看起来类似于:

我想添加另一行,即来自Row 5Total 值除以来自Row 1Total

由于这些行是动态生成的,我该怎么做?

第一列是分组的,总列是SUM。我需要根据分组列选择 Total 值并将两者分开。

【问题讨论】:

  • 您是否考虑过使用组变量来存储总数,然后用它进行必要的计算?
  • @mr.theTrain 我该怎么做?我认为对我来说最简单的选择是将这些计算的大部分转移到 SQL Server 并保持报告非常简单。
  • 不确定这是否直接适用于您的情况,但是关于报告变量的一个很好的教程wiseowl.co.uk/blog/s283/group-variables.htm

标签: reporting-services-2012


【解决方案1】:

第 1 行和第 5 行的值是恒定的,还是您计算的行号始终是 1 和 5?

您可以使用自定义代码将值存储在变量中,然后使用这些值执行计算。

创建一个同时接受 Col1 值和 Col2 计算值的函数。然后它将 Row1 分配给 var1,将 Row5 分配给 var2。然后它将返回 Col2 的值以显示为 Total 值。

有意义吗?如果您需要有关该功能的帮助,请告诉我...

编辑

SSRS:

    Col 1     |  Col 2 |   Col 2 Expression
    England   |  201   |   =Code.SetOneFive(Count(Fields!Country.Value))
    Ireland   |  451   |   =Code.SetOneFive(Count(Fields!Country.Value))
    Scotland  |  215   |   =Code.SetOneFive(Count(Fields!Country.Value))
    Wales     |  487   |   =Code.SetOneFive(Count(Fields!Country.Value))
    Zenovia   |  2145  |   =Code.SetOneFive(Count(Fields!Country.Value))

代码:

    Public Shared Dim i as Integer = 1
    Public Shared Dim rowOne as Integer  
    Public Shared Dim rowFive as Integer

    Public Function  SetOneFive (byval _OneFive As Integer) as Integer

    If i = 1 then

             rowOne = _OneFive

        Else If i = 5 then

             rowFive = _Onefive

        End If

        i = i + 1

    End Function  

    Public Function GetRowOne () As Integer

          GetRowOne = RowOne 

    End Function

    Public Function GetRowFive () As Integer

          GetRowFive = RowFive 

    End Function

对于代码的每次迭代,i 都会增加 1。每次迭代都会检查该值是否为 1 或 5。

然后您可以在总列中使用:

    =Code.GetRowFive() / Code.GetRowOne()

注意:我尚未对此进行测试,因此可能存在一些拼写错误或语法错误,但您大致了解。

根据您的使用方式,您可能需要考虑不将变量声明为“共享”:

SSRS code variable resetting on new page

【讨论】:

  • 它们不是一成不变的。它们是动态的,行号将基于第 1 列的值。
  • 对不起,我想我的问题不具体,我会更准确地编辑它。
猜你喜欢
  • 2020-06-28
  • 1970-01-01
  • 2018-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-22
  • 1970-01-01
相关资源
最近更新 更多