2012-06-19 38 views
4

我有一個.rdlc報告,分組。 每個組內都有一個Id。其中一些將是積極的,而另一些則是消極的。 我需要積極的去量ID和底片標識的.rdlc中的組中的條件計數?

喜歡的東西

=CountDistinct(Fields!Id.Value) where Fields!Id.Value > 0 - CountDistinct(Fields!Id.Value) where Fields!Id.Value < 0 

我怎樣才能做到這一點的區別?我想上的功能,但我想知道是否有一個簡單的辦法

編輯:一個ID可以比一次各組的時間更多,這就是爲什麼我用CountDistinct

回答

0

創建2個全局變量。一個是正​​面的,一個是負面的。

然後創建一個新的公式計數他們像下面這樣:

WhilePrintingRecords; 
IF (GroupName ({your_group_name}) > 0) THEN 
    Positive var = Positive var + 1; 
ELSE 
    Negative var = Negative var + 1; 

實際上,你可以尋找你的公式組,並將其拖動到編輯器而寫的公式。

由於它在組級別的操作,應首先閱讀記錄。這就是爲什麼我們使用whilePrintingRecords而不是whileReadingRecords。

希望我明白你的問題的權利。

+0

這是很老了 - 已修改查詢,不需要這個。無論如何,謝謝:)但是當我想要這樣做時,我想要精確地避免一個函數 - 這就是爲什麼我說「我在考慮一個函數,但我想知道是否有一個簡單的方法」。我當時(還是我)新手關於.rldc,所以我問是否已經有一個原始的功能可以爲我完成這項工作。不管怎麼說,還是要謝謝你! –

+0

您爲CrystalReports提供的代碼 – MPaul

2

你可以試試這個:

CountDistinct(IIf(Fields!Id.Value > 0, Fields!Id.Value, Nothing))