FilemakerTurk, AYS Bilişim ve Beyaz Net tarafından desteklenmektedir.
Filemaker Danışmanınız
AYS Bilişim
Mehmet KAYA
 0532 231 07 27
 0216 318 55 80
 mkaya@aysbilisim.net
						

SQL kullanmadan bu ay ve gecen ayin bilgilerini stacked colomn grafigi ile nasil gosterebilirim?

0 oy
669 kez görüntülendi

Merhaba arkadaslar,

Yapmis oldugum bir Dashboard projesinde bir tamirat is yerinin 5 bayisinin haftalik ve aylik yaptiklari tamirlerin sayisini grafik olrak sunuyorum.

Suanki surumde grafikleri SQL ile alip her bayi icin haftalik yada aylik sonuclari area chart ile sunuyorum.

Ornegini assagida gorebilirsiniz. Bayilerden Almere, Nijmegen, Tilburg, Den Bosch ve Utrecht bayilerinin haftalara gore tamir sayilari yer almakta.

Simdi ben bu calismami SQL kullanmadan farkli bir grafik sunmak istiyorum.

Bu grafikte stacked colomn tarzini kullanmak istiyorum.

Sectigim ay yada hafta bilgilerini mevcut bayiler icin verirken bir onceki ayin veya haftanin bilgisinide grafikin alt tabakasinda vermek istiyorum.

Bu yapmak istedigimi SQL ile gayet basit bir sekilde yapabiliri, ancak ben bunu SQL kullanmadan yapmak istiyorum ve denedim malesef sadece secilen ay icin yapabildim ve stacked colomn grafik seklinde gecen ay yada haftayi sunamadim.

Assagida ornek verileri gorebilirsiniz.

http://filemakerturk.com/?qa=blob&qa_blobid=17323202371542480278

Bir tane grafik yaptim ancak ilk veri icin dogru gosteriyor ama bir onceki veriler icin sort islemini yaptiramadigim icin verileri dogru sekilde alamiyorum

 

 

HAM DATA:
http://filemakerturk.com/?qa=blob&qa_blobid=17815399913781784577

DOSYANIN SON HALI:
http://filemakerturk.com/?qa=blob&qa_blobid=13403018284860967694

3, Ocak, 2016 Raporlama kategorisinde Hamit Özsönmez (56,720 puan) tarafından soruldu
6, Ocak, 2016 Hamit Özsönmez tarafından düzenlendi

1 cevap

+1 oy
Bir tablo olusturun. Tarih ay hafta yil seklinde alanlarin olsun. Bu tablo sabit. Yilin tum gunlerini tarih alanina girin. Ay ve haftalarda tarih alanindan hesaplasin. Bu tarih alanini bayilere baglayin. Tabloya bir alan acin ve count ile toplattirin. Boylece elinde yilin her gunune ait toplamlar olusmus olur. Grafik adinda bir tablo olusturun. Ay ve yil ve hafta olarak alanlar acin. Grafigide iliskili kayitlardan aldirin. Istediginiz ay ve haftaya grafik bastirabilirsiniz. Bu gibi durumlarda sql rahatsiz edicici bir sekilde yavas calisir.
4, Ocak, 2016 Goksel_Gokce (98,530 puan) tarafından cevaplandı
Bilmiyorum ornek verilerin oldugu dosyayi indirip bakabildinizmi?

Ben tamda bahsettiginiz gibi veritabaninda haftalik, aylik verileri ayri alanlarda tutuyorum. Bayilerine gore bu toplamlari grafik icerisinde veriyorum. Ayni grafik icinde arka planda bir onceki ayin bilgilerini gostermek istiyorum

Ilk grafiki Daytotal_LOCATIONS::Name alani guzerinde group yaparak sunuyorum.

Arka plandaki grafikleride ayni sekilde yapmaya kalktim, ancak sadece 1 alan icin group yapilabiliniyor.

Yapmak istedigimi sql ile cok basit bir sekilde yaptim. Ama bu soylediginiz gibi rahatsiz edici bir agirlik getirdi
Dosyayı inceledim. Yanlış yoldan gidiyorsunuz. Ham data gerekiyor. Sayfaya toplamları almışsınız ve grafiğe basmışsınız. Benzer bir proje ile ilgileniyorum şuan. Tarih adında bir tablo açıp toplamları alıyorum. Data sonra bu tablodan istediğim grafiği basıyorum. Projeyi görmem gerekir. En azından ham data tablosu lazım.
Ben butun verileri faturalardan alip duz tablo icerisine aliyorum. Her aksam saat 10 da server side scripti calistirarak gunluk bayilerin sonucunu duz tabloya ekletiyorum. Yani suan 5 tane bayi var ve her gun icin 5 tane yeni record ekleniyor.

Recordlarin eklenmesinden sonra baska bir script calistirip bayilerin gunluk ve aylik toplamlarini yine ayni recordlar icinde hafta ve aylik isimli alanlara ekletiyorum. Bunu yapmamdaki amacim grafikler ve raporlarin sunuldugu rapor ve layoutlarimda mumkun olabildigince hesaplama isleminin yapilmasini istemeyisimden.

Gormek istediginiz ham data nin oldugu alanlarida export ederek yeniden bir dosya ekledim bayistatistikleri isminde. Onu inceleyebilirsiniz.

HAM DATA dosyasi:
http://filemakerturk.com/?qa=blob&qa_blobid=17815399913781784577
Gece iş yerinde bakarım.  Bıu arada hesaplama yapmadan rapor alamazsın. Düzgün programlanadığında hesaplamalar çok sorun çıkarmaz
Her hafta için bir kayıt olan bir tablo oluşturun. Yıl algoritmanız olması lazım. Tabloda hafta ay yıl bayi olsun.Her bayi için tablonun doldurulması gerekiyor.  Ham data tablosu ile Bayi Ay yıl hafta olarak ilişkilendirin. Tabloya toplam adında bir hesaplama alanı açın. ilişkili tablodan toplamları alsın. Her bayi içinde bir field olmalı formulü if(Bayi="Almere";Toplam). Bu her bayi için yapılmalı.

Grafik tablosu oluşturun ay yıl adında iki field açın. Ay tablosuna bağlayın. X series olarak Ay Bayi seçin. Series 1 2 3 4 5 olarakta oluşturduğunuz tablonun bayilerini seçin. Bir aylık olan daha fazla ay ve hafta aralıkları için biraz daha dolambaçlı bir yol izlemek lazım. Yapmak istediğiniz şey basit değil. Ayrıca bu gibi durumlarda sql pek tavsiye etmem. Çok yavaş çalışacaktır kayıtlar artınca bu mantıkta fazla yavaşlama olmaz.
Farki bir sekilde yaptim.

Data tablomu gordugunuz gibi icerisinde ham data ile haftalik veri sonuclari ve aylik veri sonuclari mevcut. Data tablom icerisinde bir tanede gun alanim var. Bu alan icerisinde ayin gunleri yer aliyor. Bu alani ben bool1 ile iliskilendirerek bu sekilde her bayinin ay icerisindeki tek kayitini aliyorum. Yani Group By gibi sonuc veriyor.

Data tablom icerisinde 2 alan daha olusturdum. Bu alanlarin ismi AY ve GECEN_AY_TOPLAM_tamirat seklinde oldu.

AY2 alanimin icerigi AY-1 seklinde hesaplanmakta.

Daha sonra DATA tablomi kendisi ile iliskilendirdim.

Soldaki tablo Bu ay verileri icin ve Sagdaki tablo gecen ay verileri icin. Iliskilendirmesinide
GUN = GUN
AY2 = AY
BAYI = BAYI
YIL = YIL
seklinde yaptim.
GECEN_AY_TOPLAM_tamirat alanimin icerigi Grafik_DATA__GecenAy::AY_TOPLAM_tamirat seklinde yaptim.

Bastaki Grafik tablomu Bu ay data tablom ile SECILENAY = AY seklinde yaparak grafikini gormek istedigim ayi seciyorum.

Grafik icerisinde X cubuk uzerindeki veriler bu ay tablosundan gun=1 alan sonuclari ile geliyor ve her bayi 1 kere yer aliyor.

Y cubugu uzerinde 2 tane veri girdim.
Birinci veri Bu ay tablosundan AY toplam sonucu sunuyor.
Ikinci veri Bu ay tablosundan GECENAY alanindan aliniyor. Boylece her bayi icin secilen ay ile gecen ay verisini sunabiliyorum.

Gormek ve incelemek isteyen arkadaslar olursa dosyanin son hali assagida.

DOSYANIN SON HALI:
http://filemakerturk.com/?qa=blob&qa_blobid=13403018284860967694
...