如何选择数据集中的最新年份?

时间:2018-10-01 13:52:36

标签: reporting-services ssrs-2012 ssrs-2016

我有一个数据集,其中包含3年的数据,并且我只想获取Tablix的数据集中的最新年份,在这种情况下为2019年。

在这种情况下,我只想按等级总计(计数)发生的IncidentID的数量。

数据集:

enter image description here

所需结果:

enter image description here

  • 计算IncidentID(它们是唯一的)是总计的最佳方法吗?
  • 在SSRS中我可以通过哪些方法达到预期的结果?

我不确定是否要对“组属性”进行过滤,并尝试执行“最大日期”或使用其他功能。每年数据集都会添加一个新的年份,这些年份不是硬编码的。

谢谢。

3 个答案:

答案 0 :(得分:1)

您可以使用这样的表达式来获取条件计数:

const input = "./index.js mongodb://localhost:27017/docs find betty";

const regex = /(mongodb:\/\/\w*(\:\d{1,5})?\/(\w*))/;

const url = input.match(regex)[1];
const db_name = input.match(regex)[3];

console.log(url);
console.log(db_name);

这将检查每个组中的最大年份。您可以在=Count(IIf(Fields!SchoolYear.Value = Max(Fields!SchoolYear.Value, "GradeRowGroup"), 1, Nothing)) 函数中将行组或整个数据集用于合并范围。对于学年与最大值匹配的行,Max语句返回1。然后IIf只是汇总它们。

答案 1 :(得分:0)

我认为有两种实用的方法:

您可以将学年作为参数。如果您希望(默认情况下)打开实际年份,可以转到学年参数右键单击>参数属性>默认值>指定值。应该是这样的:

[School Year].[Year].&[2018]

将上面的表达式更改为以下内容:

=“ [学年]。[年份]。&[”&CStr(Year(Now()))&“]”

通过这种方式,默认情况下会以实际的学年打开报告,您还可以选择其他学年以获得信息。在tablix中,只需添加Count()Sum()以及您需要的其他所有内容。

或者您可以在Tablix中添加一个过滤器(这是更静态的),例如:

'Expression
=Fields!SchoolYear.Value = Year(Now()) 'Integer
=Fields!SchoolYear.Value = CStr(Year(Now())) 'String
'Type
Boolean
'Value
True

答案 2 :(得分:0)

一个同事帮助我解决了这个问题。我正在使用数据栏来显示汇总,他说要在“图表数据”上放一个表达式,这样就可以了。

=Sum(IIF(MAX(Fields!SchoolYear.Value)=Fields!SchoolYear.Value,Fields!NumDays.Value,0))