【问题标题】:How do I set 1st row value from sql in ssrs report?如何在 ssrs 报告中设置 sql 的第一行值?
【发布时间】:2013-05-03 12:52:10
【问题描述】:

我正在处理 SSRS 报告。

CurrentMVPreviousMV 两个主要字段都有不同的公式,但我使用 =Previous(Sum(Fields!CurrentMV.Value)) 将 PreviousMV 作为 CurrentMV 的值

现在我怎样才能只从 sql 和其他字段中设置第一个字段,因为它来自表达式?

因为我使用的是Previous function,所以第一个值总是为空:(

我在报告过程中有字段可以给我值但是我如何设置第一个值以及Previous function

使用Ian 回复帖子但是, 我只想显示来自Sum(Fields!PreviousMV.Value)1st field 以及所有前面的值,使用 Previous(Sum(Fields!CurrentMV.Value))

我尝试过如下操作并出现语法错误:

=First(Sum(Fields!PreviousMV.Value)) ,Previous(Sum(Fields!CurrentMV.Value)) 

【问题讨论】:

    标签: sql reporting-services ssrs-2008


    【解决方案1】:

    您可以显式检查 NULL 值:

    =IIf(IsNothing(Previous(Sum(Fields!CurrentMV.Value)))
        , Sum(Fields!PreviousMV.Value)
        , Previous(Sum(Fields!CurrentMV.Value)))
    

    由于第一组没有Previous 组,这将为第一组返回 NULL,因此上述表达式将适用于您。

    这是一个使用表达式的简单报告。

    数据:

    报告:

    表达式值就是上面那个。

    结果:

    您可以看到它正在按预期获取值。

    【讨论】:

    • 感谢以上回答,但如果我只需要显示 sql 字段的第一行而没有 IF 条件?也就是 sum(field.previousMV) 请纠正我的语法
    • 对不起,我不太明白你的问题.. 似乎你想根据Previous 是否为NULL 来显示不同的值,所以IIf 似乎是一个好方法这样做。
    • 更新问题请帮助我。
    • 不,我永远不会得到任何值 (currentmv or previousmv) to NULL 这是我 can't 使用 IF condition to check NULL 的问题我只是想显示来自 SUM(previousMV) 的第一个值和来自 Previous(Sum(Fields!CurrentMV.Value)) 的其他值请帮忙谢谢
    • Previous 函数将总是为第一组返回 NULL,因为根据定义没有要返回的先前值。我添加了一个示例,显示正在使用的表达式并按预期工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多