SQL Server administration and T-SQL development, Web Programming with ASP.NET, HTML5 and Javascript, Windows Phone 8 app development, SAP Smartforms and ABAP Programming, Windows 7, Visual Studio and MS Office software
Development resources, articles, tutorials, code samples, tools and downloads for ASP.Net, SQL Server, Reporting Services, T-SQL, Windows, AWS, SAP HANA and ABAP

Reporting Sevices Raporlarında RunningValue Fonksiyonunun kullanımı

Reporting Services ile hazırladığınız raporlarda bazı kolonların değerlerinin daha üstte yeralan satırdaki değerler ile toplanarak görüntülenmesini istiyor olabilirsiniz. Buna örnek olarak bir kolonda satış miktarları gösterirken hemen yanındaki kolonda bu miktarları toplayarak göstermek isteyebilirsiniz. SQL Server Reporting Services bize bu özelliği RunningValue fonksiyonu ile sağlıyor.

RunningValue özelliğini kullanacağımız örnek Reporting Services raporumuz için verilerimizi Pubs veritabanının Sales tablosundan okuyacağız.

Verilerimizi Pubs veritabanımızdan yeni oluşturacağımız bir SQL Stored Procedure ile okuyacağız. GetAllSales stored procedure'ını aşağıdaki sql script'i ile oluşturabilirsiniz.


CREATE Procedure GetAllSales

AS

SELECT 
st.stor_name,
s.ord_num,
s.ord_date,
s.qty,
s.payterms,
t.title
FROM Sales s
INNER JOIN Stores st ON s.stor_id = st.stor_id
INNER JOIN Titles t ON s.title_id = t.title_id





Sales.rdl isminde yeni bir Reporting Services raporu oluşuturalım.

Veri setimizi oluşturan dataset ismi "pubs" olsun. Data source'u oluşturarak lokalinizdeki Pubs veritabanını gösterelim. "EXEC GetAllSales" sql komutu bu datasource üzerinde çalıştırılacak ve bize pubs datasetimizi döndürecek.

Reporting Services Shared Datasource oluşturmak ve Reporting Services Raporu oluşturmak ile ilgili olarak Shared Data Source Oluşturmak ve VS.NET 2003 Kullanarak İlk MS SQL Server 2000 Reporting Services Raporunuzu Oluşturmak adreslerindeki yazılardan yararlanabilirsiniz.

Data bölümünü bu şekilde tamamladıktan sonra Layout tab'ında raporu aşağıdaki gibi düzenleyebilirsiniz.

SQL Server Reporting Services Layout

Layout üzerinde bir tablo oluşturduk. Ardından Fields arasında bulunan sırasıyla stor_name, ord_num, ord_date, payterms, title ve qty alanlarını tablo üzerindeki kolonlara yerleştirelim.

Ardından "Insert Group" ile verilerimizi gruplayalım. table1_Group1 ismindeki grubumuzu Fields!stor_name.Value değerine göre oluşturalım.

Şimdi tablonun Detail .bölümüne iki yeni kolon daha ekleyelim. Bu kolonlar yukarıdaki resimde "Running Sum" ismi ile gösterilmiştir. İlk Running Sum kolonunun değerini =RunningValue(Fields!qty.Value, Sum, "table1_Group1") ile oluşturalım. Bu kolonda grup içinde qty (miktar) kolonunun değerleri toplanarak gösterilecek.

İkinci "Running Sum" kolonumuzun değerini de =RunningValue(Fields!qty.Value, Sum, "pubs") ile oluşturalım. Bu kolonda ise tüm rapor içindeki qty kolonu değerleri toplanarak gösterilecek.

 

Aşağıda Preview tab'ında çalıştırdığımız raporumuzu görebilirsiniz. Running Sum ismindeki kolonlardaki değerleri incelerseniz giderek artan değerleri görebilirsiniz.

SQL Server Reporting Services Running Sum

 

RunningValue fonksiyonunun sözdizimi aşağıdaki gibidir.

RunningValue(Expression, Function, Scope)

RunningValue fonksiyonunu kullandığımız iki kolondaki kullanımları incelersek Scope değerleri için bir kolonda pubs, diğerinde table1_Group1 değerlerini kullandığımızı görebilirsiniz. pubs verisetimizin tümünü yani raporumuzun hepsini ifade ederken, table1_Group1 ise stor_name değerine göre oluştuduğumuz grupları ifade etmektedir.

Fonksiyonumuz artarak giden bir toplama için Sum fonksiyonu olacaktır.

Expression ise Fields!qty.Value yani qty kolonundaki değerlerimizdir.



SQL Server

SQL Server 2019 Installation
download SQL Server 2019
download SQL Server 2017
download SQL Server 2016
download SQL Server 2014
download SQL Server 2012
MacOS ve SQL Server 2019


Copyright © 2004 - 2021 Eralper YILMAZ. All rights reserved.