我在dataset中有一个字段,该字段包含一个公式(使用IFF和datediff),该公式确定打开记录的时间(有一个CreatedDate和一个ClosedDate)。然后,我将按该字段分组。
但是,我希望能够将数据分组到范围中。所以现在,标题是Days Open,三行表示7、5和1(天)。但随着更多数据的输入,行数将增加,因为开放天数可能在1到50之间。这意味着我可能会有50排。
我希望有一个固定的行数,每个行在一个范围内。因此,一行将有"1-5天开放“,然后计算有多少行是>=5,另一行具有"6-10天打开”,并计算这些。等。
如何将计算出的字段按不同的范围分组?我唯一能想到的方法就是编写大量的SQL。
发布于 2014-02-19 04:07:21
因此,如果我的理解是正确的,那么您已经向Dataset添加了一个字段,该数据集使用表达式根据另外两个字段(CreatedDate和ClosedDate)计算"Days Open“值。
您已经知道,Days Open的值可以是1-50,并且知道您想要的范围,因此您可以在数据集中添加另一个计算字段,该字段基于与Days Open相同的计算方法。
假设您现有的天数,开放计算是
=DateDiff(DateInterval.Day, Fields!CreatedDate.Value, Fields!ClosedDate.Value)然后你可以添加
=Switch(
DateDiff(DateInterval.Day, Fields!CreatedDate.Value, Fields!ClosedDate.Value) > 0 And
DateDiff(DateInterval.Day, Fields!CreatedDate.Value, Fields!ClosedDate.Value) <=5,
"1-5 Days",
DateDiff(DateInterval.Day, Fields!CreatedDate.Value, Fields!ClosedDate.Value) > 5 And
DateDiff(DateInterval.Day, Fields!CreatedDate.Value, Fields!ClosedDate.Value) <=10,
"6-10 Days",
DateDiff(DateInterval.Day, Fields!CreatedDate.Value, Fields!ClosedDate.Value) > 11 And
DateDiff(DateInterval.Day, Fields!CreatedDate.Value, Fields!ClosedDate.Value) <=15,
"11-15 Days",
...
DateDiff(DateInterval.Day, Fields!CreatedDate.Value, Fields!ClosedDate.Value) > 45 And
DateDiff(DateInterval.Day, Fields!CreatedDate.Value, Fields!ClosedDate.Value) <=50,
"45-50 Days"
)虽然如果您可以修改Dataset的实际SQL查询来执行Datediff函数,例如在vastly中,您可以添加
SELECT
...
DATEDIFF(dd, CreatedDate, ClosedDate) AS DaysOpen
...
FROM
...这将为您提供一个数据集查询字段,您可以在上面的表达式中使用该字段。
=Switch(
Fields!DaysOpen.Value) > 0 And
Fields!DaysOpen.Value) <=5,
"1-5 Days",无论以何种方式计算,都可以使用此Dataset字段,该字段包含表中简单分组表达式中的范围值。
https://stackoverflow.com/questions/21868705
复制相似问题