Merhabalar,
Bu yazımız biraz yazılım geliştiricileri ilgilendiriyor gibi görünse de aslında İş Zekası uygulamalarına ilgi duyan ya da bu makaleyi okuduktan sonra ilgi duyacağına inandığım finans, pazarlama, satış, planlama, bütçe, maliyet gibi alanlarda çalışan ve analitik çalışmayı seven herkesi ilgilendiriyor. O yüzden mümkün olduğunca basit anlatmaya çalışacağım ve gelişmiş özelliklerden mümkün olduğunca az bahsedeceğim. Ama en baştan söyleyeyim burada anlattıklarımdan çok daha yetenekli. İlerleyen zamanlarda inşallah o konulara da detaylıca gireriz.
Konumuz Devexpress Dashboard.
Kısaca aşağıdaki görüntülerdeki interaktif, analitik dashboard ekranlarını dakikalar içerisinde yapabileceğiniz sihirli bir araç kendisi.
Clik here to view.

Clik here to view.

Clik here to view.

Clik here to view.

Clik here to view.

Clik here to view.

Devexpress Dashboard Visual Studio’ya entegre olarak sonradan yüklenen Devexpress componentlerinden sadece biri. Ama o kadar yetenekli ki, başlı başına bir makale ve eğitim olmayı hakkediyor.
Şimdi sorularımız ve ihtiyaçlaımız şunlar?
Verilerimiz veritabanında ama raporlama amaçlı olarak daha interaktif bir şeyler olsa güzel olurdu.
Çözümler:
1-ERP uygulamasının raporlama araçları
Genelde bu tarz araçlar statik raporlar içerir ve çıktı almak için uygun olsalar da analitik ve interaktif sistemler için yeterli değildir.
2-Her kurumun vazgeçilmezi Excel
Çok yetenekli bir araçtır kendileri. Ancak yeterince pratik olmayabilir ve iyi derecede excel bilgisi gerektirir. Ayrıca herşey bir excel dosyasında olacağı için güvenlik ve yetkilendirme sorunu da vardır.
3-İş Zekası araçları (PowerBI, Qlik, BW/BO vs…)
Son dönemde özellikle Power BI’ı çok görüyorum gerçekten güzel ekranları var. Diğerleri de benzer şekilde. Buradaki en önemli dezavantajlar aşağıdaki gibi.
- User bazlı lisans maliyetleri
- Raporları tasarlayacak nitelikli eleman ihtiyacı (Modelleme, dashboard ekranı tasarlama vs…)
- Raporlama için kullanılacak hatırı sayılır derecede kuvvetli ram ve işlemci içeren raporlama sunucular.
Şimdi sizlere bu saydıklarımdan çok daha pratik bir uygulamadan bahsedeceğim.
Devexress paketinin içinde gelen Dashboardviewer ve Dashboard Designer bileşenleri. Dashboardviewer son kullanıcıya tasarlanmış bir dashboard’u gösterirken Designer adı üstünde bir dashboard tasarlamayı sağlıyor. Kodlama tarafı ise toplamda 8-10 satırda yapılabilecek derecede kolay. Geriye kalan herşeyi Designer’da kod yazmadan hallediyorsunuz. Ve o kadar pratik bir düşünce ile yapmışlar ki. Yazının ilerleyen bölümlerinde bunlara deneyeceğim.
Devexpress’i www.devexpress.com dan indirip kurduktan sonra Visual Studio da componentler otomatik olarak geliyor.
Sistem Visual Studio’nun eski sürümlerini de destekliyor. O yüzden ben burada özellikle Visual Studio 2012 üzerinde ekranları gösteriyor olacağım ve basitçe bir dashboard ekranını sıfırdan yapacağız.
Visual Studio’da yeni proje oluşturuyoruz. Framework minimum 4.7.2 olmasına dikkat ediyoruz.
Clik here to view.

Formumuzun üstüne bir viewer bir de designer butonu ekliyoruz. Birinde dashboard tasarlayacağız diğerinde son kullanıcıya göstereceğiz.
Clik here to view.

Şimdi bir tane designer formu ekliyoruz.
Clik here to view.

Formun adı frmDesigner
Clik here to view.

Formun üstüne Dashboard Designer componenti ekliyoruz.
Clik here to view.

Dashboard designer seçili iken dock kısmından fill yapıyoruz ki ekranı kaplasın.
Clik here to view.

Dashboard designer butonlarını getirmek için dashboard designer üzerine tıklayarak sağ üstte çıkan ok işaretinin üstüne tıklıyoruz ve Create Ribbon diyoruz.
Clik here to view.

Görüldüğü gibi ribbon ve butonlar oluşmuş durumda.
Clik here to view.

Şimdi formumuzu açılışta tam ekran olması için Window state özelliğini Maximized yapıyoruz.
Clik here to view.

Dashboard designer seçili iken DatasourceWizard içinde Enable CustomSQL true olarak işaretliyoruz ki ilerleyen bölümlerde bizim sql cümlesi yazmamıza izin versin.
Clik here to view.

Şimdi ana formumuz olan Form1 e dönüyoruz ve Designer butonunun altına 2 satırlık kodumuzu yazıyoruz.
Clik here to view.

Uygulamamızı çalıştırıyoruz ve Designer butonuna tıklıyoruz.
Nur topu gibi bir dashboard designer ekranımız var ve sadece iki satır kod yazdık.
Clik here to view.

Şimdi bir interaktif rapor ekranı tasarlayalım.
Bunun elimde olan bir market satış datasını kullanacağım. Yaklaşık 750.000 satırlık bir veri seti.
Clik here to view.

Clik here to view.

Elimizdeki verisetini bu şekilde gördükten sonra. (Tamamen dummy şekilde oluşturulmuş bir veriseti) şimdi dashboard umuzu oluşturmaya başlayalım.
File>New diyoruz.
Clik here to view.

Önümüze çıkan ekrandan datasource seçiyoruz. Biz MSSQL’e bağlanacağımız için Database diyoruz.
Clik here to view.

Görüldüğü gibi bir çok seçenek var ama biz MSSQL seçiyoruz.
Clik here to view.

Sunucu benim kendi makinem olduğu için localhost ve Windows authentication yazdım siz sql connection ile de bağlanabilirsiniz.
Clik here to view.

Burası query yazma ekranı. CustomSQL kısmını true ettiğimiz için buraya sql cümlesi yazmamıza izin veriyor.
Clik here to view.

SQL Cümlemizi yazıyoruz.
Clik here to view.

Next ve finish diyoruz.
Clik here to view.

Alanlarımız geldi.
Clik here to view.

Görüntüdeki dashboard’a benzer bir şey yapmaya çalışalım. Harita işini en son yapacağım. Bu arada ben bu dashboard u 10 dakikadan kısa sürede hazırladım. En çok zaman harcadığım şey ise Türkçeleştirme.
Clik here to view.

Haritadan sonra bir gridimiz var. Bunun için dashboard uma bir grid ekliyorum.
Clik here to view.

Clik here to view.

Buraya alanları ekleyeceğim. Önce şehir sonra toplam satış alanları olan CITY ve TOTAL alanları.
Clik here to view.

Clik here to view.

Grid içerisinde 4,68M demek 4.68 milyon demek. Yani kısaltma. Onun formatını değiştirelim. Bunun için aşağıdaki gibi yapıyoruz.
Clik here to view.

Clik here to view.

Şimdi oldu.
Clik here to view.

Sonra bir de ürün grubuna göre satışlar var.
Bunun için bir piechart ekliyoruz.
Clik here to view.

Clik here to view.

Arguments bölümüne CATEGORY1 values bölümüne TOTAL alanını atıyoruz.
Clik here to view.

Şimdi sırada en çok satış yapılan iller var. Bunun için bir chart atıyoruz.
Clik here to view.

Clik here to view.

Arguments kısmına CITY values kısmına TOTAL alanlarını atıyoruz.
Clik here to view.

Burada illerin tamamı geldi bize en çok satış yapılan 10 il gerekiyor.
Clik here to view.

Top N diyerek Count kısmına 10 yazıyoruz.
Clik here to view.

Böylece en çok satış yapılan 10 il geldi. Veri rastgele olduğu için illerin isimleri sizi şaşırtmasın.
Clik here to view.

Şimdi de aynısının en az satış yapılanı lazım. Bunun için chart1 componentini sağ tık duplicate diyerek kopyalıyoruz.
Clik here to view.

Clik here to view.

Şimdi aşağıdaki chart ı tersten sıralamamız gerekiyor. Bunun için top yerine bottom diyeceğiz. Bu component seçili iken CITY alanı üzerinde top n diyerek açılan menüde top yerine bottom seçiyoruz.
Clik here to view.

Clik here to view.

Clik here to view.

Sırada tarih aralığına göre satışlar var. Bunun için yine chart ekleyeceğiz.
Clik here to view.

Bu chart için argument alanına DATE_ alanını values alanına TOTAL alanını ekliyoruz.
Clik here to view.

DATE_ kısmını da gün/ay/yıl olarak işaretliyoruz.
Clik here to view.

Clik here to view.

Şimdi sırada cinsiyete göre satışlar var.
Bunun için yine bir piechart ekliyoruz.
Clik here to view.

Arguments kısmına MALE_FEMALE alanını Values kısmına TOTAL alanını ekliyoruz
Clik here to view.

Clik here to view.

Buraya kadar harita kısmı hariç hallettik. Şimdi sırada Türkçeleştirme var.
Bunun için ilgili component üzerinde sağ tık Edit Names diyoruz.
Clik here to view.

Clik here to view.

Clik here to view.

Aynı işlemi diğerlerinde de yaptığımızda aşağıdaki gibi görüntü elde ediyoruz.
Clik here to view.

Şimdi sırada harita ekleme işimiz var. Harita için Chropleth Map mensünü kullanarak bileşen ekliyoruz.
Clik here to view.

Clik here to view.

Default harita dünya haritası. Bizim ise Türkiye iller haritasına ihtiyacımız var. Bunun için Türkiye iller haritası shp diye Google a yazdığınızda rahatlıkla bulabileceğiniz bir harita dosyası mevcut.
Bu dosyayı bulduktan sonra harita üzerinde Load map deyip bu haritayı seçtiğinizde karşınızda Türkiye iller haritası.
Clik here to view.

Clik here to view.

Clik here to view.

Şimdi son olarak eldeki veriyi haritada gösterme işi kaldı. Bunun için, harita seçili iken Attribute kısmına CITY, Maps kısmına TOTAL alanlarını sürüklüyoruz. SHP dosyasındaki name alanı ile bizim CITY alanımız aynı değere sahip olduğu için haritamız otomatik renklendi.
Clik here to view.

CITY alanı üzerindeki zincir işaretine tıkladığımızda bu alanı shp dosyasındaki hangi özellik ile bağlayacağımızı gösteriyor ve seçtiriyor.
Clik here to view.

Harita seçili ike design menüsüne tıklıyoruz ve shape labels seçeneğine tıklıyoruz.
Clik here to view.

Burada title attribute alanında Name seçip include summary value dediğimizde haritanın üzerinde yazılar çıkıyor.
Clik here to view.

Clik here to view.

Vee artık dashboard tasarımı kabaca tamamlandı. Aşağıdaki halini aldı.
Clik here to view.

Şimdi bunu kullanıcıya gösterme durumu var. Şimdi bu tasarımı xml olarak kaydedeceğiz ve son kullanıcıya gösterecek hale getireceğiz. Not:XML tasarım içerisinde data olmaz sadece tasarımdır.
Clik here to view.

Clik here to view.

Tekrardan visual studio tarafına dönüyoruz.
Ve yeni bir form ekliyoruz. Formun adı frmViewer.
Clik here to view.

Clik here to view.

Bu form üzerine bir tane Dashboardviewer ekliyoruz.
Dock özelliğini fill yapıyoruz ve formun window state ini Maximize olarak işaretliyoruz.
Clik here to view.

Kod kısmına gelip buraya basit bir fonksiyon yazıyoruz.
Clik here to view.

Ana forma bir openfiledialog atıyoruz.
Clik here to view.

BtnViewer’ın altına şu kodu yazıyoruz.
Clik here to view.

Çalıştırdığımızda sistem bizden xml dosyasını seçmemizi istiyor.
Clik here to view.

Clik here to view.

Veee son kullanıcının gördüğü ekran.
Clik here to view.

Burada örnek olsun diye open dialog üzerinden dosya açtırdım. Yoksa siz istediğiniz dashboard’u istediğiniz kişiye yetkilendirecek şekilde butonlar ile doğrudan açtırabilirsiniz burada olduğu gibi.
Clik here to view.

Son olarak;
Dashboard componentinin olay karmaşıklaşmasın diye bir çok özelliğinden bahsetmediğimi bilmenizi isterim. Şimdilik şu kadarını söyleyerek bitireyim. Web desteği responsive olarak mevcut. Bu işlemlerin hepsini hem design hem view olarak webde de görebiliyorsunuz.
En önemli avantajlarını yazacak olursak
1.Bir lisans ile sınırsız sayıda dağıtım yapabilirsiniz.
2. Kullanımı çok pratik
3.Web ve mobilde kullanılmak üzere responsive desteği var.
4.Herhangi bir rapor sunucuya gerek duymuyor.
5.Bir çok veri kaynağını destekliyor.
6.Milyonlarca satırlık büyük verilerde iyi optimize edilirse gayet güzel çalışıyor.
Umarım sıkılmadığınız ve faydalandığınız bir yazı olmuştur.
Web demolarını görmek için
https://demos.devexpress.com/dashboard
Bu da mobil demo.
Sağlıcakla…
The post İş Zekası Uygulaması arayanlar için pratik çözüm Devexpress Dashboard appeared first on ÇözümPark.