Merhabalar iki saat arasındaki satılan ürünleri raporlamak istiyorum yardımcı olurmusunuz
Merhaba,
İki saat aralığında satılan ürünleri raporlamak için Ürün Satış Raporunu açın ve yukarıda tarih yazılan yere saat aralığını manuel yazın ve yenile butonuna tıklayın yazdığınız saat aralığında rapor oluşacaktır.
bu şekilde değilde müşterim örn 12 ie 13 arasında döner 5 adet ayran 3 adet gibi saatlere göre ürünleri değiştirip satışlarını arttırmak istiyor
Tam olarak ne yapmak istediğinizi anlamakta güçlük çekiyoruz, açık açık tüm detayları ile senaryonuzu yazarsanız yardımcı olmak isteriz.
Aşağıdaki rapor işinizi görür mü ?
[Saatlik Satış Averajı: 15, 25, 15, 20, 20]
Saat|Satış|#TR|AVG TR|% Oranı
@@SalesPerHour:00,23
Raporun çalışması için aşağıdaki scripti de Otomasyon kısmındaki Komutlar bölümüne yapıştırmanız gerek.
Birebir aynı şekilde ayarlamayı unutmayın.
declare @StartDate datetime = '{Start}' -- use '{Start}' here
declare @EndDate datetime = '{End}' -- use '{End}' here
declare @StartHour int = @1 -- set the First Hour you want to track
declare @EndHour int = @2 -- set the Last Hour you want to track
/************************************/
declare @Hour int = 00.00
declare @TotalSales money = 0.00
declare @tbl_Sales table
(
[ID] INT IDENTITY(1,1) NOT NULL
,[Hour] VARCHAR(255)
,[Amount] decimal(9,2)
,[Tickets] int
,[AvgTx] decimal(5,2)
,[Percent] decimal(5,2)
)
set @Hour = @StartHour
WHILE @Hour < @EndHour+1
BEGIN
INSERT INTO @tbl_Sales
SELECT
@Hour as [Hour]
, SUM(CASE WHEN (DATEPART(hour,[Date])>=@Hour AND DATEPART(hour,[Date])<@Hour+1)
THEN [TotalAmount]
ELSE 0 END) as [Amount]
, COUNT(CASE WHEN (DATEPART(hour,[Date])>=@Hour AND DATEPART(hour,[Date])<@Hour+1)
THEN 1
ELSE null END) as [Tickets]
,0,0
FROM [dbo].[Tickets]
WHERE [Date]>=@StartDate AND [Date]<=@EndDate
SET @Hour = @Hour + 1
END
INSERT INTO @tbl_Sales
SELECT 'TTL', sum([Amount]), sum([Tickets]), 0, 0 FROM @tbl_Sales
set @TotalSales = (SELECT [Amount] FROM @tbl_Sales WHERE [Hour]='TTL')
UPDATE @tbl_Sales SET
[AvgTx] = (CASE WHEN [Tickets]=0 THEN 0 ELSE [Amount]/[Tickets] END)
,[Percent] = [Amount]/@TotalSales * 100
SELECT CASE
WHEN isnumeric([Hour])=1
THEN (CASE WHEN [Hour]<10 THEN '0'+[Hour]+':00' ELSE [Hour]+':00' END)
ELSE [Hour]
END as [Hour]
, [Amount], [Tickets], [AvgTx], [Percent]
FROM @tbl_Sales
Copy pasta yaptiginiz SQL komutunda hafta var gibi gorunhyor.
Apastrof yerine kesme isaretleri kullandiginiza dikkat ein.
` yanlis
' dogru
Komutun en sonunda UC tane apastrof kullanulmis. Onlari silin ve tekrar deneyin
dediğiniz gibi denedim ama değişen bişey olmadı
Ozaman bir yerde hata yapiyorsunuz.
Komut ve Rapor sorunsuz calisiyor. (sadece komutun en sonundaki 3 apastrof u kaldirin ve deneyin)
Çalışıyor Teşekkürler. #TR nedir?
teşekkürler suan çalışıyor
Söz konusu olan zaman araligindaki Ticketlerin Toplam Sayisi (Kac ticket acilmis veya kullanilmis gibi)