Sayfayı Yazdır | Pencereyi Kapat

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
Orjinalini yazan: taner 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
Orjinalini yazan: mbaykan 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
Orjinalini yazan: mbaykan 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_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 ("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.



Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 11.10 - http://www.webwizforums.com
Copyright ©2001-2017 Web Wiz Ltd. - https://www.webwiz.net