çapraz sorgu ile istediğim şekilde istatistik raporu alabilir miyim?

15/05/2012, 21:24

WiniFred

Merhaba,
Bir istatistik raporu hazırlamam lazım. Çapraz sorguyla denedim fakat en fazla 1 adet sütun, 3 adet de satır başlığına izin veriyor. Özet Tablo ile (Pivot Table) çok kolay (ve çok hızlı) bir şekilde halledebilirim ama görünümü pek son kullanıcıya hitap etmiyor ve mümkünse standart rapor görünümünde istiyorum.

Access uygulama örneklerini 2003 ve 2007 sürümü olarak aşağıya ekledim. İstediğim rapor görünümünü ise Excel dosyası şeklinde oluşturdum ve ekledim.

Access örneğimden, Excel dosyasında göründüğü şekliyle rapor, bildiğimiz rapor yöntemleriyle hazırlanabilir mi? Yoksa her sayıyı function olarak module'de üretip yerlerine öyle yazmak mı gerekir? Eğer ikinci şekil mecburiyle daha ayrıntılı benzer raporlar sıkıntılı olacağı için özet tabloya yöneleceğim kabul görürse.

Değerli fikirlerinizi bekliyorum.
Saygılarımla...

CaprazSorguWiniFred.rar

RaporÖrnekGörünüm.rar


NOT: İstatistik oluşturulurken BilgiBankasi tablosunda DernekDurum ile DernekGirisTarihi ve DernekCikisTarihi; SandikDurum ile SandikGirisTarihi ve SandikCikisTarihi ilişkilendirilmeli.
15/05/2012, 23:30

ercansahin

Biraz uğraştırıcı bir yol oldu ancak, sanırım istediğiniz böyle bir şey...

Şimdilik sadece Ayrılanlar için düzenlendi, ancak üyeler için düzenlemek bundan sonra çok kolay olacaktır. ölçütteki <>1 yerine sadece 1 yazmanız yeterli olacaktır.

Ayrıca tarih kıstası girilmedi. Dört çapraz sorguya da tarihler getirilerek "Koşul" olarak özelliklendirilmeli ve ölçüt alanları ayarlanmalıdır.

Rapor1 i inceleyin, eğer isteğiniz böyle bir şey ise yukarıda belirttiğim eksiklikler tamamlanabilir. Kolay gelsin.

Not: Bu arada cinsiyet alanı boş olanlar getirilmemektedir, bilginize.

CaprazSorguWiniFred2007-1.rar
16/05/2012, 20:10

WiniFred

çok teşekkür ederim. kesinlikle istediğim gibi olmuş. ama nasıl yapıldığını anlamam için bayağı bir incelemem gerek gibi görünüyor. Sormam gereken birşey olursa dönüş yaparım.

emeğinize sağlık, çok sağolun...
20/05/2012, 13:37

WiniFred

Tekrar Merhaba,
Eklediğiniz uygulamayı inceliyorum. Sormak istediğim birşey var.

Ben satır başlığı olarak DURUM sütununun soluna MÜESSESE bilgisini de getirmek istedim (Aşağıya eklediğim RaporÖrnekGörünüm'deki gibi). Bunu yapmak istediğimde ayrılan kişilerin olmadığı müesseselere ait satırların sorgu sonucuna dahil edilmediğini gördüm. Sizin düzenlediğiniz uygulamada ise VEFAT bilgisi, değer olmadığı halde görünüyordu. Nedenini merak edip sizin sorgularınıza tarih kriteri ekledim. VEFAT bilgi satırı görünmedi bu şekilde.

Bilirsiniz ki bu tip istatik raporlarında tüm bilgilerin, değeri sıfır olsa da raporda görüntülenmesi istenir. Yani, yukarıdaki paragraftaki örneğe göre konuşursak, VEFAT satırının da raporda görüntülenmesi istenir (Daha iyi anlaşılabilmesi için şöyle bir örnek vereyim: Bir şirkette çalışanların unvan bazında sayılarını almak isteyelim. O şirkette Muhasebeci kadrosu olsun ama raporu almak istediğimiz anda Muhasebeci çalışanı olmasın. Muhasebeci unvanını raporda Sıfır olarak göstermezsek, yani bu unvana ait satır hiç gelmezse, raporu inceleyen yöneticiler bu unvanla ilgili yapılması gereken planları atlayabilirler).

Ayrıca şöyle birşey yaptım. rapor tasarımının düzgün çalışıp çalışmadığını kontrol etmek için memurdan bir kişiyi EMEKLİ yerine VEFAT yaptım. Böyle yapınca rapor tasarımı kaydı haliyle.

Anlayacağınız bu istatistik raporu meselesini çözemedim.

Emeğiniz için tekrar çok teşekkür ederim. Çözüm için fikirleriniz varsa bekliyorum.
Saygılarımla...

CaprazSorguWiniFred2007.rar

RaporÖrnekGörünüm.rar
20/05/2012, 21:27

WiniFred

dernek_isci sorgusunda LEFT JOIN kullanarak deneyim dedim, DurumTanim tablosundaki değerlerin 1 hariç hepsi gelsin diye, ama işe yaramadı nedense.

TRANSFORM Count(BilgiBankasi.Sicil) AS SaySicil
SELECT DurumTanim.AyrilmaNedeni
FROM DurumTanim LEFT JOIN BilgiBankasi ON DurumTanim.ID = BilgiBankasi.DernekDurum
WHERE (((DurumTanim.ID)<>1) AND ((BilgiBankasi.Sinif)=2) AND ((BilgiBankasi.[DernekCikisTarihi]) Between #1/1/2011# And #12/31/2011#))
GROUP BY DurumTanim.AyrilmaNedeni
PIVOT BilgiBankasi.Cinsiyet In ("ERKEK","KADIN");