Etiket Bulutu

Benchmark Convert_IMplicit Database High Availability Database Mirroring datawarehouse dimension table dmv Dynamic Data Masking Execution Execution Plans fact table Failover Cluster Node ekleme Failover Clustering FileStream generate script High Availability Implicit Instant File Initialization index Kinect Linux Live Query Statistics Log Shipping Mirroring object explorer object explorer details ODBC Driver pass performance performance tuning Plan Handle Planü Power View reporting services rol Row Level Security script sql serer 2016 sql server SQL Server 2008 SQL Server 2008 Log Shipping SQL Server 2012 SQL Server 2012 installation SQL Server 2012 Kurulumu SQL Server Backup SQL Server da Backup planı SQL Server da Maintenance Plans oluşturma SQL Server database mirroring SQL Server Disaster Recovery sql server dynamic management views SQL Server Failover Cluster SQL Server High Availability SQL Server Log Shipping SQL Server Maintenace Plans sql server performans SQLDIAG SQLDIAG Troubleshooting T24 Temenos truncate table t-sql unique index performance 1. Dünya savaşı istatistikleri 1456 451 ACID advanced analytics Advanced Data Analytics Affinity algı Alter index Alter table ALTER TABLE .. ALTER COLUMN Altın Oran Always On ALWAYSON AlwaysOnDemoTool amazon web services kinesis AMR analiz analysis service Ankara Antivirus apache kafka Arduino Article Assembly asymmetric audit Authentication Auto Growth Availability Group azure Azure Backup azure event hub partition azure event hubs azure event hubs servisi azure event hubs veri edinme Azure File Share Azure Fiyatlandırma Azure HDInsight Azure Hizmet Modelleri Azure ML Azure New Portal Azure Pricing Azure Queue azure sql database configuration azure sql database kullanımı azure sql database stream veriyi tutma azure sql database table partitioning Azure Storage azure stream analytics azure stream analytics dashboard azure stream analytics ölçeklendirilmesi azure stream analytics servisi Azure Table BA Backup backup encyrption backupset Bakım BASE bellek Best Practice BI Semantic Model Big Data Big User blocking blocking disable trigger blocking enable trigger Buffer Cache buffer pool Buffer Pool Extension bulk logged Buluta Veri Depolama Buluttaki Disk Business Analytics Conference business intelligence Büyük Veri Case Central Management Server certificate changed data capture Cloud Computing Cloud DR CLR Cluster clustered columnstore index Clustered Index Code Snippets Cold Purging collation column store column-level columnstore ColumnStore Indexes Compress ComputerNamePhysicalNetBIOS Concurrency Conditions Contained Database Contained Databases convert CONVERT_IMPLICIT Corruption Credentials cube DAC Dashboard Tasarımı data cleansing Data Compression Data Consistency Model data encryption data matching data mining Data Page data profiling data quality Data Services Data Warehouse Design Database database list Database Management Sistem database master key Database Mirroring Database Snapshot database trigger database-level Data-Ink Ratio datasets datasource DataZen date date dimension db_owner DBA DBCC dbcc dropcleanbuffers dbcc freeproccache DBMS dbo user DDL deadlock debugging DecryptByKey DecryptByPassPhrase deleted bitmap delta store Denali Denali SSAS deny database list deşifre detail index developer DIFFERENTIAL BACKUP DirectQuery Dirty Read Disaster Recovery Distribution Yapılandırma Distributor Distributor Agent dm_server_services DMF DMO DMV document db dosya bazlı şifreleme dqs dr Dynamic Management Function Dynamic Management Object Dynamic Management View ecrypt Effected Report Design Techniques Eğitim EncryptByKey EncryptByPassPhrase encryption endpoint Environment Variable error Error 5030 Error Log Estetik Raporlama Estimated Rows Eş Zamanlılkk Etkili Rapor Tasarlama Teknikleri Etkinlik ETL event Event Viewer except;intersect;sql execution Execution Plan export formats extended events Extended Stored Procedure Facets Failover Failover Cluster fast n execution plan FETCH NEXT FILELISTONLY FILLFACTOR File Table file-level FileStream Filter Pack Filtered Index First_Value Flat File fn_repl_hash_binary Focal Point foreignkey FORMAT Forwarded Record forwarded_record_count ftp task FULL BACKUP Full Recovery Full-Text Search functions Gartner Geocluster Gerçek Zamanlı Dashboard gestalt Golden Ratio görsel duyu group by Güvenlik ha Hadoop hafıza Hash HASHBYTES HEADERONLY headers footers Heap Hekaton hicri High Availability hijr Hiyerarşi Hybrid Cloud IaaS Index Index Scan In-Memory InMemory DW In-Memory DW InMemory OLTP In-Memory OLTP Internet of People Internet of Things IO IOT IoT nedir Isolation Level indeks index inmemory in-memory oltp internet of things isolation level istatistik istatistikler İş zekası İzolasyon Seviyesi Job json json support knowledge base kolon-satır bazlı kurulum küp Lag Lansman latch Lead linked server lock locking locking hints Log Backup Log Reader Agent Log Shipping login Lost-Update LQS Machine Learning Maintenance Management Studio matrix Max Text Replication Size mdx memory Memory Optimization Advisor Memory Optimized Table Memory Optimized Tables merge Merge Agent merge kullanımı Merge Publication Merge Replication merge type 1 slowly changing dimension merge type 1 slowly changing dimension örneği merge type 1 vs type 2 scd merge type 2 slowly changing dimension merge type 2 slowly changing dimension örneği merge type 3 slowly changing dimension merge type 4 slowly changing dimension message Microsoft Advanced Data Analytics Çözümleri microsoft azure Microsoft Bulut Microsoft Sanal Akademi Microsoft SQL Server Microsoft SQL Server 2014 Yenilikleri Microsoft SQL Server 2016 Mirror mirroring missing index Monitoring move Msdb multi_user multiversion concurrency control MVP MVP Roadshow MySnippet Named Pipes Natively Store Procedures Natively Stored Procedures Nesnelerin İnterneti Network Binding Order NoEngine Approaches nonclustered columnstore index Non-Repetable Read NoSQL NoSQL Approaches NoSQL Dünyası object explorer Odak Noktası ODBC Office 365 Offline OFFSET olap OLAP Backup OLE DB OLTP Online Index order attributes Otomatik Büyüme OVER PaaS PAD_INDEX page out page properties PAGE RESTORE PAGEIOLATCH paging parameters partition partitioning PASS PASS Summit PASS Summit 2014 Performance Performance Tuning performans performans tuning Phantom Read pivot Policies Policy Based Management Filtreleme Policy Management Power BI Power BI Dashboard Power BI Rest API power bi power view PowerBI PowerBI for Office 365 powerbi PowerMap PowerPivot PowerQuery powershell powershell ile sql yönetimi PowerView PowerView raporlarının web sayfalarına gömülmesi precon Primary Key primarykey Project Deployment Model Project Variable Protokol Proxy Proxy Account Publisher Purging on Independent Tables QL Server 2014 Yenilikleri Que Reader Agent Query Plan query store R Range Raporlama Raporlama Projeleri için Strateji Belirleme Raporlama Projelerine Hazırlık Read Committed Read Uncommitted RealTime Dashboard Rebuild RECONFIGURE RECONFIGURE WITH OVERRIDE Recovery model Relational Engine relationships Rename SSRS Database Repeatable Read Replication Replication Monitoring replikasyon report manager web site report parts reporting service reporting services reporting servis Resource Governor RESTORE Restore Database Restore Generate Restore Generate Script Restore transaction log rollback rs Rule of Thirds sa user SaaS sayfalama scd 3 demo scd karşılaştırma scd type 4 demo Scheduling Schema Comparison script Security segment elimination select into Self-Service BI Semantic Search Serializable Server Core SERVERPROPERTY Service services shared data sources shared datasets Shared Memory sharepoint Sharepoint 2010 ShowPlan Shrink simple recovery sing_user sliding window Slowly Changing Dimension snapshot Snapshot Agent Snapshot Publication Snapshot Replication Snippet snowflake sorting sp_configure sp_describe_first_result_set sp_server_diagnostics sp_spaceused sql SQL Agent Job SQL Azure sql bilgi yarışması SQL CLR SQL DIAG SQL DIAG Performans verisi toplama SQL endpoint SQL Login SQL Onculeri SQL Öncüleri sql script sql server SQL Server 2005 SQL Server 2008 SQL Server 2011 CTP3 SQL Server 2011 Denali SQL Server 2012 SQL Server 2012 CTP3 SQL Server 2012 RC SQL Server 2012 RC0 SQL Server 2012 ShowPlan Enhancements SQL Server 2012 T-SQL Enhancements SQL Server 2014 Sql Server 2014 Cardinality Estimator SQL Server 2014 Yenilikleri sql server 2016 SQL Server 2016 New Features SQL Server 2016 Yenilikleri sql server agent sql server assembly ekleme SQL Server Authentication sql server cast ve convert sql server clr integration sql server clr kullanımı sql server clr örnek sql server cluster SQL Server Code Name Denali SQL Server da Kullanıcı Yaratma SQL Server Database Project sql server dmv ve dmf sql server execution plan temizleme SQL Server Express Backup sql server fast n option örneği sql server fast n seçeneği SQL Server login sql server management stdio sql server merge into örnek sql server merge komutu sql server merge performnas sql server merge type 1 scd sql server merge type 2 scd sql server merge type 3 scd SQL Server Mobile Report Publisher SQL Server Network Interface SQL Server Onculeri SQL Server Öncüleri SQL Server Öncüleri Ankara SQL Server Performance sql server performans SQL Server Profiler SQL server recovery model SQL Server Reporting Services SQL Server Restore Generate Script SQL Server sa SQL Server Security SQL Server SQL DIAG sql server tarih dönüşüm işlemi sql server tarihsel veriler ile çalışma SQL Server User SQL Server yetki SQL Server yetkilendirme sql servera .net kodu ekleme SQL Serverda yetkilendirme nasıl SQL Serverda yetkilendirme nasıl yapılır sql to oracle linked server sql türkiye SQL User With Password sql yarışma SQLCMD sql'den oracle'a linked server SQLDIAG SQLDIAG Report SQLOS sqlsaturay SQLSaturday SQLSaturday #182 SQLSaturday #359 sqlsaturday #451 sqlserveronculeri ssas SSAS 2012 SSIS SSIS 2012 ssis SSMS SSMS Project SSMS Solution ssrs Stanby Database star schema STOPAT STOPBEFOREMARK STORAGE Storage Engine stored procedure stream analytics job subreports Subscriber Subscription subscriptions symmetric SYS sys.dm_db_index_physical_stats sys.dm_db_index_usage_stats sys.dm_db_missing_index_columns sys.dm_db_missing_index_details sys.dm_db_missing_index_group_stats sys.dm_db_missing_index_groups sys.server_principals sysadmin System Databases System View şifre şifreleme table table difference TableHasClustIndex TableHasIdentity TableHasPrimaryKey Tablet PC Tabular Mode Tabular Model TCP/IP TDE Tempdb time series Transaction Transactional Publication Transactional Replication Transparent Data Encryption trigger Troubleshooting TRY_CONVERT TRY_PARSE tsql t-sql T-SQL 2012 tsql mistakes Undocument union unionall Updatable ColumnStore İndex upgrade Veri ambarı veri edinme seçenekleri Veri Güvenliği Veri Hizmetleri Veri madenciliği Veri Mürekkep Oranı Veri Tabanı Yönetim Sistemleri Veri Tipi Veri Tutarlılık Modelleri Veri Yönetimi Evrimi verinin evrimi Veritabanı oluşturmak VERİTABANI YEDEKLEME STRATEJİLERİ veritabanı yedeklerinin şifrelenmesi Veritabanı Yöneticisi Veritabanı Yönetimi VeritPaq view any database Visual Studio VTYS web services Webcast Windows 7 Windows 8 Windows Authentication Windows Azure Windows Failover Clustering wmi WRITELOG xevents xp_sqlagent_enum_jobs YEDEKLEME STRATEJİLERİ Yedekli Çalışma Yetkilendirme Yiğit Aktan ysfkhvc yusuf kahveci Yüksek Erişilebilirlik Yüksek Süreklilik zip

Reporting Services - Bölüm 3

Ekleyen: Yavuz Filizlibay Mayasoft Dba Tarih:22.07.2014 Okunma Sayısı:4881


7 – PARAMETRELER:

Şu ana kadar oluşturduğumuz raporlarda parametre belirtmeden yaptık. Çoğu zaman raporlar için parametre diğer bir deyişle koşullar belirterek raporu almamız gerekecektir. Reporting Service de parametreler nasıl oluşturulur bunlara değineceğiz.

Parametreler, metin, sayı ve tarih gibi kriterlere göre belirlenebilir. Bir veya birden fazla parametreyi raporumuza ekleyebiliriz. Örnek olarak, x malzemesini 2005 yılının Ocak ve Mart aylarında kaç tane ve toplam satış tutarını seçebileceğimiz parametreler olabilir.

Parametleri VS Data Tools ile eklerken Query ekranında WHERE koşulu kullanacağız. Report Builder ile biraz daha son kullanıcıya hitap eden, filter alanından parametreleri ekleyeceğiz. Her iki arayzüz için örnek vereceğiz.

Yeni bir rapor oluşturuyoruz. Solution Explorer – Reports – Add New Reports
Data Source ekranında Edit diyerek, AdventureWorks2012 veritabanını seçiyoruz.
Design the query ekranında Query Builder’ı açıyoruz.
Üst kısımdaki boşlukta sağ tıklayarak Add Table diyoruz.
Product (Production) tablosunu ekliyoruz.

SSRS-162
ProductID, Name, Color ve ListPrice alanlarını seçelim. Aliasları aşağıdaki şekildeki yazıyoruz.

SSRS-163
Tabular seçili olarak kalıyor, devam ediyoruz.
Desing the table ekranında tüm alanları details kısmına ekleyip devam ediyoruz.

SSRS-164
Herhangi bir stil seçiyoruz.
Rapor adı yazıp, Finish ile tasarım ekranına geliyoruz.
Raporumuz oluştu, Datasets altında Dataset1’e sağ tıklayıp Query penceresini açıyoruz.

SSRS-165
Sorgu kutusuna FROM bölümünün altına WHERE koşulunu yazacağız. ProductID numarasına göre parametre vermek istediğimiz için ilk önce parametre verilecek alan adı, sonra parametre koşulu ( =, <, >, LIKE v.b.), en sona da parametre ismini yazacağız (@Parametreadi).

SSRS-166
Sorguyu kontrol etmek için Execute dediğimizde karşımıza parametre soran bir ekran getirecektir.

SSRS-167
Ok diyerek Query desinger ekranını kapatıyoruz.
Parameters kısmına baktığımızda, oluşturduğumuz parametrenin geldiğini görüyoruz.

SSRS-168

Raporu çaıştırdığımızda, parametre kutusu gelmektedir, bu alana parametreyi yazarak istediğimiz Urun ID yi yazarak çalıştırıyoruz.

SSRS-169
7 – 1 Çoktan Seçmeli Parametreler:
Bu şekilde parametreli olarak rapor almak için, Urun ID sini ezbere bilmemiz veya bir listeden bakmak gerekiyor. Çoktan seçmeli olarak parametreleri ayarlayabiliriz. Bunun için bir dataset daha ekliyoruz, bu dataset te ProductId ve İsimleri bulunacak.
Datasets – New Dataset
Dataset ismine KategoriveNo diyoruz. Eğer dataset isimlerine anlamlı bir isim vermez iseniz, daha sonradan birden çok datasetle çalıştığınızda karmaşıklık olacaktır.
DataSource1’i seçiyoruz.

SSRS-170
Query Designer’ı açıp, en üstteki alanda sağ tıklıyoruz, Add table’dan, ProductCategory (Production) tablosunu ekliyoruz.

SSRS-171
ProductCategoryID ve Name alanları seçip, Ok ile devam ediyoruz.

SSRS-172
Dataset Properties ekranında Ok ile çıkıyoruz. Datasets altına diğer dataset KategoriveNo geldi. Şimdi parametremizin özelliklerine gidip, sorgudan parametre çekme işlemini yapacağız.

SSRS-173
Report Parameter Properties – Available Values sekmesinde Get Values From a Query’i seçiyoıruz.
Dataset olarak KategoriveNo
Value Field ProductCategoryID
Label Filed olarak ta Name’i seçiyoruz.
Burada label field kısmına Name (isim) seçmemizdeki amaç, ID nolarına göre değil de, kategori isimlerine göre parametreleri seçmek istememizdir, daha öncede belirtiğimiz gibi, Id numaralarını ezberlemek veya farklı bir yerden bakmak yerine, akılda kalıcı olan isimleri parametre olarak kullanmak daha mantıklı olacaktır.

SSRS-174
Preview ile raporumuzu aldığımızda, parametre olarak kategori id leri yerine kategori isimleri geldi.

SSRS-175
7-2 Tarih Aralıklı Parametreler:
En çok gereken parametrelerden biridir, tarih aralığı raporlarda en fazla istenen parametredir.
Yapacağımız örnekte, 3 farklı tablodan veriler getirip, bu verileri tarih parametresi ile rapora nasıl yansıtacağımızı göreceğiz.
Solution Explorer- Reports – Add New report, hoşgeldin ekranını geçiyoruz.
Datasource’u ayarlıyoruz, yukarıda verisetlerinin detaylı anlatımı olduğundan her  defasında detaya girmiyorum.

SSRS-176
Desing The Query – Query Builder
Üstteki alanda Add Table kısmından; SalesOrderHeader (Sales) – SalesOrderDetail (Sales) ve Product (Production) tablolarını ekliyoruz. SalesOrderID alanları otomatik olarak eşleşti, Product tablosu ile de ProductID alanı eşleşti.
SalesOrderHeader tablosundan, SalesOrderNumber, OrderData, ShipDate ve TotalDue alanlarını,
SalesOrderDetail tablosundan, OrderQty ve ProductID alanlarını,
Product tablosundan da, Name ve ProductNumber alanlarını seçiyoruz.
Alias takma isimleri aşağıdaki gibi düzenliyoruz ki raporda sütun başlıkları anlaşılır bir şekilde gelsin.

SSRS-177
Report Type’ı tabular seçiyoruz.
Design The Table ekranında, UrunNo’ya göre gruplama yapalım, geri kalan alanları Details bölümüne yerleştiriyoruz.

SSRS-178
Table Layout stepped olarak bırakalım.
Herhangi bir style seçip devam ediyoruz.
Rapora bir isim verip Finish ile sonlandırıyoruz.
Raporumuz UrunNo gruplu bir şekilde oluştu. Preview diyerek çalışıp çalışmadığını kontrol edelim.

SSRS-179
Tarih aralıklı parametremizi atamadan önce Sipariş ve Sevk Tarihini kendi bölgemizde kullandığımız şekilde, Gün/Ay/Yıl olarak ayarlayalım. Bunun için Tarih alanının üzerinde sağ tıklayarak Text Box Properties ekranını açıyoruz.

SSRS-180
Sayısal olarak istediğimiz Gün/Ay/Yıl formatı gözükmüyor. 01/31/2000 tipini seçiyoruz, daha sonra Category kısmındaki Custom’a tıklıyoruz. Aşağıdaki şekilde gösterdiği gibi, MM ile dd nin yerlerini değiştirecek şekilde düzenlemeyi yapıyoruz.

SSRS-181
Aynı işlemi Sevk Tarihi içinde yapıyoruz. Preview yaptığınızda tarihlerin gün-ay-yıl olarak geldiğini göreceksiniz.
Tarih parametresi eklemek için Dataset – Dataset üzerinde sağ tıklayarak Query penceresini açıyoruz.

SSRS-182
Sorgunun FROM kısmından sonra WHERE koşulu yazarak tarih parametresi ekleyeceğiz.
WHERE        (Sales.SalesOrderHeader.ShipDate BETWEEN @BasTarih AND @BitisTarih) Where koşulunu sorgu alanına ekledikten sonra, kontrol amaçlı sağ tıklayarak Execute SQL diyoruz.

SSRS-183
Koşulu yanlış yazsaydık eğer hata verecekti, Query Parameters ekranı açıldı. 2005 yılına ait satışları sorgulamak için BasTarih’e 1.1.2005 BitisTarih’e de 31.12.2005 yazalım.

SSRS-184
Sonuç ekranına 2005 yılına ait satışlar geldi, parametrelerimiz ve sorgumuz düzgün çalışıyor.

SSRS-185
Şimdi desing ekranına gelelim, preview ile raporu çalıştıralım. Görüldüğü gibi, tarih alanları text olarak geldi, bu şekilde tarih yazmak uzun sürecektir.

SSRS-186
Takvim üzerinden tarihi seçmeli yapmak, hem görsel açıdan hem de kullanım açısından daha iyi olacaktır. Parameters alanından BasTarih parametresinin özelliklerine giriyoruz.General sekmesinde aşağıdaki şekildeki gibi Data Type’ı Date/Time seçiyoruz.
Raporda gözüken isminide Prompt kısmından değiştiriyoruz.

SSRS-187
Aynı işlemi BitisTarihi parametresi içinde yapıp, preview ile raporu çalıştırıyoruz.
Parametrelerin yanına takvim butonları otomatik olarak eklendi, takvim ekranları sayesinde istediğimiz tarihi kolay seçebiliyoruz.
Ocak – Aralık 2007 arası tarihi seçtikten sonra raporu çalıştıyoruz.

SSRS-188

7 – 3 Report Builder’da Parametre Ekleme:
Report Builder’da nasıl parametre eklenir buna bakacağız. Boş bir rapor açıyoruz. Datasource’u Adventureworks2012 olarak ayarladıktan sonra, Dataset’i aşağıdaki şekildeki ayarlıyoruz. Product ve ProductInventory alanlarından istediğimiz alanları seçiyoruz.

SSRS-189
Relationships sekmesi en sağdaki aşağı bakan oklara basarak genişlettiğimizde, her iki alanda da ProductID alanı ortak alan olduğundan ve AutoDetect seçili durumda olduğu için, iki tabloyu otomatik olarak birleştirdi, eğer ortak bir alan olmaz ise bu işlemi kendimiz yapmalıyız.

SSRS-190
Parametre atama işlemini Applied filters kısmından yapıyoruz. Filtre ikonuna tıkladığımızda otomatik olarak algıladığı ortak anahtar alanını filtre olarak bizlere getirecek.

SSRS-191
Bu alanda en sağda Parameter kutusunu işaretlediğimizde, bu filtre artık parametre olarak çalışacaktır. Value kısmında da istersek varsayılan bir değer atayabiliriz. Raporu her aldığımızda ilk önce bu varsayılan değere göre rapor alır, daha sonra istediğimiz parametre girerek yeniden View Report dediğimizde istenen değere göre verileri getirir. Örnek verirsek, varsayılan olarak geçen senenin raporu ilk önce gelsin diye bir istek gelebilir, Value kısmına 2013 yazarak ilk önce geçen senenin verilerinin getirilmesini sağlayabilirsiniz.

SSRS-192
Dataseti oluşturduk, boş rapor ekranında, Insert menüsünden Table Wizard ekliyoruz.

SSRS-193
Choose a Dataset ekranında oluşturduğumuz Dataset1’i seçip devam ediyorız.
Details kısmına alanları aşağıdaki ekleyip devam ediyoruz.

SSRS-194
Choose a layout ekranında seçenekler pasif geldi, çünkü satır veya kolon tarafında bir gruplama yapmadık.
Herhangi bir style seçip devam ediyoruz. Rapor oluştu, parameters klasörünü altına parametremiz geldi.


SSRS-195

8 – VERİLERİ SIRALAMA – İNTERAKTİF SIRALAMA:

Raporların daha okunabilir olması için verilerin büyükten küçüğe veya küçükten büyüğe sıralanması gerekmektedir. Reporting service’te veriler ister Query ekranında Order by koşulu ile, istersek de Tablo özelliklerinden Sorting bölümünden sıralmasını yapabiliriz. Ayrıca rapor çalıştıktan sonra da interaktif olarak rapor başlıklarına atanan butonlar ile interaktif sıralama yapabiliriz.

8 – 1 Tablo İçerisindeki Verileri Sıralama:

Tablo içindeki verileri sıralamak için ilk önce AdventureWorks veritabanındaki Person tablosundan isim ve soyisimleri kapsayan basit bir rapor hazırlayalım.
Yeni rapor dedikten sonra, Query ekranında Person (Person) tablosunu ekleyerek alanları aşağıdaki gibi ayarlıyoruz.

SSRS-196
Tabular rapor olarak seçip devam ediyoruz, Desing the table ekranında üç alanıda detail bölgesine getiriyoruz. Rapora isim verip, tasarım ekranına geliyoruz.
Preview yaptığımızda isimlerin karışık bir şekilde geldiğini görüyoruz.

SSRS-197
Tablix özelliklerini açmak için, tablonun üzerine bir kere tıkladıktan sonra, sol ve üst tarafta açılan kenarların köşesinden sağ tıklayıp, Tablix Properties penceresini açıyoruz.

SSRS-198
Sorting sekmesine gelip, Add ile boş bir alan ekliyoruz. Hangi alana göre sıralama yapılacak ise Sort by kısmından ilgili alanı seçiyoruz. Sıralamanın büyükten küçüğe olması için Order kısmında Z-A olarak, küçükten büyüğe olacak ise A-Z olarak seçiyoruz.

SSRS-199
İsime göre küçükten büyüğe sıralamayı oluşturduk.

SSRS-200

8 – 2 İnteraktif Sıralama:

İnteraktif sıralama, raporu çalıştırdıktan sonra veri kolonlarını sıralamayı sağlayan rapor içi çalışan bir özelliktir. Üst tarafta oluşturduğumuz personel isimleri raporu üzerinde interaktif sıralamayı görelim.
Reporting Service’te tablixlerin içindeki hücrelere bir kere tıkladığınız da Textbox’ı seçer, ikinciye tıkladığınızda da Selected Text yani hücre içindeki yazıları seçer. İnteraktif sıralama yapmak için, bir kere tıklayarak Textbox’ı seçmemiz ve sağ tıklayarak Text Box Properties özellikler penceresini açmamız gerekmektedir. HÜcreye yanlışlıkla iki kere tıkladıktan sonra sağ tıklama menüsü değişir.
Name Text box’ına sağ tıklayarak Text box Properties özellikler ekranını açıyoruz.

SSRS-201
Interactive sorting sekmesinde, Enable interactive sorting on this textbox seçeneğini işaretliyoruz. Sort by kısmından da ilgili alanı seçiyoruz. Bu sıralamanın diğer tablo ve verisetlerini de kapsamasını istiyorsak aşağıdaki Apply this sorting to all groups and data regions in seçeneğinden ayarlamamız gerekiyor.

SSRS-202
Aynı işlemi soyadı alanı içinde yapıyoruz.
Preview ile raporu çalıştıralım, ad ve soyad alanlarının yanında yukarı ve aşağı doğru sıralama butonları geldi. İsime göre büyükten küçüğe sıralama yapalım.

SSRS-203
Soyadına göre küçükten büyüğe sıralama yapmak için Soyad’ın yanındaki butona tıklıyoruz.

SSRS-204

9 – BAĞLANTILI  RAPOR OLUŞTURMA:

Reporting Service raporlarında bir rapordan diğerine bağlantı vererek, raporlar arası geçiş yapılabilmektedir. Özet bir tablo üzerindeki satırlardan, her bir satırdaki verinin bağlı olduğu detaylı rapora ulaşmak mümkündür. Text box özelliklerinden Action menüsündeki Go to Report seçeneği kullanılarak diğer rapor geçiş sunmaktadır. Bir örnek ile daha detaylı anlamaya çalışalım.
Solution Explorer – Reports – Add new reports.
Dataset olarak Adventureworks veritabanını seçiyoruz.
Query Designer – Add Table ProductCategory (Production) tablosunu ekleyip, ProductCategoryID ve Name alanlarını seçiyoruz.

SSRS-205
Report Type – Tabular
Design the table – Sadece name kısmını detail bölümüne getirip devam ediyoruz.
Table Style – Generic seçiyoruz
Rapor ismi veriyoruz – Finish
Kategoriler raporu olarak ana ürün kategorileri raporunu oluşturduk.

SSRS-206
Preview ile raporu çalıştırıp, kontrol edelim.

SSRS-207
Name alanına sağ tıklayıp, Text box özelliklerini açıyoruz. Action sekmesinden “Go to Report” seçeneğini seçip, daha yapmış olduğumuz Parametreli Raporu seçiyoruz.

SSRS-208
Use the parameters to run the report bölümünde Add diyerek, yeni bir parametre ekliyoruz. Eğer burada parametre eklemez isek, bağlantılar çalışmayacaktır. Bu parametrelere göre ikinci rapor bağlantıları çalışacaktır. Name kısmında UrunID, parameter kısmında ise ProductCategoryID yi seçiyoruz.

SSRS-209

Raporu preview ile çalıştırdığımızda, görünüşte bir fark olmadı. Kategorilerin üzerine gelince tıklanabilir özelliği aktif oldu. Kategoriler tıkladığımızda karşılık gelen parametreli rapor otomatik olarak açılıyor.
  
SSRS-210

Kategorilerin tıklabilir olduğunu daha iyi gösterebilmek için, web Url görünümünde, karakter rengini mavi ve alt çizgili olarak ayarlıyoruz.

SSRS-211
Kategorilerin son halini görmek için previewi çalıştırıyoruz.

SSRS-212

10 – REPORT PARTS:

Report partlara rapor parçaları da diyebiliriz. Oluşturduğumuz raporlardaki tablo, rectangle, parametreleri v.b. publish (yayınla) yöntemi ile, farklı raporlarda da kullanabilmemizi sağlayan bir özelliktir.
Örnek olarak, fatura üzerinde adres bilgisi içeren bir textbox’ı irsaliye ve diğer raporlarda da kullanabilmeniz için, bu adres textbox’ını report parts’a publish ederek diğer tüm raporlarınıza çağırıp kullanabilirsiniz. Daha önce oluşturduğunuz bir tabloyu farklı bir raporda da kullanmak için, tabloyu tekrardan kullanmanıza gerek kalmadan report part’tan kullanabilirsiniz.
Birbirine benzer raporlar yapmaya başladığınızda çok sık kullanacağınız bir özelliktir. Rapor oluşturma sürecinde sizi hata yapmaktan ve zaman kaybından kurtaracaktır.
Report part’tan eklediğiniz bir nesnenin, datasource ve dataset’i otomatik olarak oluşur, tekrardan datasource ve dataset eklemenize gerek kalmaz.
Report  partlar, Reporting Service’in Report Manager dediğimiz web arayüzünden açılan, “Report Builder” programı ile açılır, makalenin başında Report Builder ile örnekler vermiştik. Report partlarda Report Builder programı ile oluşturulduğu için Report partlar nasıl oluşturulur, nasıl kullanılır örneklerle anlatmaya çalışalım.

Report Builder programını açıyoruz. Şekil SSRS-58.
Daha önce oluşturduğumuz parametreli raporu open ile açıyoruz.

SSRS-213

SSRS-214
Raporun sağ tarafına adres bilgisi içiren bir textbox ekliyoruz.

SSRS-215
Menü butonuna tıklayarak, Publish Report Parts’ı açıyoruz.

SSRS-216
Karşımıza iki seçenek geliyor, “Publish all report parts with default settings” tüm rapor bölümlerini varsayılan ayar kullnarak yayınla. Diğer seçenek, “Review and modify report parts before publishing” rapor bölümlerini gözden geçirip ve düzenleyip yayınla seçeneği geliyor. İkinci seçenek ile devam edeceğiz, hangi bölümleri alacağımıza karar verip daha sonra yayınla diyeceğiz.

SSRS-217
Yayınlanacak bölümler ekrana geliyor, fakat burada adres textbox’ı gelmedi. Textbox’lar tek başlarına report part olamazlar. Report olabilmeleri için Rectangle içinde Insert – Textbox diyerek oluşturulmaları gerekmektedir.

SSRS-218
Adres alanında gelmesi için Close diyerek Report parts ekranını kapatıyoruz. Insert – Rectangle diyoruz, rectangle’ın içinde sağ tıklayarak Insert – Textbox diyerek adres alanını bu textboxın içine yazıyoruz.

SSRS-219
Tekrardan publish report parts – review and modify parts bölümüne gidiyoruz. Adres textbox’ı report parts olarak geldi.

SSRS-220
Report part isimlerinin yanında oka tıklayarak açıklama bölümünü ve report partı hangi klasöre kaydeceğimizi seçebileceğimiz ekranı açıyoruz. Report part hakkında bir açıklama yazarak daha sonra hatırlamansı kolay olacaktır.

SSRS-221
Publish diyerek report partları servera yüklüyoruz. Sorunsuz bir şekilde publish edildi, report partların ikonları değişti, puzzle parça ikonuna benzer bir ikon eklendi.

SSRS-222
Report partları yükledik, şimdi report partları nasıl kullanırız bunu görelim. Sol üstteki menü butonuna tıklıyoruz,New diyerek yeni bir blank-boş rapor oluşturalım.

SSRS-223
Insert sekmesine gelerek, Report Parts’a tıklıyoruz. Yan tarafta Report Part Gallery açıldı.

SSRS-224
Çok fazla report part olacağı düşünülerek, arama kutusu konulmuş, Report Part Gallery ilk açtığımızda daha önce kaydettiğimiz report partlar gelmiyor. Tüm report partları görmek istiyorsak arama butonuna tıklayarak hepsini getirebiliriz veya aradığımız report partın adını girersek ilgili report part gelecektır. Arama butonuna tıklayarak tüm report partları getirelim.

SSRS-225
Tüm report partlar geldi, table1 ve Rectangle3-adres nesnesini sürükleyip raporun içine bırakıyoruz.

SSRS-226
Table report  partını sürükleyince, otomatik olarak Datasource ve Dataset oluşmuş oldu. Run’a tıkladığınızda raporun çalıştığını göreceksiniz. Report parttaki nesnelerde bu bilgiler olduğu için, tekrardan oluşturmaya gerek kalmıyor. Report partlar benzer rapor oluşturmada veya benzer nesnelerin kullanıldığı raporlarda kullanıcılara zaman kazantırmakla beraber hata yapma olasılığını da en aza indirgemektedir.


11 – SUBREPORTS:

Subreports alt rapor anlamına gelmektedir. Rapor içine daha önce oluşturulmuş bir raporu ekleyebilmenize imkan verir. Daha önce yapılmış bir raporu, yeniden oluşturmak yerine subreport seçeneği ile yeni rapora dahil edip kolaylık sağlamaktadır.
Subreport nasıl eklenir, nasıl kullanılır açıklmaya çalışalım.
Yeni bir blank report oluşturuyoruz.

SSRS-227
AdventureWorks data source’unu oluşturuyoruz.

SSRS-228
Dataset olarak Production – ProductCategory tablosundan ProductCategoryID ve Name alanlarını ekliyoruz. Kontrol amaçlı Run Query’e tıklayıp, sonuçları aşağıda görmemiz gerekiyor.

SSRS-229
Insert menüsüne gelerek rapora bir List ekliyoruz. List bulunduğu bölgedeki verileri sürekli olara sunan bir yapıya sahiptir, veri listeside diyebiliriz. List in alanını bir sayfa kadar geniş bırakırsak eğer her sayfaya bir kayıt gelecek şekilde ayarlar.

SSRS-230
Name alanını list içine sürükleyip bırakıyoruz. Yazı boyutunu biraz büyütüp, Bold yapıyoruz.

SSRS-231
Run diyerek, kategorilerin sayfada nasıl durduğuna bakıyoruz.

SSRS-232
Kategoriler arasında eşit seviyede aralık oluşturmuş olduk, bu boşluk kısma şimdi subreport ekleyeceğiz. Insert Subreport butonuna tıklıyoruz. Buton rengi turuncu oldu, Name alanının altına subreportu genişleterek ekliyoruz.

SSRS-233
Subreport alanını belirttik, önceden oluşturulmuş olan bir raporu subreport olarak belirtmemiz gerekiyor. Reporting service’te subreport mantığı bu şekilde çalışmaktadır. Eş zamanlı rapor oluşturup, birini subreport olarak ayarlanmasına izin vermiyor.
Subreport üzerinde sağ tıklayarak Subreport Properties – özellikler ekranını açıyoruz.

SSRS-234
Name kısmından subreport’a isim verebilirsiniz, birden çok subreport kullanılacak ise anlamlı bir isim vermek önemlidir.
“Use this report as a subreport” bölümünde “Browse”a tıklayarak, ekleyeceğimiz subreport’u seçiyoruz.
Daha önce kategorilerin olduğu parametreli raporu subreport olarak ekliyoruz.

SSRS-235
Daha önceden oluşturduğumuz parametreli raporu seçiyoruz.

SSRS-236
Properties ekranında Parameters sekmesine gelip, subreport’u çalıştıracak parametreyi ilişkilendiriyoruz. Ana rapor ile subreport arasında bir ilişki yok ise subreport çalışmayacaktır.


SSRS-237
Run diyerek raporu çalıştıralım.

SSRS-238
Rapor ana kategoriler üstte olmak üzere, altında da subreport gelmiş gözüküyor. Subreportlar daha önce hazır olan raporları kullandığından bizlere hız ve kolaylık sağlamaktadır, ayrıca karmaşık raporlarda tablo karışıklığınında önüne geçilmiş olur.
 


yorum yaz

Üye Girişi

Kullanıcı Adınız

Şifreniz

Şifremi Unuttum

Arkadaşına Tavsiye Et

Tavsiye edebilmek için siteye giriş yapmalısınız