2011-01-18 20 views
20

Birkaç satırlık sayfa görüntüleyen bir SSRS raporum var. Her satırda bir "TYPE" alanıdır. Bu TİP alanında, değer için bir "M" veya değer için "P" vardır. Raporun sonunda "P" TİPLERİ için tüm fiyat değerlerini toplamak istiyorum. Bu çalıştı ancak bir #Error prioduced: bu yapmak mümkün tüm satırları SSRS Koşullu Özetleme

=iif(Fields!PART_TYPE.Value = "P" , Sum(Fields!EXT_QTY.Value * Fields!PRICE.Value), 0) 

eminim özetlenebilir

=Sum(iif(Fields!TYPE.Value = "P",Fields!EXT_QTY.Value * Fields!PRICE.Value ,0)) 

. Herhangi bir fikir? Cevap Bulunan Teşekkür

+0

Neden Bu senaryoda CDbl gerekli? OP'nin senaryosunda –

+5

"Sum (Fields! EXT_QTY.Value * Fields! PRICE.Value)", çift ve/veya ondalık tipli sayı üretiyordu ve SUM gerçekleştirdiğinizde SSRS'de benzer türler bekler ve "0" tamsayıdır . Bu yüzden başarısız oldu. Yani, IIF ifadesinin hem doğru hem de yanlış bölümünün aynı veri türüne dönüştürülmesi, hatayı çözmektedir. – N30

cevap

31

.... SUM karşılaştırma tip nedeniyle başarısız

=SUM(IIF(Fields!PART_TYPE.Value ="P",CDbl(Fields!EXT_QTY.Value * Fields!PRICE.Value), CDbl(0.0))) 
11

- sen olmak farklı türde değerleri toplamı olamaz ifadesi (muhtemelen bir Double) bir Integer, 0 ile . MikeTWebb'nin cevabı bu hatayı gidermek için açık tip dönüşümü yapar. Bu belirli bir örnek için, bir Toplam olmak iyidir, ancak bu, Tip'in P olduğu değerlerin ortalama (Sum/Count) olmasını istiyorsanız doğru bir sonuç vermez. Bunun nedeni, 0'ın bir değer olması ve dahil edilmesidir. Bu değerlerin hesaplamadan hariç tutulmasını istediğinizde, ortalama hesaplamada.

Diğer bir seçenek Nothing yerine 0 kullanmaktır:

=Sum(IIF(Fields!TYPE.Value = "P", Fields!EXT_QTY.Value * Fields!PRICE.Value, Nothing)) 

Bu açık isleminden gerek kalmadan tip karşılaştırma hatasını çözer ve değeri var olup olmadığını toplamaları kullanmadığınız veya daha iyi bir çözüm önemli olduğunu sonuca, Average gibi.

+1

Bu mükemmeldi. Kesinlikle, Nothing'in kullanımının, Average gibi hesaplamalar nedeniyle “başparmak kuralı” olarak gitmenin yolu olduğunu düşünüyorum. – Pete

+1

Yay! Bu tam ihtiyacım olan şeydi. Yine de 'Nothing' neyin null için iyi bir anahtar kelime oluşturduğunu düşünmeyenleri almayın. – Akaino