首页 > 解决方案 > 如何在 ssrs 报告服务中获得平均工作日平均周六和平均周日的正确结果?

问题描述

我有一张表,其中包含输入的员工电话。按小时和日期分组。

我有平均工作日列,它应该返回没有周六和周日的工作日的平均值。

我使用这个表达式:

=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 是星期天---

我什么时候错了?

RED 中的预期结果 - > https://i.imgur.com/h2b1TOd.png

标签: reporting-services

解决方案


我在我的本地机器上尝试了你的场景。

首先,您必须了解您的周六和周日返回什么。就我而言,星期日是 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()

在此处输入图像描述


推荐阅读