2009-03-11 17 views
3

Bu, basit olması gerektiği gibi görünüyor ancak henüz bir şey bulamıyorum. Raporlama Servislerinde, hepsinin hesaplanan değerleri ve dinamik görünebilirliği olan 6 satıra kadar bir tablo var. Bu satırları toplamak istiyorum. Temel olarak bir dizi fatura ürünüm var ve toplam yapmak istiyorum. Depolanmış prosedürlerim sistemde başka yerlerde kullanıldığından DB tarafında bir şey değiştiremiyorum. Her satır, verileri farklı bir veri kümesinden de alır, bu nedenle veri kümesinin toplamını yapamıyorum. Tüm satırları bir tablo altbilgisi ile toplayabilir miyim? Excel'de bir dizi satır toplamı gibi mi? Toplamı hesaplamak için görünürlük ifademi her satırdan altbilgi satırıma yerleştirmek çok gereksiz görünüyor.Microsoft Raporlama Servisleri'nde hesaplanan satırların toplamı oluşturun

1. SQL hesaplama yapın ve şöyle o araziyi Özetle:

cevap

13

bazı yollar Bunu elde edebiliriz

SELECT Quantity, Amount, Quantity * Amount As TotalAmount FROM MyTable 

Sonra sadece Ayrıntılı olarak TotalAmount alanını kullanın satır ve altbilgi içinde topla.

2.

sizin için toplam hesaplar ikinci bir Veri Kümesi Oluşturma ve toplamı yerine altbilgideki kullanan:

=Sum(Fields!TotalAmount.Value, "MyTotalingDataset") 

3. özel kod kullanarak yapın. Yerleşim alanını sağ tıklayın, Özellikler'i seçin ve Kod sekmesine tıklayın. Aşağıdaki kodda koyun: Bu, yukarıdaki kodu çalıştırmak ve hesaplama yapmak artı hesaplar

=Code.CalculateRowTotal(Fields!Quantity.Value, Fields!Amount.Value) 

: Detay bandı üzerinde

Public Dim TotalAmount As Double = 0 

Public Function CalculateRowTotal(ThisValue As Double, ThatValue As Double) As Double 
    TotalAmount = TotalAmount + (ThisValue * ThatValue) 
    Return ThisValue * ThatValue 
End Function 

, sen alanı toplamak sütunu yapmak bu ifadeyi var Süreçte toplam toplam.

=Code.TotalAmount 

Ve bitirdiniz: Sütun ifade var bu yüzden

Alt Bilgi bant toplamını gösterir. Dikkatli olun, çünkü kodunuzun yürütme sırasını garanti etmediğinizden ve bazı raporlar için ilk önce altbilgiyi (örneğin, Ayrıntı bandında satırların toplamını kullanırsanız) çalıştıracak ve böylece toplam sıfırı yapacak Detay bandı hesaplamaları henüz gerçekleşmedi, ancak genel durum için bu işe yarayacak.

+0

Kod yürütme için bir siparişin garanti edilmediğini bildirdiğiniz için teşekkür ederim. Bu, satırların toplamının neden daha karmaşık olduğunun daha anlamlı olmasını sağlar. – kd7iwp

3

db'yi aşağıdaki gibi değiştirebilirsiniz.

Verileri topluyorsanız, olmadan toplanan sonuçları SQL 'ta bulabileceğinizi biliyor muydunuz?aşağıdaki gibi

Sadece veri kümesi için fazladan bir sütun eklemek: , SUM AS (OrderQty) AŞIRI (SalesOrderID TARAFINDAN BÖLME) 'Toplam' Yukarıdaki örnekte

: OrderQty Eğer özetlemek isteyen değerdir SalerOrderID

'GROUP BY' eşdeğer COUNT, AVG ile aynı tekniği kullanabilir ve böylece http://msdn.microsoft.com/en-us/library/ms189461(SQL.90).aspx

burada

Daha bilgilere olabilir olduğunu

-2

Yürütme sırasına ilişkin bir sorun yaşamanız durumunda, tablonun altına bir metin kutusu ekleyin ve bu kutuda TotalAmount'ı görüntüleyin.

+1

Biraz daha spesifik olabilir misiniz? Mutlak belirsizlik için -1 – cjds