【问题标题】:SSRS Tablix Cell Calculation based on RowGroup Value基于 RowGroup 值的 SSRS Tablix 单元格计算
【发布时间】:2015-07-08 06:35:55
【问题描述】:

我浏览了几篇关于 SSRS tablix 表达式的帖子,但找不到特定问题的答案。

我正在创建一个仪表板,其中包含各种经理的摘要数据。他们将每月汇总数据输入到一个结构如下的表中:

Create TABLE OperationMetrics
AS
Date date
Plant char(10)
Sales float
ReturnedProduct float

数据可以使用一些分组,所以我创建了一个表格来参考这些指标进入哪个报告组,如下所示:

Create Table OperationsReport
as
ReportType varchar(50)
MetricType varchar(50)

在此表中,“Sales”和“ReturnedProduct”是 Metric 列,而“ExecSummary”或“Quality”是 ReportType 条目。为了进行连接,我决定 UNPIVOT OperationMetrics 表...

Select Date, Plant, Metric, MetricType 
From (Select Date, Plant, Sales, ReturnedProduct From OperationMetrics)
UNPVIOT (Metric for MetricType in (Sales, ReturnedProduct) UnPvt

并将其加入 OperationsReport 表,以便我对指标进行分组。

Select Date, Plant, Metric, Rpt.MetricReport, MetricType
FROM OpMetrics_Unpivoted OpEx 
INNER JOIN OperationsReport Rpt on OpEx.MetricType = Rpt.MetricType 

(我知道这其中的元素并不理想,但有时我们无法控制自己的命运。)

这不包括整个表格,但您明白了要点。因此,他们有一个填写 OperationMetrics 表的表格。我选择了 SSRS 来显示输出。

我使用以下配置创建了一个 tablix(由于我的代表,我无法发布图片...)

日期是唯一的列组,按“MMM-yy”分组 父行组是 ReportType 子行组是 MetricType

现在,我的问题是某些指标是其他指标的计算。例如,经理没有输入“退货产品(销售额的百分比)”,因为假设我们可以简单地计算出来。它将是 ReturnedProduct 除以销售额。

我尝试使用查找函数来计算,如下所示:

Switch(Fields!FriendlyName.Value="Sales",SUM(Fields!Metric.Value),
Fields!FriendlyName.Value="ReturnedProduct",SUM(Fields!Metric.Value),
Fields!FriendlyName.Value="ReturnedProductPercent",Lookup("ReturnedProduct",
Fields!FriendlyName.Value,Fields!Metric.Value,"MetricDataSet")/
Lookup("Sales",Fields!FriendlyName.Value,Fields!Metric.Value,
"MetricDataSet"))

这很好用!第一个月...但由于 Lookup 会查找第一个匹配项,因此它只会在之后的其余几个月发布相同的值。

我尝试使用this,但它让我回到了最初的位置,因为数据集没有价值。

对此的任何帮助都会受到欢迎。我想保留行组层次结构。

【问题讨论】:

    标签: ssrs-2012 ssrs-tablix


    【解决方案1】:

    听起来 LookUp 对您有用,但您只需要包含日期即可找到正确的月份。 LookUp 将返回第一个匹配项,这就是它仅在第一个月有效的原因。

    您可以尝试在 LookUp 中连接 Metric NameDate 字段。

    Lookup("Sales" & CSTR(Fields!DATE.Value), Fields!FriendlyName.Value & CSTR(Fields!DATE.Value), Fields!Metric.Value, "MetricDataSet")
    

    如果我误解了这个问题,请告诉我。

    【讨论】:

    • 啊。我认为您不能将字符串与字段值连接起来。如果解决了问题,我会尝试并报告...
    • 运行良好。那解决了它。非常感谢汉诺威拳头
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-23
    相关资源
    最近更新 更多