Sayfayı Yazdır | Pencereyi Kapat

Genel Toplam Alamıyorum

Nereden Yazdırıldığı: ERP Nedir? | Türkiye'nin ERP Forum Platformu
Kategori: ERP Genel
Forum Adı: ERP Rapor Hazırlama
Forum Tanımlaması: ERP Rapor Hazırlama
URL: http://www.erpne.org/forum_posts.asp?TID=3850
Tarih: 22 Kasım 2024 Saat 13:54
Program Versiyonu: Web Wiz Forums 11.10 - http://www.webwizforums.com


Konu: Genel Toplam Alamıyorum
Mesajı Yazan: xenium
Konu: Genel Toplam Alamıyorum
Mesaj Tarihi: 02 Eylül 2014 Saat 11:57
Merhaba üstadlar,

bir rapor yaptym ama raporun en altyna BORÇ ve ALACAK sütunlary için bir türlü GENEL TOPLAM alamadym.

Group by CUBE ve ROLLUP i?e yaramyyor..
Yardymcy olursanyz sevinirim..



KOD ?ÖYLE:

select
TBLCAHAR.CARI_KOD,TBLCASABIT.CARI_ISIM,TBLCASABIT.M_KOD AS 'MUH.KOD',TBLCASABIT.ISKONTO_ORANI AS 'YSK.ORAN',TBLCAHAR.BELGE_NO,TBLCAHAR.TARIH,TBLCAHAR.ACIKLAMA,
TBLCAHAR.BORC,TBLCAHAR.ALACAK
 from
TBLCAHAR


LEFT JOIN TBLCASABIT ON TBLCAHAR.CARI_KOD=TBLCASABIT.CARI_KOD
WHERE TBLCASABIT.M_KOD LIKE '120%'
ORDER BY ACIKLAMA



Cevaplar:
Mesajı Yazan: Conari
Mesaj Tarihi: 02 Eylül 2014 Saat 18:01
O ?ekilde toplam olmaz. altyna bunu ekleyin ama sütunlary doldurmak gerek.

UNION ALL
select

'','','',0','','','',sum(TBLCAHAR.BORC),sum(TBLCAHAR.ALACAK)
from TBLCAHAR LEFT JOIN TBLCASABIT ON TBLCAHAR.CARI_KOD=TBLCASABIT.CARI_KOD
WHERE TBLCASABIT.M_KOD LIKE '120%'
Group by
TBLCAHAR.CARI_KOD
ORDER BY ACIKLAMA

-------------
Netsisden vazgeçemiyorum. Beni engelliyor..


Mesajı Yazan: mbaykan
Mesaj Tarihi: 02 Eylül 2014 Saat 18:09
WITH CTE_TOPLAM as (SELECT 'z TOPLAM' ACIKLAMA,SUM(BORC) BORC_T,SUM(ALACAK) ALACAK_T
FROM TBLCAHAR A
INNER JOIN TBLCASABIT B ON A.CARI_KOD=B.CARI_KOD
WHERE B.M_KOD LIKE '120%')
SELECT * FROM 
(select
TBLCAHAR.CARI_KOD,TBLCASABIT.CARI_ISIM,TBLCASABIT.M_KOD AS 'MUH.KOD',TBLCASABIT.ISKONTO_ORANI AS 'YSK.ORAN',TBLCAHAR.BELGE_NO,TBLCAHAR.TARIH,TBLCAHAR.ACIKLAMA,
TBLCAHAR.BORC,TBLCAHAR.ALACAK
from TBLCAHAR
INNER JOIN TBLCASABIT ON TBLCAHAR.CARI_KOD=TBLCASABIT.CARI_KOD
WHERE TBLCASABIT.M_KOD LIKE '120%'
UNION ALL
SELECT NULL,NULL,NULL,0,NULL,NULL,ACIKLAMA,BORC_T,ALACAK_T
FROM CTE_TOPLAM) VV
ORDER BY ACIKLAMA

biraz uzun oldu
CTE'yi daha güzel kullanyp kysaltabilirsiniz



-------------
Mehmet Baykan


Mesajı Yazan: xenium
Mesaj Tarihi: 03 Eylül 2014 Saat 09:02
Te?ekkürler, mbaykan ve Conari.

Aslynda istedi?im ?öyle bir sonuç almakty.. Genel toplam aldy?ymyz bir yerlere " where STOK_KODU LIKE 'A%' gibi bir?ey yazmak mümkün mü? 

STOK KODI ADI MYKTAR TUTAR
A-001 STOK 1 1 10
A-002 STOK 2 1 10
A-003 STOK 3 1 10
A YLE BA?LAYANLARIN TOPLAMI 3 30
B-001 STOK 1 5 50
B-002 STOK 2 5 50
B-003 STOK 3 5 50
B YLE BA?LAYANLARIN TOPLAMI 15 150


Mesajı Yazan: mbaykan
Mesaj Tarihi: 03 Eylül 2014 Saat 09:08
siz biraz kurnazlyk yapyyorsunuz..Wink
önceki sogu CAHAR/CASABIT iken
?imdi STHAR/STSABIT'li bir rapor istedi?inizi söylüyorsunuz.
Cevaby conari ve benim yazdyklarymy birle?tirin



-------------
Mehmet Baykan


Mesajı Yazan: xenium
Mesaj Tarihi: 03 Eylül 2014 Saat 09:57
Hayyr hayyr kesinlikle kurnazlyk de?il LOL Üzüldüm ?imdi, hiç yapmady?ym bir ?eydir, bi daha soru sormayayym o zaman :)

Sadece manty?yny çözmek istiyorum. Ylk gönderdi?im raporu rastgele gönderdim size. Amaç neyi yapmak istedi?imi size ifade etmekti.

Rapor falan istemiyorum, nasyl yapylyr onu ö?renmek istiyorum.

Bu arada sizin rapor çaly?ty ama borç ve alacak toplamy yapty?ym testte do?ru çykmady sanki (belki tam test edemedim).
 Conari nin raporu ise ?u hatayy verdi:

Msg 156, Level 15, State 1, Line 13
Incorrect syntax near the keyword 'UNION'.
Msg 103, Level 15, State 4, Line 16
The identifier that starts with ',',',',sum(TBLCAHAR.BORC),sum(TBLCAHAR.ALACAK)
from TBLCAHAR LEFT JOIN TBLCASABIT ON TBLCAHAR.CARI_KOD=TBLCASABIT.CARI_KOD
WHERE TBLCASABIT.M_KOD LIKE ' is too long. Maximum length is 128.
Msg 105, Level 15, State 1, Line 18
Unclosed quotation mark after the character string '
Group by
TBLCAHAR.CARI_KOD
ORDER BY ACIKLAMA
'.


Mesajı Yazan: xenium
Mesaj Tarihi: 03 Eylül 2014 Saat 10:01
Bu arada yazdy?ym raporu payla?ayym,
genel toplamy bu ve buna benzer raporlarda uygulayacapym..

SELECT 

STOK_KODU,
(SELECT STOK_ADI FROM TBLSTSABIT WHERE TBLSTSABIT.STOK_KODU=TBLSTHAR.STOK_KODU) AS 'STOK ADI',
IRSALIYE_NO,STHAR_SIPNUM,
STHAR_BGTIP AS 'HAR.TYP',
CASE 
WHEN STHAR_BGTIP='I' THEN 'YRSALYYEDEN'
WHEN STHAR_BGTIP='F' THEN 'FATURADAN'

ELSE '0' END AS 'HAREKET NERDEN',



STHAR_GCKOD,STHAR_GCMIK AS MIKTAR,


 ISNULL(STHAR_NF*STHAR_GCMIK,0) AS 'NET ÇIKI? TUTAR',(SELECT OLCU_BR1 FROM TBLSTSABIT WHERE TBLSTSABIT.STOK_KODU=TBLSTHAR.STOK_KODU) AS 'Br',
 (SELECT DEPO_KODU FROM TBLSTSABIT WHERE TBLSTSABIT.STOK_KODU=TBLSTHAR.STOK_KODU) AS 'DEPO KODU',STHAR_TARIH,



LISTE_NO AS 'LYSTEDEKY KAÇINCI FYYAT',LISTE_FIAT AS 'HANGY LYSTE FYYATI',
STHAR_SATISK AS 'SATIR YSK.',
STHAR_SATISK2 AS '2.YSKONTO',STRA_SATISK3 AS '3.YSKONTO',
STRA_SATISK4 AS '4.YSKONTO',STRA_SATISK5 AS '5.YSKONTO',
STRA_SATISK6 AS '6.YSKONTO',


STHAR_ODEGUN,
DEPO_KODU,
FISNO,STHAR_CARIKOD AS 'CARY', 

STHAR_KOD1,
STHAR_KOD2,
KOSULKODU,
STHAR_HTUR,
CASE 
WHEN STHAR_HTUR='A' THEN 'DEVYR'
WHEN STHAR_HTUR='B' THEN 'DEPOLAR ARASI TRF.'
WHEN STHAR_HTUR='C' THEN 'ÜRETYM'
WHEN STHAR_HTUR='D' THEN 'MUHTELYF'
WHEN STHAR_HTUR='E' THEN 'MYKTARSIZ MALYYET'
WHEN STHAR_HTUR='F' THEN 'KONSYNYE'
WHEN STHAR_HTUR='H' THEN 'YRSALYYE TYPLY HAR.'
WHEN STHAR_HTUR='I' THEN 'KAPALI FATURA'
WHEN STHAR_HTUR='J' THEN 'AÇIK FATURA'

ELSE '0' END AS 'HAREKET',


STHAR_ODEGUN,VADE_TARIHI,
STHAR_FTIRSIP AS 'FAT.TIP',
CASE 
WHEN STHAR_FTIRSIP='1' THEN 'SATI? FATURASI'
WHEN STHAR_FTIRSIP='2' THEN 'ALI? FATURASI'
WHEN STHAR_FTIRSIP='3' THEN 'SATI? YRSALYYESY'
WHEN STHAR_FTIRSIP='4' THEN 'ALI? YRSALYYESY'
WHEN STHAR_FTIRSIP='5' THEN 'SATI? FATURASI'
WHEN STHAR_FTIRSIP='6' THEN 'MÜ?TERY SYPARY?Y'
WHEN STHAR_FTIRSIP='7' THEN 'SATICI SYPARY?Y'
WHEN STHAR_FTIRSIP='8' THEN 'DEPO ARASI TRF. GYRY?'
WHEN STHAR_FTIRSIP='9' THEN 'DEPO ARASI TRF. ÇIKI?'

ELSE '0' END AS 'FAT TYPY'





 FROM
TBLSTHAR
WHERE FISNO IS NOT NULL 
AND STHAR_GCKOD='C' AND STHAR_TARIH = '2014-08-25'
AND STHAR_HTUR='J' AND STOK_KODU LIKE 'M-%'


Mesajı Yazan: Conari
Mesaj Tarihi: 03 Eylül 2014 Saat 10:14
Arkada? ö?renmek istiyorsun iyi güzelde bu ?ekilde çok zor,
Kod hata verdi yerine neresinde hata oldu?unu bulmaya çaly?saydyn..

Kodu test etmeden, örneklemek için yazdyk.
Yoksa iki cümleyi birle?tirir verirdik.

Bir iki deneme yanylma yap, çözemezsen yardymcy oluruz tabii ki.

@Mbaykan hocam pat diye scripti veriyor. ma?allah

-------------
Netsisden vazgeçemiyorum. Beni engelliyor..


Mesajı Yazan: mbaykan
Mesaj Tarihi: 03 Eylül 2014 Saat 10:28
Raporunuza detayly bakamadym, ama toplamly (ara toplamly) bir sorgu
a?a?ydaki gibi olur. (yazdyktan sonra CTE'ye gerek olamady?yny da gördüm ama de?i?tirmedim)

WITH CTE_TOP AS (SELECT STOK_KODU,'~TOPLAM ' ACIKLAMA,
SUM(CASE WHEN STHAR_GCKOD='G' THEN STHAR_GCMIK ELSE 0 END) GIRIS, --TBLCAHAR'DA BORC ve ALACAK OLARAK AYRI ZATEN
SUM(CASE WHEN STHAR_GCKOD='C' THEN STHAR_GCMIK ELSE 0 END) CIKIS
FROM TBLSTHAR
GROUP BY STOK_KODU)
SELECT ZZ.STOK_KODU,B.STOK_ADI,STHAR_TARIH,FISNO, ACIKLAMA ,GIRIS,CIKIS
FROM 
(SELECT STOK_KODU,STHAR_TARIH,FISNO,STHAR_ACIKLAMA ACIKLAMA,
CASE WHEN STHAR_GCKOD='G' THEN STHAR_GCMIK ELSE 0 END GIRIS, --TBLCAHAR'DA BORC ve ALACAK OLARAK AYRI ZATEN
CASE WHEN STHAR_GCKOD='C' THEN STHAR_GCMIK ELSE 0 END CIKIS
FROM TBLSTHAR
UNION ALL
SELECT STOK_KODU,NULL,NULL,ACIKLAMA,GIRIS,CIKIS
FROM CTE_TOP) ZZ
JOIN TBLSTSABIT B ON ZZ.STOK_KODU=B.STOK_KODU
ORDER BY STOK_KODU,ACIKLAMA DESC


-------------
Mehmet Baykan


Mesajı Yazan: xenium
Mesaj Tarihi: 03 Eylül 2014 Saat 11:48
Merhaba Conari,


The identifier that starts with ',',',',sum(TBLCAHAR.BORC),sum(TBLCAHAR.ALACAK)
from TBLCAHAR LEFT JOIN TBLCASABIT ON TBLCAHAR.CARI_KOD=TBLCASABIT.CARI_KOD
WHERE TBLCASABIT.M_KOD LIKE ' is too long. Maximum length is 128.

iletisini görünce çok fazla ara?tyrmadym; aksi takdirde tabi ki iyice kontrol ederdim.
Ve dünden 1 saatimi genel toplam alma ilgili internette döküman okumayaa ayyrdym, yani emek sarfetmeden sizi rahatsyz etmek niyetinde de?ilim.


Mesajı Yazan: xenium
Mesaj Tarihi: 03 Eylül 2014 Saat 12:09
Kod için te?ekkürler mbaykan.

Raporunuz, a?a?ydaki mantykla bir sonuç veriyor. Yani her ürün için ayry ayry toplam alyyor.

STOK KODIADIMYKTARTUTAR
A-001STOK 1110
A-001STOK 1110
A-001STOK 1110
A-001 YN TOPLAMI330
B-002STOK 2550
B-002STOK 2550
B-002STOK 2550
B-002 YN TOPLAMI15150


Ama ben ?u ?ekilde almak istiyordum; mümkün müdür teknik olarak?

STOK KODIADIMYKTARTUTAR
A-001STOK 1110
A-002STOK 2110
A-003STOK 3110
A YLE BA?LAYANLARIN TOPLAMI330
B-001STOK 1550
B-002STOK 2550
B-003STOK 3550
B YLE BA?LAYANLARIN TOPLAMI15150


Mesajı Yazan: mbaykan
Mesaj Tarihi: 03 Eylül 2014 Saat 12:25
WITH CTE_TOP AS (SELECT STOK_KODU,'~TOPLAM ' ACIKLAMA,
SUM(CASE WHEN STHAR_GCKOD='G' THEN STHAR_GCMIK ELSE 0 END) GIRIS, --TBLCAHAR'DA BORC ve ALACAK OLARAK AYRI ZATEN
SUM(CASE WHEN STHAR_GCKOD='C' THEN STHAR_GCMIK ELSE 0 END) CIKIS
FROM TBLSTHAR
GROUP BY STOK_KODU),
CTE_1ST AS (SELECT LEFT(STOK_KODU,1) ILK,'~ '+LEFT(STOK_KODU,1)+' ILE BASLAYANLARIN TOP. ' ACIKLAMA,
SUM(CASE WHEN STHAR_GCKOD='G' THEN STHAR_GCMIK ELSE 0 END) GIRIS, --TBLCAHAR'DA BORC ve ALACAK OLARAK AYRI ZATEN
SUM(CASE WHEN STHAR_GCKOD='C' THEN STHAR_GCMIK ELSE 0 END) CIKIS
FROM TBLSTHAR
GROUP BY LEFT(STOK_KODU,1)),
CTE_ALL AS (SELECT '~~ GENEL TOPLAM ' ACIKLAMA,
SUM(CASE WHEN STHAR_GCKOD='G' THEN STHAR_GCMIK ELSE 0 END) GIRIS, --TBLCAHAR'DA BORC ve ALACAK OLARAK AYRI ZATEN
SUM(CASE WHEN STHAR_GCKOD='C' THEN STHAR_GCMIK ELSE 0 END) CIKIS
FROM TBLSTHAR
)
SELECT ZZ.STOK_KODU,B.STOK_ADI,STHAR_TARIH,FISNO, ACIKLAMA ,GIRIS,CIKIS
FROM 
(SELECT STOK_KODU,STHAR_TARIH,FISNO,STHAR_ACIKLAMA ACIKLAMA,
CASE WHEN STHAR_GCKOD='G' THEN STHAR_GCMIK ELSE 0 END GIRIS, --TBLCAHAR'DA BORC ve ALACAK OLARAK AYRI ZATEN
CASE WHEN STHAR_GCKOD='C' THEN STHAR_GCMIK ELSE 0 END CIKIS
FROM TBLSTHAR
UNION ALL
(SELECT ILK+'~',NULL,NULL,ACIKLAMA,GIRIS,CIKIS
FROM CTE_1ST
UNION ALL
(SELECT STOK_KODU,NULL,NULL,ACIKLAMA,GIRIS,CIKIS
FROM CTE_TOP
UNION ALL
SELECT '~~',NULL,NULL,ACIKLAMA,GIRIS,CIKIS
FROM CTE_ALL
))
) ZZ
LEFT JOIN TBLSTSABIT B ON ZZ.STOK_KODU=B.STOK_KODU
ORDER BY STOK_KODU DESC,STHAR_TARIH,ACIKLAMA DESC

kod syralamasy için ek kolona ihtiyaç var. Ben kestirmeden Stok kodunu azalan (DESC) 
yaparak görünümü çözdüm



-------------
Mehmet Baykan



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