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 1

Ekleyen: Yavuz Filizlibay Mayasoft Dba Tarih:07.07.2014 Okunma Sayısı:12932


 

Birçok işletmede kullanılan Erp ve muhasebe programlarının kendilerine özgü raporlama araçları vardır. Çoğu Erp programlarında kendi raporumuzu yapacak araçlar mevcuttur. Programa özgü olan bu araçların izin verdiği sınırlar içerisinde raporlar yapılır. Farklı programların farklı veritabanları ile rapor yapmak istediğimizde ise bu araçların yetersiz kaldığını, sadece kendi veritabanlarındaki veriler ile rapor yapmamıza müsade ettiğini görmekteyiz. Bu konuyla ilgili farklı firmaların çözümleri mevcuttur. Bu makalemizde Sql Server ile beraber gelen, ek bir maliyet gerektirmeyen Reporting Services konusunu işleyeceğiz.

Bu makaleyi okumadan önce , ufak birkaç açıklama yapmak istiyorum. İşletmelerde raporlama ile ilgili kapsayıcı bir platform yok ise, genelde bu iş Excel programı ile halledilmeye çalışılır. Excel programının da belli bir kapasitesi olduğundan, çoğu zaman bizlere sıkıntılar çıkartmaktadır. Benim gibi Sistem kökenli veya Bilgi İşlemci arkadaşlar da Sql Server’da rapor hazırlamaya ön yargı ile bakmaktadır. Makaleyi bir sistemcinin T-Sql (Sql sorgulama dili) bilgisi olmadan anlayabileceği bir dilde anlatacağım. Daha konunun başında gözünüz korkmasın diye bu açıklamayı yapma ihtiyacı hissettim. Reporting Services konusu genelde yazılım ağırlıklı olduğu düşünülerek, çoğu sistemcinin göz ardı ettiği bir konudur. İşletmenize ait raporları kendiniz yaparak, önce bölümünüze ve sonra da diğer bölümlere katma değer katabilirsiniz. Reporting Services raporlarındaki sorgular kısmında, başlangıç seviyesindeki arkadaşlar için Sql içindeki viewleri kullanacağız, bu sayede yazılım bilgisini minimum seviyede tutarak, Reporting Services ta bir başlangıç yapmış olacağız. Bu makaleyi yazmaktaki amacım, sistemci olup raporlama konusunda kendisini geliştirmek isteyen arkadaşlar içindir. Bu konuda ilerlemek isteyen arkadaşlar, ilerki aşamada Transact Sql dilini öğrenmelerinde fayda vardır. Raporlara gelen veriler birer sorgu olduğu için T-Sql ile karmaşık sorgulara ihtiyaç duyabilirsiniz.

Makaleyi, Vmware üzerine kurulu Server 2012 R2 işletim sistemde ve bu konuda bir bilgisi olmayan birine anlatır gibi anlatacağım. İlk önce Reporting Service’in kurulum aşamalarına, daha sonra da yapılandırma ayarlarına bakacağız. Ardında rapor oluşturma işlemlerine geçerek ilerleyeceğiz. Sizler de ilk önce test ortamında denemeler yapıp, daha sonra gerçek sisteminiz üzerinde uygulamanızda fayda var.
Reporting Service’i adım adım anlatarak, yapılması gerekenleri test ederek makaleyi anlatmaya çalışacağım. Sıfırdan bir rapor oluşturmak için hangi aşamalardan geçiliyor, bir rapor örneği yaparak, bu raporu web arayüzüne nasıl yükleneceği konularına değineceğiz.

Makalede kullanılacak kısatlmalar:

  • SSRS: Sql Server Reporting Server
  • SSMS: Sql Server Management Studio
  • RDL: Report Definition Language (Rapor dosya uzantısı)
  • XML: Extensible Markup Language
  • VS: Visual Studio
  • Rep.B.: Report Builder
  • BIDS: Business Intelligence Development Studio

Microsoft ilk olarak Sql 2000’de Reporting Service’i duyursa da, tam olarak Sql 2005 versiyonunda sunulmaya başlandı. Microsoft’un esas amacı bir raporlama standartı getirmekti. Reporting Service’in genel yapısı XML şeması üzerine kurulu RDL (Report Definition Language) dosyalarıdır. Bu standardizasyon sayesinde RDL dosyaları, Sql kurulu tüm ortamlarda kullanılabilmektedir. Rapor görüntüleme aracı olarakta web tabanlı bir hizmet sunmaktadır. Bu sayede ek bir progama gerek kalmadan web ortamından raporlara erişilebilmektedir.

 

Reporting Service’in Faydaları:
- Standart bir platform olması: Visual Studio arayüzü sayesinde raporlama dosyalarında standart bir yapı oluşmaktadır. Farklı bir ortamda rahatlıkla çalışabilinecek esnekliği sunmaktadır.
- Maliyet: Sql Server ile birlikte entegre olarak gelmektedir. Rep. Service için ekstra bir lisans ödemesi yapılmamaktadır.
- Web tabanlı yapısı: Web tabanlı raporlama çözümüdür. Tek bir merkezden tüm kullanıcılara web üzerinden (şirket içi lokal ağ) ulaşılabilmektedir. Http ve Https protokollerini desteklemektedir. İstenirse Rep. Service internete açılıp dışardan erişim sağlanabilmektedir.
- Düzenlenebilir yapıya bir sahip olması: Rep. Service .Net alt yapısına sahip olduğundan, programcılar tarafından düzenlenebilir bir yapıya sahiptir. İstenirse :net tabanlı bir programa rahatlıkla entegre edilebilir.
- Bildirimler: Rep. Service’te hazırlanan raporlar, kullanıcılara saatlik, günlük, aylık veya yıllık periyodlarda mail veya dosya paylaşımı olarak gönderilebilmektedir. Raporlar kullanıcılara zamanlanmış görev olarak kullanıcılara gönderilebilmektedir.

 

SSRS_Mimarisi:                                                                                                                                                                  

  • SSRS Veritabanları: Reporting Server kurulurken <ReportServer> ve <ReportServer_TempDB> adında iki tane veritabanı kurar. Bu veritabanlarını farklı bir Sql Server’a mı yoksa Rep. Service’in kurulacağı servera mı kurulacağı seçilebilmektedir. Bu iki veritabanı, SSMS’teki diğer veritabanları gibi yedeklenip geri yüklenebilirler. <ReportServer> veritbanında Rdl dosyaları, klasör yetkileri ve log kayıtları tutulmaktadır. <ReportServer_TempDB> veritabanında ise, raporlara ait önbellek kopyalarının tutulduğu yerdir. TempDB, birden fazla kullanıcının kullandığı raporlarda performans arttırmaktadır. Örnek vermek gerekirse, A raporunu ilk alan X kullanıcısı 2 dakika beklemektedir, daha sonra aynı raporu Y kullanıcısı aldığında 5-10 saniye arasında bekleyecektir. Bu örnek rapordaki verilerin yapısına göre değişiklik göstermektedir. Süreleri fikir vermesi açısından belirttim.
  • SSRS Report Server: SSRS’deki en önemli roldür. Kullanıcı ve Rep. Service’in ortasında çalışır. Gelen kullanıcı isteklerine cevap verir. Raporların zamanlama ve mail ile gönderilme işlerine bakar.
  • SSRS Web Servis Arayüzü: Visual Studio ve Rep. Builder ile hazırlanan raporlar web arayüzüne yüklenir. Raporlara web arayüzünden erişim sağlanır. İlave bir programa gerek duyulmadan, Internet Explorer aracılığı ile raporlar görüntülenir.
  • Kimlik Doğrulama Katmanı: Raporlara kimler, nereye erişsin ve yetkilendirme için kimlik doğrulama katmanı kullanılmaktadır. Active Directory ile uyumlu çalışmaktadır. Yetki verilmek istenen kullanıcının domaindeki adı yazılar, nasıl bir erişim isteniyor ise SSRS içindeki rolü seçilir.
  • Rapor İşlemcisi: Tüm rapor isteklerinden sorumludur. Web arayüzünden talep edilen raporlar ile veritabanı arasındaki işlemleri sağlar.
  • Veri Kaynakları: Rep. Services 12 farklı veri kaynağını desteklemektedir. Sql server dışındaki farklı veri kaynakları bir raporda birleştirilebilir. Rapor işlemcisinden gelen istekler Veri Kaynağı İşlemcisine (Data Processin) gelir. Burada ilgili sorguyu bulduktan sonra Rapor işlemcisine geri gönderilir.

Desteklenen Veri Kaynakları aşağıdaki gibidir;


1. Sql Server
2. Oracle
3. OLE DB
4. OLEDB-MD
5. ODBC
6. XML
7. SAP BI Netwever
8. Hyprion Essbase
9. Teradata
10. Microsoft SQL Azure
11. Microsoft Sql Server Parallel Data Warehouse
12. Microsoft Share Point List

- Rapor Formatları: Rapor formatlarının genel ismi Report Page Layout (RPL) dur. Desteklenen formatlar aşağıdaki gibidir.

  • HTML: Varsayılan görüntüleme formatıdır. Html 4.0 ve 3.2’yi desteklemektedir. Chrome için özel ayar yapılması gerekmektedir.
  • PDF: Acrobat Reader formatında raporları export edebilir. Bu özellik için Adobe lisansına gerek kalmadan export edebilmektedir.
  • Excel: SSRS 2008 Excel 97-2003 arasında formatları destekler. SSRS 2012 Excel 2007 – 2012 (.xlsx) formatlarını desteklemektedir.
  • XML: Farklı uygulama ve servislerin kullanılabilmesi için Xml desteklenmektedir.
  • MHTML (MIME HTML): Bu format web arşivlemede kullanılabilmek içindir.
  • TIFF: Tiff görüntü formatı, raporun büyüklüğü farketmeden ekran görüntüsü alıyor gibi resmini çekip, aktarılabilecek bir formattır.
  • Microsoft Word: SSRS 2008 Word 97 – 2003 (.doc) formatını, SSRS 2012 hem (.doc) hem de Word 2007 – 2010 (.docx) formatlarını desteklemektedir.

- Zamanlanmış Bildirimler: SSRS’te oluşturduğumuz raporları, kullanıcılara belirlenen zamanlarda mail veya dosya paylaşımı olarak gönderilmesini sağlar. Mail ile bildirimin çalışması için Sql Agent servisinin çalışması gerekmektedir.
Kullanıcı Uygulamaları:
Reporting Services’te temel olarak 4 farklı kullanıcı uygulaması vardır.
- Report Manager: Web arayüzünden raporları görebildiğimiz ve yetkiler verdiğimiz ekrandır.
- Business Intelligence Development Studio (BIDS): Raporları hazırladığımız Visual Studio arayüzlü tasarım ekranıdır. Visual Studio’nun tüm fonksiyonları bu versiyonda mevcut değildir.
- Report Builder 3.0: BIDS’in alternatifidir, son kullanıcı için tasarlanan, rapor oluşturma programıdır. Web arayüzünden ulaşmak için kısayolu vardır. BIDS’teki neredeyse tm özellikler Report Builder’da mevcuttur.
- Reporting Services Configuration Manager: Reporting Services ile alakalı konfigürasyon ayarlarının yapıldığı yönetim ekranıdır. Web arayüz erişim adresleri, hesap ayarları gibi ayarlar buradan yapılır.

Bu makale 17 bölümden oluşmaktadır, 4 Bölüm halinde sunulacaktır.

1. Reporting Service Kurulumu
2. Rapor Oluşturma (İlk Raporum)
3. Visual Studio Data Tools Bölümleri
4. Rapor Oluşturma (Sihirbazsız)
5. Rapor Bileşenleri
6. Fonksiyonlar
7. Parametreler
8. Verileri Sıralama – İnteraktif Sıralama
9. Bağlantılı Rapor Oluşturma
10. Report Parts – Paylaşılan Rapor Parçaları
11. Subreports – Alt Raporlar
12. Rapor Başlık ve Alt Başlıkları – Headers Footers
13. Rapor Yazdırma – Sayfa Yapısı – Dışa Aktarma (Export) – Rapor Özellikleri
14. Shared Data Source – Veri Kaynaklarının Paylaşımı
15. Shared Data Sets – Veri Setlerinin Paylaşımı
16. Report Manager Web Site Yönetimi
17. Bildirimler - Subscriptions

 

1 - REPORTING SERVICES KURULUMU:
Reporting Services kurulumu sıfırdan Sql Server ile beraber yapacağız. Mevcut sisteminizde Sql Server kurulu ise, sadece Reporting Services’i seçerek kurulumunuzu yapabilirsiniz. Diğer bir alternatif de, Rep. Services’i farklı bir sunucunuzda da kurabilirsiniz. Farklı bir sunucuya kurmak size, yedekleme ve performans açısından artılar sağlayacaktır.
Sql Server’ın deneme sürümünü aşağıdaki linkten indirebilirsiniz.
http://www.microsoft.com/en-us/download/details.aspx?id=29066 
Sql Server 2012 iso dosyamızdaki setup.exe’yi çalıştırarak kuruluma başlıyoruz. Next ile geçilen ekranlarda, iki ekranı tek şekilde göstermeye çalışacağım.

 

SSRS-1

Setup Support Rule ve güncelleme kontrolünden sonra devam ediyoruz.

 

SSRS-2


Kurulum kuralları kontrolü ve Serial number ekranları geldi.


SSRS-3


Gelen Lisans Sözleşmesini Accept deyip geçiyoruz.
Sonraki ekranda Setup Role geliyor, bu kurulumda Reporting Service’i tek başına yani Native Mode da kuracağımız için, üstteki seçeneği “Sql Server Feature Installation” seçerek devam ediyoruız.


SSRS-4


Feature Selection’da isterseniz tüm özellikleri seçebilirsiniz, ben sadece Rep. Services’ta kullanacağım seçenekleri seçip devam ediyorum. Yukarda da bahsettiğim gibi, Rep. Services’i farklı bir sunucuya kurmak istediğinizde, sadece bu ekrandan Rep. Services-Native’i seçerek kurulum yapabilirsiniz.
SSRS Native mode’un Sql Books Online’daki Şeması aşağıdaki gibidir;


SSRS-Native Mode


SSRS-5


Instance kısmını ister default isterseniz farklı bir isim yazabilirsiniz.

SSRS-6


Disk alanı kontrolü yapılan bir ekran gelecek, burayı Next ile geçelim.
Server Configuration kısmında, Sql Server Agent hizmetinin otomatik yapılması gerekmektedir. Eğer Agent hizmeti otomatik başlamaz ise, bildirimlerin gönderilmesi (mail) konusunda sıkıntı yaşayabiliriz.


SSRS-7


Database Engine Configuration ekranında, oturum açmayıu Mixed mode yaparak sa kullanıcısına şifre veriyorum.


SSRS-8


Reporting Service Configuration’da Install ve Configure u seçiyoruz. Kurulum ve ayarları yapacağız.


SSRS-9


Distruted Replay Controller ve Client I şimdilik geçebilirsinin, Rep. Service ile pek ilgisi yok.
Installation Conf. Files ekranını Next ile geçiyoruz. Ready to Install ekranında Install ile kuruluma başlıyoruz.


SSRS-10


Installation progress – Kurulum başladı.
Complete ekranında istenen özelliklerin sorunsuzca kurulduğu bilgisini gösteriyor, kurulumumuz tamamlandı.


SSRS-11


Kurulumu tamamladık. Şimdi Reporting Service Configuration Manager ı açarak, gerekli ayarlamaları yapacağız.


1-1 Reporting Services Configuration Manager Yapılandırılması:
Bunun için Microsoft Sql Server 2012 – Configuration Tools - Reporting Service Configuratiıon Manager programını açıyoruz.


SSRS-12


Kurulumdan sonra varsayılan olarak Server name ve Instance nameler otomatik olarak geliyor. Connect ile Configuration Manager’ı açıyoruz.


SSRS-13


Report Server Status – Report Server ile ilgili durum bilgisi ekranıdır. Instance adı, Id’si, edition bilgisi, product versiyonu, Rep. Server veritabanı adı, mode bilgisi ve durumu hakkında bilgi verir. Stop ile Report Service’i buradan durdurabiliriz.


SSRS-14


Report Service’i çalıştıracak kullanıcı hesabını seçtiğimiz bölümdür. Built-in account veya bir domain kullanıcısı seçilebilir.


SSRS-15

 

  • Web Service Url – Bu ekranda Report Service’in web dizin adresinin belirlendiği ekrandır. Rapor görüntüleme adresi değildir, karıştırılmaması gerekir. Buradaki url’yi daha sonra Data Tools ve Report Builder’da, raporları Reporting Service’e yüklemek için kullanacağız.
  • Virtual Directory’deki ismi değiştirebilirsiniz, varsayılan olarak instance adını getirdi, daha da kısaltmak mümkündür.
  • Ip Address – Ip adresini değiştirmemenizi öneririm, lokal ve network üzerinden erişebilecek tüm ip leri atamış durumda All Assigned ta bırakmakta fayda vardır. Sadece local 127.0.0.1 olarak seçer isek, Rep. Service’in dışındaki farklı bir makinede oluşturduğumuz raporları, Rep. Service’e yüklememizde sıkıntı yaşamış oluruz.
  • TCP Port – 80 portu varsayılan olarak gelir, değiştirilebilir.
  • SSL Certificate – SSL Port – Report Sunucunuzu internet ortamına açmak istiyor iseniz, ssl sertifika ve portunu buradan ayarlayabilirsiniz.
  • URLs – Raporlarını upload edeceğiniz Url linkini veriyor. Bu linki daha sonra nerede kullanacağımızı göreceğiz. Linke tıklarsanız, raporlarınızın bulunduğu ftp dizini açılacaktır.

SSRS – 16

 

  • Database – Database kısmında, Report sunucusunun kullanacağı veritabanlarının mevcut hangi sunucu üzerinde olduğu bilgisini verir.
  • Change Database – Buradan Report veritabanlarının sunucusunu değiştirebilir veya yeni bir Report sunucusu veritabanı oluşturabilirsiniz.
  • Database Credential – Report Server’a bağlanacak hesabın bilgisini verir.
  • Change Credential – Report Server’a bağlanacak hesabı değiştirme buradan yapılır.

SSRS-17

 

  • Report Manager URL – Web Service Url ile karıştırılmamalıdır, Report Server’ın web arayüzüdür, tüm raporlar buraya yüklenir. Raporlar ile ilgili yönetimsel değişiklikler bu adresten yapılır. Son kullanıcılar bu arayüzü kullanır. Subscription’lar (bildirimler) web arayüzden ayarlanır.
  • Virtual Directory – Erişim adresinin adı kısaltılabilir, farklı bir isim yazılabilir.
  • URLs – Rapor arayüzünün web erişim adresidir, linke tıklandığında arayüz açılır.
  • Advanced – Gelişmiş kısmında, sitenin erişim portu değiştirilebilir, Ssl bağlantı için port eklenebilir.

SSRS-18

 

  • E-mail Settings – Raporların mail ile kullanıcılara ulaşması için, Smtp sunucusunun adresini girileceği yerdir. Lokaldeki Exchange sunucusu ile sorunsuz çalışmaktadır. Remote smtp sunucuları için RSReportServer.config dosyasında parametrelerin değiştirilmesi gerekmektedir.
  • Remote Smtp detaylı bilgi için: http://technet.microsoft.com/en-us/library/ms345234(v=sql.105).aspx
  • Sender Address – Gönderici adresi yazılır. Mail adresini başına isteğe bağlı olarak isim de yazılabilir. (Şekil SSRS-19)
  • SMTP Server – Smtp sunusunun ip adresi yazılır. Exchange sunucusu ise, iç relay’e açık olması gerekmektedir. Görüldüğü gibi, Mail hesabının kullanıcı ve şifresini herhangi bir yere girmedik, bu yüzden relayin açık olması şarttır.
  • Exchange Server’da relay izin vermek için detaylı bilgi: http://technet.microsoft.com/en-us/library/bb232021(v=exchg.141).aspx

SSRS-19


Execution Account – Uzak bir sunucudan veri kaynağı kullanılacak ise, bu alana domain kullanıcı adı ve şifresi tanımlanmaktadır.



SSRS-20

Encryption Keys – Oturum açma bilgileri, bağlantı cümleleri ve diğer hassas veriler için şifrelenmiş anahtarları bu sekmede, yedekleyebilir, geri yükleyebilir, değiştirebilir veya silebilirsiniz.

SSRS-21


Configuration Manager’da yapacağımız ayarlar bu kadardı. Exit ile bu ekranda çıkıyoruz.
Makalenin başında da belirttiğim gibi adım adım yapılması gerekenleri, kontrol ederek ilerleyeceğız.
Rapor oluşturmaya başlamadan önce, Ftp servisimi ve Web arayüzümüz çalışıyor mu kontrol edelim. Configuration Manager – Web Service URL deki linke tıklıyoruz.
Raporlarımızı upload edeceğimiz ftp dizini geliyor, şu an hiçbir rapor yüklemediğimiz için boş geliyor.


SSRS-22


Raporları görüntüleyeceğimiz Web arayüzümüzü kontrol edelim. Configuration Manager – Report Manager URL’deki linke tıklıyoruz.
Web arayüzümüzde sorunsuz bir şekilde açıldı. Kurulumda IIS kurmamıza rağmen, Reporting Service tüm bu altyapıyı kendisi kurarak bizlere kolaylık sağlamaktadır.


SSRS-23


Kontrollerimizden sonra rapor oluşturma adımlarına geçebiliriz.
Reporting Service de iki farklı program aracılığı ile rapor oluşturabliriz. Visual Studio Data Tools ve Report Builder. Visual Studio ortamına yabancı olan son kullanıcılar için Report Builder aracı da alternatif olarak kullanılabilir. Bu iki yazılımın birbirinden pek farkı yoktur. Report Builder da özellikler Visual Stu. Data Tools’taki çoğu içeriği kapsamaktadır.

1-2 Veritabanı ekleme adımları:
Raporlarda, Microsoft’un örnek olarak sunduğu AdventureWork2012 veritabanını kullanacağız. Rapor tasarımlarına geçmeden önce aşağıdaki linkten .zip utanlı olan dosyayı indiriyoruz. Sadece data file’ı indirsek eğer veritabanını attach ederken log dosyası bulunamadı hatası verecektir.
http://msftdbprodsamples.codeplex.com/releases/view/55330 AdventureWorks2012_Data.zip
C dizininde DATA isminde bir klasör açıp, indirdiğim veritabanını ve log dosyasını buraya taşıyorum.
Sql Server Management Studio’yu açıyoruz.


SSRS-24


Object Explorer – Databases üzerinde sağ tıklayarak Attach diyoruz.


SSRS-25


Add butonuna basarak, veritabanını seçeceğimiz ekran açılacak, bu ekranda C:\DATA dizini altındaki AdventureWorks2012 veritabanını seçip bu ekranı kapatıyoruz.


SSRS-26


Data .mdf ve Log .ldf dosyası aşağıdaki gibi gözükecektir. Ok diyerek Attach işlemini tamamlıyoruz.


SSRS-27


Veritabanımızı Sql’e eklemiş olduk. Örnek raporlarımızı bu veritabanı üzerinden oluşturacağız.

 


2 - 1 VISUAL STUDIO DATA TOOLS İLE RAPOR OLUŞTURMA – İLK RAPORUM:
İlk raporumuzu oluşturmaya başlayalım, yukarda da bahsettiğim gibi, Visual Studio Data Tools ve Report Builder programları ile rapor tasarlayabilmekteyiz. İlk önce VS Data Tools programı ile rapor yapmayı göreceğiz.
Rapor oluşturmanın temelinde 4 ana unsur vardır;
- Rapor tasarım aracı (VS Data Tools veya Rep. Builder)
- Data Source (Veri kaynağı)
- DataSets (Sorgular, Viewler, Stored Procudureler)
- Rapor görüntüleme araçları (Web arayüzü, mail bildirimleri, pdf, excel aktarımları vb.)
Bu adımları iyi kavramak gerekir, bunları kavradıktan sonra rapor hazırlamak çok kolay olacaktır.
Microsoft Sql Server 2012 – Sql Server Data Tools’u açıyoruz.
Not: Sql server 2012 Reporting Service için bu makalede Visual Studio 2010 Data Tools programını kullanacağız, isterseniz, VS 2012 veya 2013 Data Tools programlarını da kullanıp rapor yapabilirsiniz, aralarında temelde bir fark yoktur.


SSRS-28


Visual Studio 2010 Shell olarak Data Tools programımız açıldı. Şimdi yeni bir rapor nasıl yapılır, adım adım anlatmaya çalışacağız.
New Project’e tıklayarak yeni bir proje oluşturuyoruz.


SSRS-29


Wizard yani sihirbaz ile ilk projemizi oluşturacağımızdan, Soldaki sekmeden Business Intelligence – Reporting Service’i seçiyoruz. Sağ taraftan Report Server Project Wizard’a bir kere tıkladıktan sonra, Name bölümünde raporumuza isim veriyorum. Location, rapor dosyalarının tutulacağı yerdir, burayı kalıcı bir klasör olarak seçmenizde fayda var, masaüstünde bir klasör belirlemeyin. C dizini altında C:\SSRS_Reports adında bir klasör oluşturuyorum. Browse butonunun altındaki Create directory for solution seçili olsun, her rapor için ayrı bir klasör oluşturacak, böylelikle yedekleme açısından daha kolaylık sağlar, aynı zamanda rapor dosyalarımız tek bir klasör altında toplanmış olur. Ok diyerek sihirbazı çalıştırıyorum.


SSRS-30


Bu sihirbaz ile neler yapabileceğinizi kısaca anlatan bir hoşgeldin ekranı geliyor. Next ile devam ediyoruz.

SSRS-31


Datasource, veri kaynağımızı belirtmemiz gereken ekrana geldik. Raporumuz için hangi veri kaynağına, hangi haklar ile bağlantı kuracağımızı ayarlayabileceğimiz ekrandır. Eğer farklı veri kaynaklarından veri alacak iseniz, datasource1 yazan yer anlamlı bir ifade yazmanız, ileride olabilecek karmaşıklığı önleyecektir.
Type – Makalenin başlarında da anlattıldığı gibi 12 farklı veri kaynağından veri çekebiliriz. Varsayılan olarak Microsoft Sql Server gelmektedir. Bizde Sql Server’dan veri çekeceğimiz için burasını aynen bırakıyoruz.
Connection String – Veri kaynağına bağlanırken, bağlantı cümlesini buradan ayarlıyoruz. Edit’e tıklayarak Connection Properties’i açıyoruz. Connection String’i detaylı olarak bir sonraki ekranda detaylı olarak anlatacağız.

SSRS-32


Connection Properties – Connection string’teki Edit butonu ile bağlantı özelliklerini açıyoruz. Bu sayfada, veri alacağımız Sql Server’ı, hangi kullanıcı ile bağlanacağımızı ve hangi veritabanından veri alacağımızı seçeceğimiz ekrandır. Connection properties raporlamanın ilk adımıdır.
Server name – Sql Server’ın adını yazacağımız alandır. Şu an için lokalden veri çekeceğimiz için, mevcut instance adımı yazdım. Farklı Sql sunucularından veri alınacağı zaman, Sql server adı veya ip adresi yazılabilir.
Log on the server – Sql sunucusuna hangi kullanıcı ile bağlanacağımızı yazacağımız alandır. Windows authentication da kullanılabilir. Tercih edilen yöntem; Sql üzerinde raporlamalarda kullanılacak bir kullanıcı açılarak kullanılmasıdır.
Connect to a database – Veri çekilecek veritabanı seçilir, bağlanılan sunucudaki veritabanları burada listelenir.
Attach a database file – Bir veritabanı dosyasını .mdf offline olarak kullanarak, rapor alabileceğiniz bir seçenektir.
Test Connection – Son olarak bağlantıyı test etmek için Test Connection’a tıklayarak kontrol edilmesinde fayda var, kullanıcı adı ve şifre girişlerinde hata var ise düzeltilebilmesi için test edilmelidir.
Advanced – Bu kısımda bağlantı cümlesini metin olarak kopyalacağınız ve gelişmiş ayarları bulabileceğiniz kısımdır.
Dikkat: Log on to the server kısmındaki, “Save my password” şifremi hatırla seçeneğini seçmezsek eğer, raporu her aldığımızda bize sql bağlantısı için şifre soracaktır. Domain yapısında kurulan bir Report Server için istenmeyen bir durumdur, domain yapısında kullanıcı bazında yetki verileceğinden ayrıca bir şifre sorması gereksizdir. Yalnız, domain olmayan bir ortamda kullanılacak ise sql şifresi sorarak güvenliği sağlayabilirsiniz.

SSRS-33


Connection String cümlesi ekrana geldikten sonra Next ile ilerliyoruz.

SSRS-34

Desing the query
Query Builder
Sorgu Dizayn ekranına geldik, Query Builder’I açıyoruz.

SSRS-35


Query builder ekranına, Sql de hazırladığınız bir sorguyu çekebileceğimiz ekrandır. Rapora gelecek alanlar bu sorgu ile geleceğinden, alanlarla ilgili ayarlamaları buradan da yapabiliriz.
Sql Server’daki view ekranının bir benzeridir.
Query builder de kendi yazdığımız bir sorguyu, view veya bir function’ı ekleyip rapora getirebiliriz. Makalemizin başında bahsettiğimiz gibi, T-Sql bilgisi olmayan birisi için Report Server’I anlatacağız demiştik, bu sebeple raporumuza hazır bir “view” getiriyoruz. AdventureWorks2012 örnek veritabanında daha önceden hazır view’ler olduğundan bu veritabanını kullanmayı tercih etmiştik.
Query Builder’a view eklemek için, üstteki boş alanda sağ tıklayarak “Add table” diyoruz.


SSRS-36


İkinci sekme olan “Views” kısmına gelerek, burada vCompanySales view’ini seçiyoruz. Şirket satışları ile ilgili verileri rapora getireceğiz.

SSRS-37


View’I ekledik fakat daha hiçbir alan seçmedik, bu şekilde Ok’e basarsanız hiçbir alan seçmediğinize dair bir uyarı verecektir.
Rapora gelmesini istediğimiz alanları en üstteki kutudan seçiyoruz. Eğer All Columns dersek, tüm alanları seçer, ama sıralama yapamayız. Raporda görmek istediğim alanları tek tek seçiyorum.
Sıralamayı yıl olarak seçiyorum, büyükten küçüğe yıl olarak satışları getiriyor.
Sorguyu kontrol etmek için yukarıdaki ! işareti ile, sorguyu bir kereliğine çalıştırıyoruz. Sorgu sonuçları geldikten sonar Ok ile devam ediyoruz.


SSRS-38


Sorgu cümlesi aşağıdaki gibi geliyor. Bu sorguyu Sql Man. Studio da bir query yazıp buraya yapıştırsanız da çalışacaktır. Hiç sorgu yazmadan nasıl oluşturduğunu göstermiş olduk. Next ile ilerliyoruz.


SSRS-39
Raporun hangi formatta gösterileceğini seçeceğimiz ekran geldi. Tabular ve Matrix. Tabular bildiğimiz standart tabloların yan yana sıralanması ile oluşan rapor, Matrix ise, birden çok farklı veriyi karşılaştırmalı bir şekilde sunan rapor tipidir. İhtiyaca göre bu iki farklı tip rapor tipi seçilebilir. İlk önce tabular olarak raporumuzu yapacağız.

SSRS-40


Desing The Table
Bu ekranda rapor tasarımı yapacağız. Hangi alana göre gruplandırma yapmak istiyorsak Group> butonuna basarak ilgili alanı Group’a dahil ediyoruz. Grupladıktan sonar, detayında hangi verileri görmek istiyorsak, ilgili verileri Details> butonuna basarak kutulara dahil ediyoruz. Page> kutusu ise, örnek olarak yıl veya tüm alanları kapsayan bir alan olabilir.
Group için ProductCategory (Ürün kategorisi) seçiyorum. Details için de diğer görmek istediğim alanları seçtikten sonra Next ile ilerliyoruz.

SSRS-41


Choose the Table Layout
Raporda verilerin Stepped (adım-adım) veya Block (birleşik) gelmesini buradan ayarlıyoruz.
Include subtotals – Otomatik olarak gruplama yapılan alanın dahilinde alt toplamları alıyor.
Enable drilldown – Gruplama yapılan alanları + ile genişletme seçeneği sunuyor.

SSRS-42

Choose the Table Style
Altı farklı tasarım seçebiliyoruz. Bunlar örnek olarak verilmiş, istediğimiz şekilde renk ve font ayarlarını yapabilmekteyiz. Hızlı rapor oluşturmak için zaman kazanmak amacıyla kullanılmasında fayda var.

SSRS-43


Completing Wizard
Burada raporumuza isim veriyoruz. Aslında önemsiz bir isim de verilebilir, daha sonrada değiştirilebilir. Fakat ilk verilen isim web arayüzüne upload edildiğinde, ardından raporun ismi değiştirilip üzerine upload edilir ise, web arayüzünde aynı raporu 2 farklı isimde görürüz. Bu yüzden isim konusuna dikkat edilmelidir.


SSRS-44
Raporumuz hazırlandı. Tasarım ekranında alanları bize getirdi.

SSRS-45

Desing sekmesinin yanındaki Preview – Ön izleme yaparak, raporumuzu görüntüleyelim. Alttoplamları almasını istemiştik, yılı da rakam olarak algıladığı için SUM(year) olarak getirmiş, satış tutarlarının toplamını da grupların üstüne getiriyor.

SSRS-46


Hızlı bir düzenleme yaparak, raporumuzu daha okunabilir hale getirelim.
Sales – Tutar kısımlarıdaki virgülden sonraki 4 haneyi kaldırarak, binlik ayraç koyacağız, bunun için [Sales] üzerinde sağ tıklayarak, “Textbox Properties”I açıyoruz.

SSRS-47


Veri alanlarının özellikler penceresine daha sonra detaylıca anlatacağız. Number sekmesine gelerek, Category’den Number’I seçiyoruz. Decimal places’I 0 yapıyoruz. Use 1000 seperator (,) ve Show zero as alanında Boş olanı seçiyoruz. Ardında Ok ile bu sayfayı kapatıyoruz.

SSRS-48


Aynı işlemi SUM(sales) alanı içinde yapıyoruz. Başlıkları da anlayacağımız şekilde düzenledikten sonra bir önizleme yapalım.
Görüldüğü gibi hızlı bir şekilde raporu daha okunaklı hala getirdik.

SSRS-49


Visual Studio Data Tools programı ile ilk raporumuzu bir view kullanarak yaptık. Raporu bu program içerisinde çalıştırdık. Şimdi son kullanıcılara bu raporu nasıl aktaracağız ona bakalım.
Makalenin başlarında bahsedildiği gibi, Reporting Services Configuration Manager’daki “Web Service Url” bölümdeki ftp linkine raporlarımızı yükleyeceğiz. Bu linki Web Service Url’den kopyalayalım.


SSRS-50


http://yavuz2012r2/ReportServer_SSRS2012
VS Data Tools - Project - <Raporadı> Properties veya Solution Explorer - <RaporAdı> Sağ klik – Properties, özellikler sayfasını açıyoruz.
Targer ServerUrl kısmına Web Service Url linkimizi yazıyoruz. Apply – Ok diyerek sayfayı kapatıyoruz.

SSRS-51


Solution Explorer’da Rapor adının üzerinde ilk önce “Build” diyerek raporun yapılandırılmasını sağlıyoruz. Raporu “Deploy” etmeden önce build edilerek kontrol edilmesinde fayda var. Raporda oluşabilecek hataları build ile tespit edebiliriz. Deploydan önce doğabilecek hataların önüne geçmiş oluruz.
Build dedikten sonra, “Deploy” ile raporumuzu web arayüzümüze yüklüyoruz.

SSRS-52


View menüsünden “Output” penceresini açarak, Build ve Deploy’un işlem çıktılarını görebiliriz. Klavye kısayolu: Ctrl+Alt+O


SSRS-53


Deploy ile raporu web arayüzüne gönderdim. Output çıktısını kontrol ediyoruz. Başarılı bir şekilde Deploy edildi.

SSRS-54


Deploy edilen raporumuzu, web ortamında bakalım. Web arayüz adresi, Rep. Serv. Conf. Man. deki “Report Manager Url” bölümdeki Url’dir. Bu Url’ye tıklayarak, web arayüzümüzü açıyoruz. Bu url nin kısayolunu diğer kullanıcılara atayabilirsiniz.


SSRS-55


Hazır bir web portalı karşımıza çıkıyor. Raporumuz IlkRaporum adı altında bir klasörün içinde. Bu da demek oluyor ki, bir klasör altında birden çok rapor yapabiliriz. VS Dat. Tools ile bir proje açıyoruz. Aynı proje içinde birden fazla rapor yapıp deploy edersek, aynı klasör altına gelecektir.


SSRS-56


Klasöre tıklayarak raporumuzu çalıştırıyoruz. Raporumuz web ortamında sorunsuz bir şekilde çalıştı.


SSRS- 57


2 -2 REPORT BUILDER İLE RAPOR OLUŞTURMA:


Visual Studio Data Tools ile ilk raporumuzu tamamladıktan sonra, şimdi de Report Builder ile nasıl rapor yapılıyor bunu görelim. Report Builder, son kullanıcılar için ideal bir rapor tasarım aracıdır. Kullanıcının bilgisayarına web ortamından kurularak, raporlar oluşturmasını sağlar.
Web arayüzünden “Report Builder” kısayoluna tıklayarak, programı indiriyoruz. Report Builder kurulmasını istediğiniz tüm kullanıcılarda programı kurmanız gerekiyor. İsterseniz aşağıdaki linkten programı indirebilirsiniz. Türkçe dil seçeneği de mevcut.
http://www.microsoft.com/en-us/download/details.aspx?id=29072


SSRS-58


Güvenlik uyarısı geliyor, Run ile devam ediyoruz.

SSRS-59


Report Builder açıldı. Web arayüzünden Report Builder kısayolu ile açılınca yükleme yapılacak Web adresini girmemize gerek kalmayacak, bu da son kullanıcı açısından kolaylık olacaktır. SSRS-60 şemasının en altında Report Server’ın adresi gözükmektedir.


SSRS-60


Table or Matrix Wizard sihirbazı ile yeni bir rapor oluşturuyoruz. Choose a dataset ekranında Create a new dataset – yeni bir veri seti oluşturmayı seçerek Next ile ilerliyoruz.


SSRS-61


Datasource – Veri kaynağı oluşturmak için New butonuna tıklıyoruz.


SSRS-62


Datasource Properties ekranında “Build”e tıklıyoruz. Connection type varsayılan olarak Sql Server olarak geliyor.

SSRS-63


Connection Properties ekranında, Server name’den Sql sunucumuzu seçiyoruz. Log on the server bölümünde Sql kullanıcı adı ve şifremizi giriyoruz. Save my password’ü işaretlemeyi ve Connect to a Database’den de veri alacağımız veritabanını seçtikten sonra sol alt köşede “Test Connection” ile bağlantımızı test etmeyi unutmayın. Ok ile devam ediyoruz.

SSRS-64


Connection string – bağlantı cümlemiz geldi. Ok ile bu ekranı kapatıyoruz.

SSRS-65


Veri kaynağımız, DataSource1 olarak geldi. Son olarak “Test Connection” ile son bir kontrol yaptıktan sonra Next ile ilerliyoruz.


SSRS-66


Desing a query ekranı geliyor. Bu ekran VS Data Tools’ta olmayan bir ekran, oradaki karşılığı Query Designer diyebiliriz.
Basit anlaşılabilir olması açısından makalenin başında da dediğimiz gibi view seçerek devam edeceğiz. Fakat bu sefer 2 farklı view den veri çekeceğiz. Satınalmaya ait iki view’e ait veriler getireceğiz, bir view’de tedarikçi iletişim bilgileri, diğer view’de ise adres bilgileri var, her iki view’de de BusinessEntityID ortak alan olduğu için iki tablo arasında bir bağlantı kuracağız.
AdventureWorks veritabanımdan, vVendorWithAddresses ve vVendorWithContacts viewlerini query ekranımıza ekliyoruz.
Phurchasing – View – iki view imiz arasında BusinessEntityID lerimiz ortak. Hangi alanları rapora getireceğiz, önce onları seçelim.
İstediğim 7 tane alanı seçtim.


SSRS-67


İki farklı view’den farklı alanları seçtim, bu şekilde sorguyu çalıştırır isek, hata verecek, iki view arasında bir ilişki (relationship) olmadığını belirtecektir. Aynı durum iki farklı table içinde geçerlidir, iki farklı tablodan verileri çekmek istediğimizde, ilişkili en az bir alana ihtiyaç vardır.
İki view arasında ilişki kurmak Için, Relationships kısmındaki aşağıya doğru bakan iki ok şekline tıklayarak bu alanı genişleştiriyoruz.


SSRS-68


Add Relationship butonuna tıklayarak boş bir relationship satırı ekliyoruz.

SSRS-69


Left table – sol tablo dan Right table – sağ tabloyu inner join – içiçe bağlama yöntemi le birbirleri arasın ilişkiyi kuracağız. Join Type’lara şimdilik girmiyoruz, sql sorgulama ile ilgili olduğu için, ilerlemek isteyen arkadaşlar araştırabilir.
Sol tabloyu seçiyoruz. VendorWithAddresses (Tedarikçilerin adresi)

SSRS-70


Sol tablo ile bağlanacak sağ tabloyu seçiyoruz. VendorWithContacs (Tedarikçilerin iletişim bilgisi)


SSRS-71

 

En sağda bulunan “Join Fileds” alanını çift tıklayarak açıyoruz. View’lerin hangi alanlarını birbirine bağlayacağımızı seçeceğiz.

Açılan pencerede “Add field”e tıklayarak boş bir satır oluşturduk.

SSRS-72


Sol taraf VendorWithAddresses, sağ taraf VendorWithContacs, her iki viewde BusinessEntityID’yi seçip Ok ile bu ekranı kapaptıyoruz.


SSRS-73


Birleştirme işlemi tamamlandı, şimdi Run Query diyerek, sorgumuzun çalışıp çalışmadığına bakalım. Eğer eşleşmede bir sorun var ise hata verir.
Sorgu çalıştı, görüldüğü gibi, her iki farklı view den, farklı alanları bir sorguda birleştirdik. Next ile ilerliyoruz.

SSRS-74


Arrange Fields – Rapora gelen alanların satırlardamı yoksa sütunlarda mı olacağnı seçeceğimiz ekrandır. Alanları sürükle bırak ile Columns – Rows – Value alanlarına taşıyabiliriz.
Values – Değerler bölümüne eklediğimiz alanların yanında aşağı doğru bakan bir ok işareti çıktı. Bu menüde matematiksel işlemler yapabileceğimiz seçenekler çıkmaktadır. Toplam al, ortalama al gibi.


SSRS-75


Choose the layout – Raporda alttoplamların ayarlanacağı ekrandır. Expand/collapse groups, artı ve eksi ile matrix yapısını istemiyorsak bu seçeneği kaldırıyoruz, raporda tüm alanlar açılmış bir şekilde gelir.

SSRS-76


Choose a style – Rapor alanlarını hazır templateler ile renklendirmemizi sağlayan ekrandır. Daha sonrada bu renkler değiştirilebilir.


SSRS-77


Sihirbaz ile işimiz tamamlandı, raporumuz Report Builder ekranına geldi. Run diyerek raporu çalıştırıyoruz.

SSRS-78


Rapor önizleme ekranında, şirket adı, şehir bazındaki tedarikçilerin iletişim bilgileri, gruplandırılmış şekilde raporumuz geliyor.


SSRS-79


Raporumuz çalıştığına göre, raporu Report Server’a kaydedeceğiz, adı varsayılan olarak Untited olarak geliyor, anlaşılır bir rapor ismi veriyoruz. Menu – Save as


SSRS-80


Raporu kayderkeni save as ekranında en üstte Look in bölümünde Report Server’ın adresini kontrol ediyoruz. Report Builder’I web arayüzünden açtığımız zaman, Report serverın adresi otomatik olarak geliyordu. VS Data Tools da adresi kendimiz girmiştik.

SSRS-81


Raporumuzu Report Servera kaydettik, şimdi web arayüzünü açıp, raporu kontrol edelim. Raporumuz web arayüzüne gelmiş görünüyor. Data Tools da hazırladığımız rapor klasör içinde gözüküyor. Report Builder ile hazırladığımız raporumuz ise tek başına ana dizine gelmiş durumda. Data Tools da yapılan raporlar varsayılan olarak klasör altında birleştirilmektedir. Report Builder da hazırladığımız raporları daha sonra web arayüzünde klasörlere taşıyabiliriz.


SSRS-82


Raporu çalıştıyoruz. Tedarikçi raporumuz sorunsuz bir şekilde çalışıyor.

SSRS-83

 


3 - VISUAL STUDIO DATA TOOLS BÖLÜMLERİ:


Temel olarak VS Data Tools ve Rep. Builder ile rapor oluşturmayı gördük. Buraya kadar, hazır bir View ile basit raporları oluşturmayı ve bu raporları Report Server’ın web arayüzüne yüklemeyi gördük. Bu bölümde VS Data Tools’un bölümlerini inceleyeceğiz. VS Data Tool, tam anlamıyla Visual Studio ortamı değildir, shell denilen kabuk anlamına gelen bir versiyonu Rep: Service ile sunmuşlardır. Bu versiyonda sadece rapor yapmak için gerekli olan alanlar kullanıma açıktır.
Data Tools açıldığında, bir karşılama ekranı gelir. New Project ile yeni bir projeye başlayabilir, Open Project ile de daha önce çalıştığımız projeleri açabiliriz.


SSRS-84


New Project ekranında, Reporting Services, Analysis Services ve Integration Services ile ilgili projeler oluşturacabileceğimiz seçenekler çıkmaktadır. Konumuz Rep. Services olduğu için, Rep. Services ile alakalı iki seçenek mevcuttur, Rep. Server Proj. Wizard ve Rep. Server Project. Wizard ile yukardaki örneklerde olduğu gibi adım adım raporumuuz hazırlayabilriz. Sihirbaz sayesinde datasource ve datasetleri oluşturmayı atlamadan rapora ekleriz. Rep. Server Project ise boş bir rapor sayfası açar, bu boş rapor sayfasında, önce datasource’u ekleyip ardından dataseti ekledikten sonra yeni bir rapor yapmaya başlayabiliriz.
Name: Raporumuzun adı
Location: Rapor dosyalarının tutulacağı klasör yolu
Solution Name: Proje adı, genelde name ile aynı olur


SSRS-85


Bizim sık kullanacağımız menülere göz atalım şimdi, Report Server Project’i seçerek boş bir rapor oluşturalım. Datatoolstanitim isminde boş proje sayfamız açıldı. Şu anda hiçbir veri veya raporla ilgili bir şey yok.


SSRS-86


Menülerde neler var, ne işe yarar bunları tanıtmaya başlayalım. Solution Explorer’da projemizin adı ana başlık olarak yazıyor. Bu başlık altında;
- Shared Data Sources – Paylaşılan veri kaynakları demek, bir veritabanı ile bağlantımızı paylaştıktan sonra, yeni bir rapor yapmak istediğimizde bu paylaşılmış veri kaynağını kullanabiliriz. Tekrar tekrar aynı veri kaynağını oluşturmak zorunda kalmayız.
- Shared Dataset – Paylaşılan veri seti, bir veri setini paylaşılan olarak ayarladığımızda, birden çok raporda istediğimiz zaman kullanabiliriz, sürekli aynı sorguyu hazırlamak zorunda kalmayabiliriz. Ya da bir raporda önceden yaptığınız bir rapordaki veri seti gerekiyor olabilir, paylaşılan veri setleri ile önceden hazırlanan raporlardaki verilere ulaşmak mümkündür.
- Reports – Bu projedeki raporlarımızın bulunduğu klasör. (Not: Rep. Builder’da bu şekilde gözükmemektedir, son kullanıcıya hitap ettiği için, raporları kaydederken ilgili klasörlere atmamız gerekmektedir.)
Shared Data Source ve Shared Dataset şu anda size çok şey ifade etmesede, ileri seviyede raporlar yapmaya başladığınızda çok faydasını göreceğiniz özelliklerden biri olacaktır.
Reports üzerinde sağ tıklayıp Add – New Item diyoruz. (Add New Report, rapor sihirbazını çalıştırır)


SSRS-87


Report u seçip, rapora bir isim veriyoruz. Anlamlı bir isim vermek önemli, web arayüzünde raporun adı olarak bu isimi kullanacağız.


SSRS-88


Kullanım kolaylığı açısından, Toolbox ve Report Data nesnelerimizi IDE ekranımızda sabitleyeceğiz, bunun için en sol kısmına sabit olarak aşağıdaki şekil SSRS-89 daki gibi yapıyoruz.


SSRS-89


Rahat kullanım ve pratiklik açısından, rapor tasarım ekranımız aşağıdaki gibi olması en idealidir.


SSRS-90


Toolbox, Report Data, Solution Explorer, Properties, Output, Design pencereleri nedir, bu pencereler ile neler yapabiliyoruz, sırasıyla açıklamaya çalışalım.


3 – 1 Solution Explorer: Raporlarımız ile ilgili tüm dosyaların bulunduğu proje ekranıdır, SSRS-87’de buradaki bölümleri açıklamıştık. Projemize yeni bir veri seti, veri kaynağı ve rapor eklemek istediğimizde buradan da yapabiliyoruz. Buranın farkı, burada eklenen veri seti ve veri kaynağı paylaşılan yani shared olmaktadır, bu demek oluyor ki, farklı bir rapor projesinde solution explorer da oluşturduğumuz veri seti ve veri kaynağını kullanabilmekteyiz.


3 – 2 Properties: Rapor desing (tasarım) ekranımızdaki her bir obje ile alakalı özellikleri buradan değiştirebiliyoruz. Renk, kenar kalınlığı, font, arka plan renk gibi birçok özelliği bu ekrandan ayarlayabilmekteyiz. Bir nesneye sağ tıklayıp “Text Box Properties” ekranına girdiğimizde, burdaki ayarları biraz daha grafiksel olarak görmekteyiz. Daha çok aşağıdaki şekildeki properties ekranını kullanacağımızdan, bu penceredeki tüm seçenekleri anlatmayacağız.


SSRS-91


3 – 3 Toolbox: Raporlarda kullanacağımız tüm nesneleri bulabileceğimiz bölümdür. Pointer, Text box, Line, Table, Matrix, Rectangle, List, Image, Subreport, Chart, Gauge, Map, Databar, Sparkline, Indicator nesnelerini rapora ekleyebiliyoruz, bu nesneler ile ilgili detayları ilerki bölümlerde yeri geldiğinde anlatcağız.


SSRS-92

 


3 – 4 Report Data: Rapor verilerinin olduğu bölümdür. 5 alt başlıkta oluşur. Built-in-filds, Parameters, Images, Data Sources, Datasets.
Built-in-fields: Rapor içerisine sabitleyeceğimiz alanlardır. Rapor alınma saati, rapor dili, rapor sayfa numaraları, rapor sunucusunun adı, kullanıcı id si v.b.
Parameters: Raporu çalıştırdığımız zaman, kullanıcıya sorulacak parametreleri buradan ayarlıyoruz. Parametre tanımlamak için iki farklı yol vardır. Birincisi Report Data – Parameters’dan parametre ekleyip, bu eklenen parametreyi datasetteki bir alan ile eşleştirmek. İkincisi de, sorgu tasarım ekranında Where operatörü ile parametre eklemek. Her iki örneği de ilerleyen sayfalarda örneklerle göstereceğiz.
Images: Rapor içerisine eklenecek resimleri buradan ekliyoruz. Rapor dosyalarınızın olduğu dizinde resimleri tutmakta fayda vardır, rapor klasörünü başka bir sunucuda devreye aldığınızda Images’larda beraberinde gelecektir.
Data Sources: Solution Explorer’daki Data Source ile benzerdir, fakat sadece açık olan rapor için veri kaynağı oluşturur, paylaşılan bir veri kaynağı seçilebilir. Bir raporda birden çok veri kaynağı olabilir, farklı sunucular ve farklı sunucu tiplerinden bir rapora veri alınabilir.
Datasets: Veri setlerinin olduğu bölümdür, paylaşılan bir veri seti kullanılabilir. Paylaşılan bir veri setinin avantajı, birden çok raporda rahatlıkla kullanılabilmesidir. Bir raporda birden fazla veriseti kullanılabilir. Farklı veritabanlarındaki verileri bir raporda birleştirebiliriz. Datasets bölümünü bu aşamada kullanmaktayız.


SSRS-93


3 – 5 Output: Output, çıktı ekranı da diyebiliriz. Hazırlanan raporları build veya deploy işlemlerinin çıktılarını görebilceğimiz alandır. Hataları buradan takip edeceğimiz için, önemli bir ekrandır. Rapor içerisinde hesaplama veya veritabanı ile ilgili hatalarda bu ekrana gelmektedir. Data tools ekranının en altında konumlanmıştır.


SSRS-94


Rapor tasarımda kullanacağımız bölümler bunlar. Ekranın üsttünde standart Visual Studio menüleri mevcuttur. Şekil SSRS-51 de de gösterildiği gibi, raporumuzu Deploy etmek için, Web Server Url’imizi raporumuzun properties ekranına girmemiz gerekiyor. Eğer buna dikket etmez isek, rapor web arayüzüne yüklenmeyecektir.
Project - <raporadı> Properties


SSRS-95


Web Server Url’yi Target Server Url kısmına kopyalayıp Apply – Ok ile ekranı kapatıyoruz.


SSRS-96


Bu aşamaya kadar temel seviyede BIDS ve Rep.B. üzerinden rapor oluşturmayı, bu raporları web arayüzüne yüklemeyi, BIDS arayüzünün temel bileşenlerini inceledik. Makalenin bu bölümünden sonra, ileri seviye raporlama hakkında bilgiler aktaracağız. Rapor içerisindeki parçaların detaylarına girip, ipuçlarını aktarmaya çalışacağız.

 


yorum yaz
Yiğit Aktan

Yiğit Aktan


07.07.2014 01:06


Mukemmel olmus Yavuz! Eline saglik. Serinin geri kalanini bekliyorum :)

Gökçem Tokay

Gökçem Tokay


07.07.2014 13:00


Elinize sağlık, dolu dolu bir paylaşım.

Cem Doğan

Cem Doğan


07.07.2014 14:52


Çok iyi elinize sağlık.

Unal Erbayraktar

Unal Erbayraktar


01.08.2014 01:32


Gerçekten çok güzel olmuş. Elinize sağlık.

İsmail Hakkı ŞEN

İsmail Hakkı ŞEN


03.08.2014 21:42


öncelikle çok teşekkürler. reporting services sql server 2014 ile birlikte kurulabiliyor. report builder ile rapor hazırladım. mükemmel. bir de rsAccessDenied hatası alan olursa internet explorer'ı yönetici olarak çalıştırmak gerekiyor. ayrıca report builder kurarken de bir takım hatalar ile karşılaştım. belki başına gelen olur tekrardan uğraşmasın. bunlar için şunları uyguladım ve bilgisayarı yeniden başlattım. sorun kalmadı. 1. Başlat > Çalıştır "Regedit" yazarak Kayıt Defteri Düzenleyicisi'ne gir. 2. HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ LanmanServer \ Parameters Uzantısı aldında "IRPStackSize" adında bir dosya olması gerekiyor. Eğer yoksa aşağıdaki şekilde yeni oluşturun. Boş bir yere sağ click - " Yeni > DWORD " yapın ve oluşturduğunuz değere "IRPStackSize" ismini verin. 3. IRPStackSize değerine çift tıklayın ve 21 yazıp kapatın.(Normal değeri 18'dir.) 4. Bilgisayarı yeniden başlatın ve kurulumu tekrar yapın. http://www.youtube.com/watch?v=KikshWVWhzg saygılar.

Yavuz Filizlibay

Yavuz Filizlibay


17.08.2014 20:22


Teşekkürler sağolun. İsmail bey hata paylaşımının çözümü için teşekkürler.

Gazanfer IŞIK

Gazanfer IŞIK


19.10.2014 21:35


Bu reporting servis masaüstü uygulamalardada kullanılır mı? Yani crystal report yerine.

Ü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