2017-04-07 72 views
0

我是Report Builder的新成员,并且遇到了一些表达式问题,我试图在报表中实现。只要我尝试任何区别,我就会得到标准的工作,但我会收到错误消息。在过去几周里,Ive尝试了很多组合,阅读表达式帮助,谷歌和在网站上查看其他问题。为了减少我的挫折,我甚至会跳到其他表情,并走开,希望我会有不同的见解回来。 它可能是简单的东西,或者我不知道写表达式的东西。我希望有人能帮助这些表达;他们是我得到的最少的错误版本(通常只是表达预期),并显示我试图完成什么。Report Builder Expressions

=IIF((Fields!RECORDFLAG.Value)='D',COUNTDISTINCT(Fields!TICKETNUM.Value),0) 
=IIF((Fields!TRANSTYPE.Value)='1' and (Fields!RECORDFLAG.VALUE)='A' or 
    'B',SUM(Fields!DOLLARS.Value),0) 
=IIF((Fields!TRANSTYPE.Value)='1' and 
    (Fields!RECORDFLAG.VALUE)='P',SUM(Fields!DOLLARS.Value),0) 
=Sum([DOLLARS] case when [RECORDFLAG]='P' then -1*[DOLLARS]) 

谢谢。

+0

您可以发布错误消息吗?有一点需要注意,SSRS使用“THINGY”(双引号)而不是“THINGY”(单引号)。这可能有帮助。 – BishNaboB

+0

好的,我的反应可能会慢一些;我的电脑和桌子是公开的,我不是唯一的用户,所以我尽量保持整洁,因此如果我没有保留打印输出,那么过去的笔记就不可用了;所以,我认为开始是最好的开始 – kadflowercloud

+0

你能发表你的更新表达吗? – BishNaboB

回答

0

=IIF((Fields!RECORDFLAG.Value)=”D”,COUNTDISTINCT(Fields!TICK‌​ETNUM.Value))

错误消息给你答案在这里 - iif()没有错误的部分已被指定。使用=IIF((Fields!RECORDFLAG.Value)=”D”,COUNTDISTINCT(Fields!TICK‌​ETNUM.Value), 0)

=IIF((Fields!TRANSTYPE.Value)="1" and (Fields!RECORDFLAG.VALUE)="A" or "B",SUM(Fields!DOLLARS.Value),0)

这不是一个OR如何在SSRS中工作。使用: =IIF((Fields!TRANSTYPE.Value)="1" and (Fields!RECORDFLAG.VALUE="A" or Fields!RECORDFLAG.Value = "B"),SUM(Fields!DOLLARS.Value),0)

由于您的报告设计而返回0。 countdistinct()是一个集合函数 - 它意味着用在一组数据上。但是,您的iif()仅在每行的基础上进行测试 - 您基本上是在说“如果当前行是事物,请计算所有不同的值”,这是没有意义的。有一对夫妇的前进方向:

  • 你可以指望使用sum()发生在给定条件的特定值的次数。这与countdistinct()不一样,但是如果使用=sum(iif(Fields!RECORDFLAG.Value = "D", 1, 0)),那么您将获得RECORDFLAG在该集合中为D的次数。注意:这需要汇总数据(所以在SSRS中,按Tablix分组)。

  • 您可以使用自定义代码来计算集合中不同的值。见https://itsalocke.com/aggregate-on-a-lookup-in-ssrs/。即使只有一个数据集,也可以应用这个数据集 - 只需参考同一个数据集两次。

  • 您可以更改报告的工作方式。您可以在Fields!RECORDFLAG.Value上进行分组,并将该组过滤到Fields!RECORDFLAG.Value =“D”的位置。然后在您的文本框中,使用=countdistinct(Fields!TICKETNUM.Value)可以在RECORDFLAG为D时获取TICKETNUM的不同值。

+0

谢谢你的信息。我今天看到了你的帖子,但是流量很突出,我没有空闲时间专注于电脑。我会在星期二尝试答案,并让你知道它是否成功。保重。 – kadflowercloud

+0

我相信你是对的;由于报告设计,返回0。病态可能需要使用自定义代码来计算不同的值,我很欣赏链接。我可能会在这方面做更多的工作,并阅读更多的内容来处理代码,只是让它在我的头上。我十年以前对Access和GIS的了解以及阅读帮助部分以了解Report Builder的功能目前只能用于我。至少我指出了正确的方向。自定义代码应该能够帮助我计算日常值,这是我的目标。感谢你的帮助。 – kadflowercloud