如何在SRS报告服务中获得平均工作日平均周六和平均周日的正确结果?

时间:2019-06-11 09:42:22

标签: reporting-services

我有一个表,其中包含输入的员工呼叫。按小时和日期分组。

我有“平均工作日”列,该列应向我返回不包含星期六和星期日的工作日的平均值。

我使用以下表达式:

=iif(weekday(Fields!DATE_YYYYMMDD.Value,2)<>6 and 7,avg(Fields!N_ENTERED.Value),0)

------ <> 6和7不在星期六和星期日,但在这种情况下不起作用。 --------

我知道我应该收到平日的平均成绩,但是我的报告将周六和周日的结果返回给我。

用其他表达方式也是如此(平均星期六和平均星期日)。

=iif(weekday(Fields!DATE_YYYYMMDD.Value,2)=6,avg(Fields!N_ENTERED.Value),0) --- 6是星期六---

=iif(weekday(Fields!DATE_YYYYMMDD.Value,2)=7,avg(Fields!N_ENTERED.Value),0) --- 6是星期日---

我什么时候错了?

预期结果以红色显示-> https://i.imgur.com/h2b1TOd.png

1 个答案:

答案 0 :(得分:0)

我在本地计算机上尝试了您的方案。

首先,您必须了解周六和周日返回的内容。在我的情况下,星期日是1,星期六是7。

以下是我如何获得工作日和周末的平均值。

工作日的表达式以获取数据。

=IIF(Weekday(Fields!Date.Value)<>7 and Weekday(Fields!Date.Value)<>1, Fields!CallData.Value,0)

以及工作日的平均值

=Sum(IIF(Weekday(Fields!Date.Value)<>7 and Weekday(Fields!Date.Value)<>1, Fields!CallData.Value,0))/countRows()

周末同样的方式

=IIF(Weekday(Fields!Date.Value)=7 and Weekday(Fields!Date.Value)=1, Fields!CallData.Value,0)

以及工作日的平均值

=Sum(IIF(Weekday(Fields!Date.Value)=7 and Weekday(Fields!Date.Value)=1, Fields!CallData.Value,0))/countRows()

enter image description here