Yana Yana Listeleme

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Yana Yana Listeleme

Mesaj gönderen pro_imaj »

Merhaba,
Sağa doğru açılan sorgulamaları bir türlü beceremiyorum daha doğrusu mantığını bilmiyorum aşağıya doğru olan raporlarda pek sorun olmuyor ama. :oops: aşağıda biraz açıkladım...


Vasita, Tarih, Miktar diye 3 tane alanımız var. şöyle veri girişi yapılıyor.

Kod: Tümünü seç

Vasita                Tarih                  Miktar
27AA555            10/10/2005         100
27AA444            10/10/2005         50
27AA555            11/10/2005         78
27AA444            11/10/2005         66
şöyle bir şey isteniyor.

Kod: Tümünü seç

Vasita                    10/10/2005            11/10/2005    
27AA555                100                        78
27AA444                  50                        66
böyle bişey nasıl yaparım acab bu sağa doğru açılan raporlar hep isteniyor ama hep geri çevirmek zorunda kalıyorum.
teşekkür ederim
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

hocam iki tane SQL kullan birincisi ile group by ile sadece tarihleri ardından öteki sql ile kayıtları listele ve ardından bir döngü ile verileri tarihlere (ilk SQL deki) karşılaştırarak alanlara yerleştir...

eğer ikinci SQL deki tarih (group by de çıkan ilk tarih) ile aynı ise oraya yerleş gibi...


Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
doganzorlu
Kıdemli Üye
Mesajlar: 395
Kayıt: 22 Tem 2004 09:15
Konum: İzmir
İletişim:

Mesaj gönderen doganzorlu »

Selam,

Bu tip raporlara matrix raporlar denir. Öncelikle hücrede yeralan veri nedir ? x aracın y günü yaptığı kilometre örneğin.

select x,y,sum(km) toplam_yol from yol group by x,y

elinizde şu bilgi var;

A 01/01/2004 150
A 02/01/2004 175
A 03/01/2004 150
B 01/01/2004 230
B 03/01/2004 330

Elinizdeki raporlama aracında mutlaka matrix rapor diye bir seçenek vardır. En azından benim kullandıklarımda var. Bu sql i verip kendisine diyorsunuz ki kardeşim, kolonlarda y, satırlarda x var. Hücreleri de toplam_yol ile doldur.

Eğer elinizdeki araç bunu desteklemiyorsa işiniz uzun. Kolonları dinamik oluşturmanız gerekecek ki gerçekten uzun bir süreç bu.

Kolay gelsin,
Doğan Zorlu, İzmir

------------------------
"Bu Kitap'ı sana yalnız şunun için indirdik: Hakkında ayrılığa düştükleri şeyi onlara iyice açıklayasın ve Kitap, iman eden bir topluluk için kılavuz ve rahmet olsun." (NAHL 64)
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

bu işlerde kullanmak üzere TDecisionCube var delphide. siz sorguyu yazıp veriyorsunuz gerisini bu bileşen hallediyor. kullanıcı runtimeda colonların yerlerini istediği gibi değiştirebiliyor.

hali hazırdaki bileşenin tek eksiği raporlama için 3.parti ek bir bileşene ihtiyaç duyuyor.
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
doganzorlu
Kıdemli Üye
Mesajlar: 395
Kayıt: 22 Tem 2004 09:15
Konum: İzmir
İletişim:

Mesaj gönderen doganzorlu »

Selam,

Decision cube, yani karar küpü kavramını bilmeden o aracı kullanmamalısınız. Öncelikle Türkçe sıralama yapamıyor biliyorsunuz. İkincisi eğer bir liste olarak kullanırsanız çok yavaş çalışacaktır. Karar küpü, büyük bir veri seti içinden analiz yapmaya yönelik bir araçtır. Burada bahsedilen matrix rapor için uygun değildir zira görüntülenen kayıt sayısı çok fazla olacaktır. Kolon yerlerinin değiştirilmesinden ziyade verinin grubunun değiştirilerek veriye değişik profillerden bakabilmeyi sağladığı için kullanılmalıdır. Bir dc de kolon sayısı max 20 civarında, row sayısı da bakınca farklılığı farkedebileceğiniz kadar az olmalıdır. Grup toplamı alma işini bellekte hallettiği için yavaş çalışacaktır. SQL içinde gruplayıp getirmek her halükarda daha hızlı sonuç verecektir. Raporlama aracının detaylarına bakmalısınız. Mutlaka işinizi yapan özelliği vardır.
Doğan Zorlu, İzmir

------------------------
"Bu Kitap'ı sana yalnız şunun için indirdik: Hakkında ayrılığa düştükleri şeyi onlara iyice açıklayasın ve Kitap, iman eden bir topluluk için kılavuz ve rahmet olsun." (NAHL 64)
onaydin

Mesaj gönderen onaydin »

SQL ile yapılmış bu tarz örnekler için Cross Tabulations veya Cross Tabs şeklinde de arama yapılabilir.
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Mesaj gönderen pro_imaj »

Merhaba,

Cevaplarınız için sonsuz teşekkürler ederim.

Biz aslında bu işlemi Güneş programının teleskop diye çook süper bir raporlama aracı var onunla alabiliyoruz ama sorun bunu excele atarken saçmalıyor ve haddinden fazla yavaş çalışıyor. Kısacası olmuyor.

Ben delphi ile raporlama yaparken bu tür isteklerle hep karşılaşıyorum aslında müşteri açısından bakacak olursak çok mantıklı bir karar verme raporu isteniyor. eetabi yapmak karar vermek kadar kolay olmadığından kasıyor baya.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Cevapla