satisi olmasa dahi raporda 0 olarak getirebilme
Nereden Yazdırıldığı: ERP Nedir? | Türkiye'nin ERP Forum Platformu
Kategori: ERP Genel
Forum Adı: ERP Excel Entegrasyonları
Forum Tanımlaması: ERP Excel Entegrasyonları İle İlgili Bilgiler ve Sorular İçin...
URL: http://www.erpne.org/forum_posts.asp?TID=2864
Tarih: 03 Nisan 2025 Saat 04:07 Program Versiyonu: Web Wiz Forums 11.10 - http://www.webwizforums.com
Konu: satisi olmasa dahi raporda 0 olarak getirebilme
Mesajı Yazan: kuzey_yolcu
Konu: satisi olmasa dahi raporda 0 olarak getirebilme
Mesaj Tarihi: 05 Aralık 2011 Saat 16:55
Arkadaslar merhaba, SELECT STOKCARIANALIZ.CGRUP_KODU, TBLCASABIT.CARI_ISIM, SUM(STOKCARIANALIZ.CIKISM-STOKCARIANALIZ.GIRISM), SUM(STOKCARIANALIZ.NETCIKISTUT-STOKCARIANALIZ.NETGIRISTUT)*1.18 FROM STOKCARIANALIZ LEFT JOIN TBLCASABIT ON TBLCASABIT.CARI_KOD= STOKCARIANALIZ.STHAR_ACIKLAMA WHERE STOKCARIANALIZ.STHAR_TARIH > "01.01.2011" AND STOKCARIANALIZ.CGRUP_KODU IS NOT NULL AND STOKCARIANALIZ.STHAR_HTUR IN ("J","L") AND STOKCARIANALIZ.STHAR_KOD1="S" AND STOKCARIANALIZ.SGRUP_KODU IN ("ABC") GROUP BY STOKCARIANALIZ.CGRUP_KODU,TBLCASABIT.CARI_ISIM ORDER BY STOKCARIANALIZ.CGRUP_KODU,TBLCASABIT.CARI_ISIM Bu kod ile cari listesinde grup kodu bos olmayan bütün bayilerin, abc grup kodlu ürünlerden aldiklari ve iade ettikleri miktarlari ve tutarlari (satis-iade) görebiliyorum. Istedigim sey, cari listesinde olan fakat bu gruptan satisi olmayan carileri de görebilmek. Yani A bayisi satis yapmadiysa bu abc ürün grubundan, o da gelsin. Ister sifir olsun, ister sadece A bayisinin ismi gelsin. Yeter ki gelsin yani:) Bu mümkün müdür? Acil ihtiyacim var arkadaslar.
------------- Sistem, çözümdür.
Sistem sonuçları üretir, insanlar sistemi yönetir.
|
Cevaplar:
Mesajı Yazan: taner
Mesaj Tarihi: 05 Aralık 2011 Saat 17:34
LEFT YERINE FUL OUTER JOIN YAPARAK DENERMISINIZ
------------- netsis ayna gibidir kim uyarlıyorsa o kadar cevap verir
|
Mesajı Yazan: kuzey_yolcu
Mesaj Tarihi: 06 Aralık 2011 Saat 08:30
taner Yazdı:
LEFT YERINE FUL OUTER JOIN YAPARAK DENERMISINIZ
|
Malesef olmadi. Zaten mantiga da ters. Fatura tipi J olanlari getir diyorum. Olmayan faturanin nesini 0 getirecek? Neyse tesekkür ederim.
------------- Sistem, çözümdür.
Sistem sonuçları üretir, insanlar sistemi yönetir.
|
Mesajı Yazan: Conari
Mesaj Tarihi: 07 Aralık 2011 Saat 15:16
STOKCARIANALIZ.
viewi sthar dan çeker ondan dolayi getiremezsiniz.
kendi viewinizi tanimlayin. tblcasabit baglanti sthar.
------------- Netsisden vazgeçemiyorum. Beni engelliyor..
|
Mesajı Yazan: mbaykan
Mesaj Tarihi: 08 Aralık 2011 Saat 11:57
SELECT sorgunuzun altina
UNION ALL SELECT GRUP_KODU,CARI_ISIM,0,0 FROM TBLCASABIT WHERE TBLCASABIT.GRUP_KODU='BAYI' AND CARI_KOD NOT IN (SELECT DISTINCT STHAR_ACIKLAMA FROM STOKCARIANALIZ WHERE STHAR_KOD1='S' AND SGRUP_KODU IN ('ABC')) ilave ederek deneyin
CARI grup kodunuzun 'BAYI' oldugunu kabul ettim siz ne isterseniz ona göre degistirin
Kolay gelsin
------------- Mehmet Baykan
|
Mesajı Yazan: kuzey_yolcu
Mesaj Tarihi: 09 Aralık 2011 Saat 15:01
mbaykan Yazdı:
SELECT sorgunuzun altina
UNION ALL SELECT GRUP_KODU,CARI_ISIM,0,0 FROM TBLCASABIT WHERE TBLCASABIT.GRUP_KODU='BAYI' AND CARI_KOD NOT IN (SELECT DISTINCT STHAR_ACIKLAMA FROM STOKCARIANALIZ WHERE STHAR_KOD1='S' AND SGRUP_KODU IN ('ABC')) ilave ederek deneyin
CARI grup kodunuzun 'BAYI' oldugunu kabul ettim siz ne isterseniz ona göre degistirin
Kolay gelsin
|
Sayin mbaykan, Select sorgum su SELECT STOKCARIANALIZ.CGRUP_KODU, TBLCASABIT.CARI_ISIM, SUM(STOKCARIANALIZ.CIKISM-STOKCARIANALIZ.GIRISM), SUM(STOKCARIANALIZ.NETCIKISTUT-STOKCARIANALIZ.NETGIRISTUT)*1.18 FROM STOKCARIANALIZ LEFT JOIN TBLCASABIT ON TBLCASABIT.CARI_KOD= STOKCARIANALIZ.STHAR_ACIKLAMA WHERE STOKCARIANALIZ.STHAR_TARIH > "01.01.2011" AND STOKCARIANALIZ.CGRUP_KODU IS NOT NULL AND STOKCARIANALIZ.STHAR_HTUR IN ("J","L") AND STOKCARIANALIZ.STHAR_KOD1="S" AND STOKCARIANALIZ.SGRUP_KODU IN ("ABC") GROUP BY STOKCARIANALIZ.CGRUP_KODU,TBLCASABIT.CARI_ISIM ORDER BY STOKCARIANALIZ.CGRUP_KODU,TBLCASABIT.CARI_ISIM Sizin yazdiginiz sorguyu buraya yerlestirip tekrar yollar misiniz? Ben nereye ekleyecegimi anlamadim. Hata veriyor. Grup kodunu kendime göre de ayarladim.
------------- Sistem, çözümdür.
Sistem sonuçları üretir, insanlar sistemi yönetir.
|
Mesajı Yazan: mbaykan
Mesaj Tarihi: 09 Aralık 2011 Saat 15:17
SELECT STOKCARIANALIZ.CGRUP_KODU, TBLCASABIT.CARI_ISIM, SUM(STOKCARIANALIZ.CIKISM-STOKCARIANALIZ.GIRISM) MIKTAR, SUM(STOKCARIANALIZ.NETCIKISTUT-STOKCARIANALIZ.NETGIRISTUT)*1.18 TUTAR FROM STOKCARIANALIZ LEFT JOIN TBLCASABIT ON TBLCASABIT.CARI_KOD= STOKCARIANALIZ.STHAR_ACIKLAMA
WHERE STOKCARIANALIZ.STHAR_TARIH > "01.01.2011" AND STOKCARIANALIZ.CGRUP_KODU IS NOT NULL AND STOKCARIANALIZ.STHAR_HTUR IN ("J","L") AND STOKCARIANALIZ.STHAR_KOD1="S" AND STOKCARIANALIZ.SGRUP_KODU IN ("ABC") GROUP BY STOKCARIANALIZ.CGRUP_KODU,TBLCASABIT.CARI_ISIM ORDER BY STOKCARIANALIZ.CGRUP_KODU,TBLCASABIT.CARI_ISIM UNION ALL SELECT GRUP_KODU,CARI_ISIM,0,0 FROM TBLCASABIT WHERE TBLCASABIT.GRUP_KODU='BAYI' AND CARI_KOD NOT IN (SELECT DISTINCT STHAR_ACIKLAMA FROM STOKCARIANALIZ WHERE STHAR_KOD1='S' AND SGRUP_KODU IN ('ABC'))
seklinde olacak hatayi ORDER BY ile ilgili satirda verirse
SELECT * FROM ( SELECT STOKCARIANALIZ.CGRUP_KODU, TBLCASABIT.CARI_ISIM, SUM(STOKCARIANALIZ.CIKISM-STOKCARIANALIZ.GIRISM) MIKTAR, SUM(STOKCARIANALIZ.NETCIKISTUT-STOKCARIANALIZ.NETGIRISTUT)*1.18 TUTAR FROM STOKCARIANALIZ LEFT JOIN TBLCASABIT ON TBLCASABIT.CARI_KOD= STOKCARIANALIZ.STHAR_ACIKLAMA
WHERE STOKCARIANALIZ.STHAR_TARIH > "01.01.2011" AND STOKCARIANALIZ.CGRUP_KODU IS NOT NULL AND STOKCARIANALIZ.STHAR_HTUR IN ("J","L") AND STOKCARIANALIZ.STHAR_KOD1="S" AND STOKCARIANALIZ.SGRUP_KODU IN ("ABC") GROUP BY STOKCARIANALIZ.CGRUP_KODU,TBLCASABIT.CARI_ISIM
UNION ALL SELECT GRUP_KODU,CARI_ISIM,0,0 FROM TBLCASABIT WHERE TBLCASABIT.GRUP_KODU="BAYI" AND CARI_KOD NOT IN (SELECT DISTINCT STHAR_ACIKLAMA FROM STOKCARIANALIZ WHERE STHAR_KOD1="S" AND SGRUP_KODU IN ("ABC")) ) A ORDER BY A.CGRUP_KODU,A.CARI_ISIM
olarak yazin Cari grup bilgisini tekrar ayarlayin. kolay gelsin (Extend ile yazacaginiz sorgunun 255 karakteri asmasi sorun olacaktir. sonradan hatirladim. Yukarida yazilan nerdeyse 900 karaktere yaklasiyor Sorgunuzu Stored Procedure yapip öyle çalistirin. SQL'de çalisabilir misiniz? )
------------- Mehmet Baykan
|
Mesajı Yazan: mbaykan
Mesaj Tarihi: 09 Aralık 2011 Saat 15:35
Sorgunuz Stored Procedure olursa
CREATE PROCEDURE dbo._CARI_RAPORUM AS BEGIN SELECT * FROM ( SELECT B.CGRUP_KODU, C.CARI_ISIM, SUM(B.CIKISM - B.GIRISM) MIKTAR, SUM(B.NETCIKISTUT - B.NETGIRISTUT)*1.18 TUTAR FROM STOKCARIANALIZ B (NOLOCK) LEFT JOIN TBLCASABIT C ON C.CARI_KOD= B.STHAR_ACIKLAMA
WHERE B.STHAR_TARIH > '2011-01-01' AND B.CGRUP_KODU IS NOT NULL AND B.STHAR_HTUR IN ('J','L') AND B.STHAR_KOD1='S' AND B.SGRUP_KODU IN ('ABC') GROUP BY B.CGRUP_KODU,C.CARI_ISIM
UNION ALL SELECT GRUP_KODU,CARI_ISIM,0,0 FROM TBLCASABIT C (NOLOCK) WHERE C.GRUP_KODU='BAYI' AND CARI_KOD NOT IN (SELECT DISTINCT STHAR_ACIKLAMA FROM STOKCARIANALIZ WHERE STHAR_KOD1='S' AND SGRUP_KODU IN ('ABC')) ) A --ORDER BY A.CGRUP_KODU,A.CARI_ISIM END
ile Database'inizde olusturun
EXEC dbo._CARI_RAPORUM ile çalistirip sonucu alirsiniz extend te EXEC syntax'i konusunda emin degilim EXECUTE(dbo._CARI_RAPORUM) seklinde de olabilir veya EXEC(dbo._CARI_RAPORUM) emin degilim
------------- Mehmet Baykan
|
Mesajı Yazan: kuzey_yolcu
Mesaj Tarihi: 10 Aralık 2011 Saat 09:43
Mehmet Bey, su sorgunuz çalisti: SELECT * FROM ( SELECT STOKCARIANALIZ.CGRUP_KODU, TBLCASABIT.CARI_ISIM, SUM(STOKCARIANALIZ.CIKISM-STOKCARIANALIZ.GIRISM) MIKTAR, SUM(STOKCARIANALIZ.NETCIKISTUT-STOKCARIANALIZ.NETGIRISTUT)*1.18 TUTAR FROM STOKCARIANALIZ LEFT JOIN TBLCASABIT ON TBLCASABIT.CARI_KOD=STOKCARIANALIZ.STHAR_ACIKLAMA WHERE STOKCARIANALIZ.STHAR_TARIH > "01.01.2011" AND STOKCARIANALIZ.CGRUP_KODU IS NOT NULL AND STOKCARIANALIZ.STHAR_HTUR IN ("J","L") AND STOKCARIANALIZ.STHAR_KOD1="S" AND STOKCARIANALIZ.SGRUP_KODU IN ("GES") GROUP BY STOKCARIANALIZ.CGRUP_KODU,TBLCASABIT.CARI_ISIM UNION ALL SELECT GRUP_KODU, CARI_ISIM, 0, 0 FROM TBLCASABIT WHERE TBLCASABIT.GRUP_KODU IS NOT NULL AND CARI_KOD NOT IN (SELECT DISTINCT STHAR_ACIKLAMA FROM STOKCARIANALIZ WHERE STHAR_KOD1="S" AND SGRUP_KODU IN ("GES")) ) A ORDER BY A.CGRUP_KODU, A.CARI_ISIM Sirasiyla bölge bölge satis yapan yapmayan tüm cariler geldi. Ilginiz için tesekkür ederim. Bu arada ben 255 karakter sorunu yasamiyorum. O konuda bir sikintim yok. Su sekilde yapiyorum çünkü: =NETSIS_DATA("Sayfa1";"A5";32767;Sayfa1!B2;"XSirket") B2 hücresine de sorguyu yerlestiriyorum. Böylelikle de uyari vermiyor.
------------- Sistem, çözümdür.
Sistem sonuçları üretir, insanlar sistemi yönetir.
|
Mesajı Yazan: kuzey_yolcu
Mesaj Tarihi: 10 Aralık 2011 Saat 10:16
Mehmet Bey, bir sorum daha olacakti. Ürün grup kodlarini degistirerek bu sorgu gibi 6-7 sorgu daha yazacagim yanyana. Bu yüzden sadece ilkinde cari grup kodu ve adi olmasi yeterli. Digerlerinde gelmesini istemiyorum. Bir iki sey denedim ama hata veriyor. Sizce bu yapilabilir mi? Yani bu çalisan sorguda grup kodu ve cari ismi olmamasi mümkün mü?
Yalniz yine sirali gelmesi gerekiyor grup kodu ve cari isme göre.
------------- Sistem, çözümdür.
Sistem sonuçları üretir, insanlar sistemi yönetir.
|
Mesajı Yazan: mbaykan
Mesaj Tarihi: 11 Aralık 2011 Saat 13:00
sizin tablonuzun degisik stok gruplarindan olusan sutunlar (miktar,tutar)' olacak.
sorgularinizi ayri ayri sheet(sayfa)ler de yapip (ilk sorgunuzun aynisi fakat farkli stok gruplari için - UNION ALL kismi olmasin-) ilk sheet(sayfa)ya dönüp 5.-6.sütunlara osatirdaki Cari isme göre diger sheet'lerde DÜSEYARA (vlookup) formülü ile degerleri göstermeniz benzer sekilde 7.-8. sütunlarda öteki sheet'e ait DÜSEYARA formülü yazarsaniz olacaktir.
satir 5: xyz abc sirketi 123 456.00 =DÜSEYARA(B5;Sayfa2!B2:C2000;2;YANLIS()) =DÜSEYARA(B5;Sayfa2!B2:D2000;3;YANLIS())
------------- Mehmet Baykan
|
Mesajı Yazan: kuzey_yolcu
Mesaj Tarihi: 12 Aralık 2011 Saat 08:30
mbaykan Yazdı:
sizin tablonuzun degisik stok gruplarindan olusan sutunlar (miktar,tutar)' olacak.
sorgularinizi ayri ayri sheet(sayfa)ler de yapip (ilk sorgunuzun aynisi fakat farkli stok gruplari için - UNION ALL kismi olmasin-) ilk sheet(sayfa)ya dönüp 5.-6.sütunlara osatirdaki Cari isme göre diger sheet'lerde DÜSEYARA (vlookup) formülü ile degerleri göstermeniz benzer sekilde 7.-8. sütunlarda öteki sheet'e ait DÜSEYARA formülü yazarsaniz olacaktir.
satir 5: xyz abc sirketi 123 456.00 =DÜSEYARA(B5;Sayfa2!B2:C2000;2;YANLIS()) =DÜSEYARA(B5;Sayfa2!B2:D2000;3;YANLIS())
|
Mehmet Bey, formüller excel'i çok kasiyor. O sekilde hazirlanmis bir raporum var. TOPLA.ÇARPIM formülünü kullandim. Yukaridaki raporda, stok grubu kisiti koymadan tüm verileri çektim. Sonra da formülle istedigim formatta bir rapor hazirladim. Fakat bunun yavasligini anlatmam mümkün degil. Sayfada 5000'den fazla formül var ve her seferinde bunlari hesaplamasi hizini acaip yavaslatiyor ki bu hiç verimli degil. Makroyla yapmayi da bilmiyorum henüz. O yüzden böyle bir yardim istedim. Amacim, satisi olsun olmasin bütün carileri getirmekti. O da yardiminizla oldu. Ama diger stok gruplari için cari adi ve cari grup kodu gelmemesi gerekiyor. Çünkü yanyana koyacagim. Bir sheette birden fazla sorgu olmasi sorun degil, onu yapabiliyorum da cari adi ve grup kodu gelmemesini yapamadim.
------------- Sistem, çözümdür.
Sistem sonuçları üretir, insanlar sistemi yönetir.
|
Mesajı Yazan: mbaykan
Mesaj Tarihi: 12 Aralık 2011 Saat 09:12
Sorgunuzdan Cari Grup ve Cari adin gelmemesi için SELECT ifadesinden sonra bunlara ilave olarak GROUP BY da da carigrup ve cari adin çikartilmasi istediginizi verir o zaman Bu sorgu Stok grup bazinda tüm carilerin toplamini gösterir istediginiz bu ise
SELECT SUM(STOKCARIANALIZ.CIKISM-STOKCARIANALIZ.GIRISM) MIKTAR,
SUM(STOKCARIANALIZ.NETCIKISTUT-STOKCARIANALIZ.NETGIRISTUT)*1.18 TUTAR FROM STOKCARIANALIZ LEFT JOIN TBLCASABIT ON TBLCASABIT.CARI_KOD=STOKCARIANALIZ.STHAR_ACIKLAMAWHERE
STOKCARIANALIZ.STHAR_TARIH > "01.01.2011" AND
STOKCARIANALIZ.CGRUP_KODU IS NOT NULL AND STOKCARIANALIZ.STHAR_HTUR IN
("J","L") AND STOKCARIANALIZ.STHAR_KOD1="S" AND
STOKCARIANALIZ.SGRUP_KODU IN ("kod")
------------- Mehmet Baykan
|
Mesajı Yazan: kuzey_yolcu
Mesaj Tarihi: 12 Aralık 2011 Saat 13:53
Söylediginiz sekilde denemistim ama hata veriyor. Ben de o sütunlari gizlemekle geçici bir çözüm buldum simdilik.
------------- Sistem, çözümdür.
Sistem sonuçları üretir, insanlar sistemi yönetir.
|
|