如何修复visual studio报表中我的表达式中除以零的错误?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何修复visual studio报表中我的表达式中除以零的错误?相关的知识,希望对你有一定的参考价值。

我在visual studio中创建了报告。问题是在总字段中除以零。我有一列值为00:03:15,另一列有00:00:00我想对这些列求和,并希望显示第一列和第二列的平均值。我在我的案例中使用了这个表达式(公式):

=Format(
    TimeSerial(0,0, 
        Round(iif(sum(Fields!N_INBOUND.Value)=0,0,
        sum(Fields!T_INBOUND.Value/Fields!N_INBOUND.Value))

    +

    iif(sum(Fields!N_INBOUND.Value)=0,0,
    sum(Fields!T_HOLD.Value/Fields!N_INBOUND.Value)

    +iif(first(Fields!HANDLING_TIME_MEASURE_TYPE.Value)=2,
    sum(Fields!N_INBOUND.Value-Fields!N_TRANSFERS_TAKEN.Value),0))

    +iif(sum(Fields!N_INBOUND.Value)=0,0,
    sum(Fields!T_CONSULT.Value/Fields!N_INBOUND.Value)

    +iif(first(Fields!HANDLING_TIME_MEASURE_TYPE.Value)=2,
    sum(Fields!N_CONSULT.Value-Fields!N_TRANSFERS_TAKEN.Value),0)))/count(Fields!PRESENTATION_NAME.Value))
, "HH:mm:ss")

我用这个https://sqldusty.com/2011/08/01/ssrs-expression-iif-statement-divide-by-zero-error/看起来像:

=Format(
    TimeSerial(0,0, 
        Round(      
        iif(count(Fields!PRESENTATION_NAME.Value)=0,0,      
        (iif(sum(Fields!N_INBOUND.Value)=0,0,
        sum(Fields!T_INBOUND.Value/Fields!N_INBOUND.Value))

    +

    iif(sum(Fields!N_INBOUND.Value)=0,0,
    sum(Fields!T_HOLD.Value/Fields!N_INBOUND.Value)

    +iif(first(Fields!HANDLING_TIME_MEASURE_TYPE.Value)=2,
    sum(Fields!N_INBOUND.Value-Fields!N_TRANSFERS_TAKEN.Value),0))

    +iif(sum(Fields!N_INBOUND.Value)=0,0,
    sum(Fields!T_CONSULT.Value/Fields!N_INBOUND.Value)

    +iif(first(Fields!HANDLING_TIME_MEASURE_TYPE.Value)=2,
    sum(Fields!N_CONSULT.Value-Fields!N_TRANSFERS_TAKEN.Value),0)))/iif(count(Fields!PRESENTATION_NAME.Value)=0,1,count(Fields!PRESENTATION_NAME.Value)) ) ) )
, "HH:mm:ss")  

但是给我看了一个ERROR.Anyone谁知道如何解决这个问题?

答案

您的数据如下所示,如果我错了,请纠正我。在底部,我为两列添加了总计。

注意:您必须注意列(T INBOUND和INBOUND)返回值的类型。 qazxsw poi

现在为T_INBOUND和N_INBOUND创建一个Total

添加列组的总计在Tablix数据区域行组区域中,右键单击要为其总计的列组区域中的单元格,然后指向“添加总计”,并单击“之前”或“之后”。

将当前组外部的新列添加到数据区域,然后为列中的每个数字字段添加默认总计。链接:enter image description here

获得总计后,您可以创建一个单元格,在总计或总计下方创建一个单元格并添加表达式,如下所示

https://docs.microsoft.com/en-us/sql/reporting-services/report-design/add-a-total-to-a-group-or-tablix-data-region-report-builder-and-ssrs?view=sql-server-2017

IIF(IsNothing(Fields!Total_N_BOUND.Value) OR Fields!Total_N_BOUND.Value=0,0, Fields!Total_T_BOUND.Value/Fields!Total_N_BOUND.Value)

以上是关于如何修复visual studio报表中我的表达式中除以零的错误?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Visual Studio 2017 中修复断点表达式

如何在 Visual Studio 中修复 RegisterClientScriptBlock 已过时警告

如何让Visual Studio 2008编辑SSRS 2005报表项目没有安装SQL Business Intelligence Development Studio 2005?

如何在Visual Studio 2010中创建Crystal Reports [关闭]

如何在 Visual Studio 2010 中使用 Crystal Reports 创建报表

错误 C1083:如何修复损坏的 Visual Studio 编译器?