2017-04-07 46 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