Bu makalede, bir kayıt kümesinde en son veya en erken tarihleri bulmak için en yüksek değer sorgularının ve toplam sorgularının nasıl kullanımı açıklanmıştır. Bu, bir müşterinin en son ne zaman sipariş vermesi veya satışlar için şehirlere göre en iyi beş çeyrek olduğu gibi çeşitli iş sorularını yanıtlamanıza yardımcı olabilir.
Bu makalede
Genel bakış
En yüksek değerler sorgusunu kullanarak verileri derece derecesini ve en yüksek dereceli öğeleri gözden geçirebilirsiniz. En iyi değer sorgusu, sonuçların en üstünde belirtilen sayıda veya değer yüzdesini döndüren bir seçme sorgusudur (örneğin, bir web sitesinde en popüler beş sayfa). En üstteki değerler sorgusunu her tür değere göre kullanabilirsiniz; bunların sayı olması gerekmz.
Sıralamadan önce verilerinizi gruplemek veya özetlemek için, en yüksek değer sorgusunu kullanmak zorunda değildir. Örneğin, şirketinizin faaliyette olduğu her şehir için, belli bir tarihteki satış rakamlarını bulmanız gerekmektedir. Bu durumda, şehirler kategorilere ayrılır (şehir başına verileri bulmaniz gerekir), dolayısıyla toplamlar sorgusunu kullanırsanız.
Bir tablo veya kayıt grubunda en son veya en erken tarihleri içeren kayıtları bulmak için en yüksek değer sorgusunu kullanırken, aşağıdakiler gibi çeşitli iş sorularını yanıtabilirsiniz:
-
Son zamanlarda en çok satış yapan kim?
-
Bir müşteri en son ne zaman sipariş verdi?
-
Ekipte sonraki üç doğum günü ne zaman?
En iyi değer sorgusunu oluşturmak için, bir seçme sorgusu oluşturarak başlayabilirsiniz. Ardından, verileri ister en üstte ister altta olsun, soruya göre sıralayın. Verileri grupla veya özetlemeniz gerekirse, seçme sorgusunu toplamlar sorgusuna dönüştürebilirsiniz. Daha sonra en yüksek veya en düşük değeri elde etmek için En Büyük veya En Küçük gibi bir toplama işlevi ya da en erken veya en geç tarihi elde etmek için İlk veya Son gibi bir toplama işlevi kullanabilirsiniz.
Bu makalede, kullanmakta olduğu tarih değerlerinin Tarih/Saat veri türüne sahip olduğu varsaydır. Tarih değerleriniz Metin alanında yer alan bir değerse, .
En üstteki değerler sorgusu yerine filtre kullanmayı düşünebilirsiniz
Belirli bir tarihiniz varsa, filtre genellikle daha iyidir. En yüksek değer sorgusunu oluşturmalı veya filtre uygulamalı olup olmadığınızı belirlemek için, şunları göz önünde önünde yapın:
-
Tarihle eşleşen, belirli bir tarihten önceki veya daha sonraki tüm kayıtları geri dönmek için filtre kullanın. Örneğin, Nisan ve Temmuz arasındaki satış tarihlerini görmek için bir filtre uygulayabilirsiniz.
-
Bir alanda en son veya en son tarihlere sahip belirli sayıda kaydı geri almak ve tam tarih değerlerini bilmiyorsanız veya bunların önemi yoksa, en iyi değerler sorgusunu oluşturursanız. Örneğin, en iyi beş satış üç aylık dönemlerini görmek için en yüksek değer sorgusunu kullanın.
Filtre oluşturma ve kullanma hakkında daha fazla bilgi için, Access veritabanında seçili kayıtları görüntülemek için filtre uygulama makalesine bakın.
Örnek verileri örneklerle birlikte takip edecek şekilde hazırlama
Bu makaledeki adımlar, aşağıdaki örnek tablolarda yer alan verileri kullanır.
Çalışanlar tablosu
LastName |
Ad |
Adres |
Şehir |
CountryOrR egion |
Doğum Tarihi |
İşe Alma Tarihi |
Çetinok |
Barış |
1 Ana Cadde |
Üsküdar |
USA |
05.02.1968 |
10-Haz-1994 |
Heloo |
Waleed |
Manolya Cad |
İzmir |
USA |
22.02.1957 |
22.1996 |
Pica |
Guido |
3122 75. Ave. S.W. |
Seattle |
USA |
11.11.1960 |
11.02.2000 |
Bagel |
Adem A.'nın |
1 Contoso Blvd. |
Londra |
UK |
22.Mar.1964 |
22.Haz-1998 |
Fiyat |
Julian |
Efe Sok 17/2 |
Bursa |
Meksika |
05-Haz-1972 |
05.05.2002 |
Hughes |
Oya |
3122 75. St. S. |
Seattle |
USA |
23.01.1970 |
23.Nis-1999 |
2010 |
Steve |
67. Sokak 12/3 |
Zonguldak |
USA |
14 Nis-1964 |
14.02.2004 |
Birkby |
Dana |
2 Burunlu Pkwy |
Portland |
USA |
29 Ekim-1959 |
29 Mar-1997 |
EventType tablosu
TypeID |
Olay Türü |
1 |
Ürün Lansmanı |
2 |
Corporate İşlevi |
3 |
Private İşlevi |
4 |
Fon Yükselten |
5 |
Ticari Gösteri |
6 |
Ders |
7 |
Konser |
8 |
Sergile |
9 |
Sokak Fuarı |
Müşteriler tablosu
MüşteriNo |
Şirket |
Kişi |
1 |
Meşe Ltd. Grafik |
Jonathan Haas |
2 |
Topaç Oyuncakçılık |
Ellen Adams |
3 |
Fabrikam |
Carol Philips |
4 |
Wingtip Toys |
Lucio Iallo |
5 |
A. Datum |
Mandar Samant |
6 |
Adventure Works |
Brian Burke |
7 |
Tasarım Enstitüsü |
Jaka Sten |
8 |
School of Fine Art |
Milena Duomanova |
Olaylar tablosu
Etkinlik Kimliği |
Olay Türü |
Müşteri |
Etkinlik Tarihi |
Fiyat |
1 |
Ürün Lansmanı |
Meşe Ltd. |
4/14/2011 |
10.000 TL |
2 |
Corporate İşlevi |
Topaç Oyuncakçılık |
4/21/2011 |
8.000 TL |
3 |
Ticari Gösteri |
Topaç Oyuncakçılık |
01.05.11 |
25.000 TL |
4 |
Sergile |
Grafik Tasarım Enstitüsü |
5/13/2011 |
4.500 TL |
5 |
Ticari Gösteri |
Meşe Ltd. |
5/14/2011 |
55.000 TL |
6 |
Konser |
School of Fine Art |
5/23/2011 |
12.000 TL |
7 |
Ürün Lansmanı |
A. Datum |
6/1/2011 |
15.000 TL |
8 |
Ürün Lansmanı |
Wingtip Toys |
6/18/2011 |
21.000 TL |
9 |
Fon Yükselten |
Adventure Works |
6/22/2011 |
1.300 TL |
10 |
Ders |
Grafik Tasarım Enstitüsü |
6/25/2011 |
2.450 TL |
11 |
Ders |
Meşe Ltd. |
04.07.2011 |
3.800 TL |
12 |
Sokak Fuarı |
Grafik Tasarım Enstitüsü |
04.07.2011 |
5.500 TL |
Not: Bu bölümdeki adımlarda, Müşteriler ve Olay Türü tablolarının Olaylar tablosuyla bire çok ilişkilerin "bir" tarafında bulunduğu varsayılacaktır. Bu durumda, Olaylar tablosu CustomerID ve TypeID alanlarını paylaşıyor. Sonraki bölümlerde açıklanan toplamlar sorguları bu ilişkiler olmadan çalışmaz.
Örnek verileri Excel çalışma sayfalarına yapıştırma
-
Excel'i başlatın. Boş bir çalışma kitabı açılır.
-
Çalışma sayfası eklemek için SHIFT+F11 tuşlarına basın (dört tane gerekir).
-
Örnek tablolardan her bir veriyi boş bir çalışma sayfasına kopyalayın. Sütun başlıklarını (ilk satır) dahil etmek.
Çalışma sayfalarından veritabanı tabloları oluşturma
-
Sütun başlıkları da içinde olmak üzere ilk çalışma sayfasından verileri seçin.
-
Gezinti Bölmesi'ne sağ tıklayın ve yapıştır'a tıklayın.
-
İlk satırın sütun başlıkları içerdiğini onaylamak için Evet'e tıklayın.
-
1-3. adımları kalan çalışma sayfalarının her biri için yineleyebilirsiniz.
En veya en son tarihi bulma
Bu bölümdeki adımlar, en iyi değerler sorgusunu oluşturma işlemini göstermek için örnek verileri kullanır.
Temel en önemli değerler sorgusu oluşturma
-
Oluştur sekmesinin Sorgular grubunda Sorgu Tasarımı üzerine tıklayın.
-
Çalışanlar tablosuna çift tıklayın ve sonra Kapat'a tıklayın.
Örnek verileri kullanıyorsanız, Sorguya Çalışanlar tablosu ekleyin.
-
Sorguda kullanmak istediğiniz alanları tasarım kılavuzuna ekleyin. Her alanı çift tıkladıktan sonra alan satırına sürükleyip boş bir hücreye bırakabilirsiniz.
Örnek tabloyu kullanıyorsanız Ad, Soyadı ve Doğum Tarihi alanlarını ekleyin.
-
En üst veya en alt değerlerini içeren alanda (örnek tabloyu kullanıyorsanız Doğum Tarihi alanı), Sırala satırına tıklayın ve Artan veya Azalan'ı seçin.
Azalan sıralama düzeni en son tarihi ve Artan sıralama düzeni de en erken tarihi döndürür.
Önemli: Sırala satırına yalnızca tarihlerinizi içeren alanlar için bir değer ayarlayabilirsiniz. Başka bir alan için sıralama düzeni belirtirsiniz, sorgu istediğiniz sonuçları geri dönmez.
-
Tasarım sekmesinin Araçlar grubunda, Tüm (En Önemli Değerler listesi) seçeneğinin yanındaki aşağı oka tıklayın ve görmek istediğiniz kayıt sayısını girin veya listeden bir seçenek belirtin.
-
Sorguyu
ve sonuçları Veri Sayfası görünümünde görüntülemek için Çalıştır'a tıklayın.
-
Sorguyu NextBirthDays olarak kaydedin.
Bu tür en önemli değerler sorgusunun, şirketin en eski veya en yeni kişisi olduğu gibi temel soruları yanıtlayana bakabilirsiniz. Sonraki adımlarda, sorguya güç ve esneklik eklemek için ifadelerin ve diğer ölçütlerin nasıl kullanımı açıklandı. Sonraki adımda gösterilen ölçütler, sonraki üç çalışan doğum günü verir.
Sorguya ölçüt ekleme
Bu adımlar, önceki yordamda oluşturulmuş sorguyu kullanır. Metin değerleri değil, gerçek Tarih/Saat verileri içerdiği sürece, bunu farklı bir en yüksek değer sorgusuyla birlikte takip edersiniz.
İpucu: Bu sorgunun nasıl çalıştığını daha iyi anlamak için, her adımda Tasarım görünümüyle Veri Sayfası görünümü arasında geçiş oluşturun. Gerçek sorgu kodunu görmek için SQL görünümüne geçme. Görünümler arasında geçiş yapmak için, sorgunun en üstünde sekmeye sağ tıklayın ve sonra istediğiniz görünüme tıklayın.
-
Gezinti Bölmesi'nde, NextBirthDays sorgusunu sağ tıklatın ve ardından Tasarım Görünümü'ni tıklatın.
-
Sorgu tasarım kılavuzunda, Doğum Tarihi'nin sağ sütununa şuni girin:
MonthYıl: DatePart("m",[Doğum Tarihi]).
Bu ifade, DatePart işlevini kullanarak Doğum Tarihi'den ayı ayıklar. -
Sorgu tasarım kılavuzunda bir sonraki sütuna şunları girin:
DayOfMonthAli: DatePart("d",[Doğum Tarihi])Bu
ifade, DatePart işlevini kullanarak Doğum Tarihi'ne göre ayın günlerini ayıklar. -
Az önce girdiğiniz iki ifadenin her biri için Göster satırdaki onay kutularını temizleyin.
-
Her ifadenin Sırala satırına tıklayın ve sonra Artan'ı seçin.
-
Doğum Tarihi sütununu ölçüt satırına şu ifadeyi yazın:
Month([Doğum Tarihi]) > Month(Date()) OR Month([Doğum Tarihi])= Month(Date()) AND Day([Doğum Tarihi])>Day(Date())Bu ifade
şunları yapar:-
Month( [Doğum Tarihi]) > Month(Date()) her çalışanın doğum tarihi gelecek bir aya denk gelecek olduğunu belirtir.
-
Ay( [Doğum Tarihi])= Month(Date()) And Day([Doğum Tarihi])>Day(Date()), doğum tarihi geçerli ayda gerçekleşirse doğum gününün geçerli güne veya o tarihten sonra olduğunu belirtir.
Kısacası, bu ifade 1 Ocak ile geçerli tarih arasında doğum gününün olduğu tüm kayıtları dışlar.
İpucu: Sorgu ölçütü ifadelerine daha fazla örnek için, sorgu ölçütü örnekleri makalesine bakın.
-
-
Tasarım sekmesinin Sorgu Yapısı grubunda, İade kutusuna 3yazın.
-
Tasarım sekmesinin Sonuçlar grubunda Çalıştır
'a tıklayın.
Not: Kendi verilerinizi kullanarak kendi sorgunuza, bazen belirttiğinizden daha fazla kayıtla bakabilirsiniz. Verileriniz en yüksek değerler arasında yer alan bir değeri paylaşmak için birden çok kayıt içeriyorsa, sorgunuz istediğinizden daha fazla kayıt döndürecek olsa bile bu tür kayıtların hepsini döndürecek.
Kayıt grupları için en son veya en son tarihleri bulma
Gruplara dönüşen kayıtların en erken veya en geç tarihlerini, örneğin şehre göre gruplara göre grup halinde etkinlikleri bulmak için toplamlar sorgusunu kullanırsiniz. Toplamlar sorgusu, her çıkış alanı için değerleri hesaplamak üzere toplama işlevlerini (Group By, Min,Max,Count, Firstve Lastgibi) kullanan bir seçme sorgusudur.
Kategoriler için kullanmak istediğiniz alanı (kategorilere göre grupla) ve özetlemek istediğiniz değerleri içeren alanı dahil eder. Olay türüne göre gruplama sırasında müşterilerin adları gibi başka çıktı alanları da kullanırsanız, sorgu bu alanları grup yapmak için de kullanır ve özgün sorunuza yanıt vermeleri için sonuçları değiştirir. Satırları başka alanları kullanarak etiketlemek için, toplamlar sorgusunu kaynak olarak kullanan ek bir sorgu oluşturur ve bu sorguya ek alanlar eklersiniz.
İpucu: Adımlarda sorgu oluşturmak, daha gelişmiş soruları yanıtlamak için çok etkili bir stratejidir. Karmaşık bir sorguyu çalışma konusunda sorun ediyorsanız, sorguyu bir dizi daha basit sorguya dönüştürip kesmeyebilirsiniz.
Toplamlar sorgusu oluşturma
Bu yordam, bu soruyu yanıtlamak için Events örnek tablosu ve EventType örnek tabloyu kullanır:
Konserler hariç her etkinlik türünün en son etkinliği ne zamandı?
-
Oluştur sekmesinin Sorgular grubunda Sorgu Tasarımı üzerine tıklayın.
-
Events ve EventType tablolarına çift tıklayın.
Her tablo, sorgu tasarımcısının en üst bölümünde görüntülenir. -
Alanları sorgu tasarım kılavuzuna eklemek için, EventType tablonun EventType alanına ve Events tablosundan EventDate alanına çift tıklayın.
-
Sorgu tasarım kılavuzunda, EventTypealanına ölçütler satırına Konser<>girin.
İpucu: Ölçüt ifadelerine daha fazla örnek için, sorgu ölçütü örnekleri makalesine bakın.
-
Tasarım sekmesininGöster/Gizle grubunda Toplamlar'a tıklayın.
-
Sorgu tasarım kılavuzunda, OlayDatı alanında Toplam satırına tıklayın ve sonra da En Büyük'e tıklayın.
-
Tasarım sekmesinin Sonuçlar grubunda Görünüm'ü ve ardından da SQL Görünümü'nü tıklatın.
-
SQL penceresinde, SELECT yan tümcesi sonunda, AS anahtar sözcüğünün hemen ardından MaxOfEventDate'ıMostRecent ile değiştirin.
-
Sorguyu MostRecentEventByType olarak kaydedin.
Daha fazla veri eklemek için ikinci sorgu oluşturma
Bu yordam, bu soruyu yanıtlamak için önceki yordamda yer alan MostRecentEventByType sorgusunu kullanır:
Her etkinlik türünün en son etkinliğinde müşteri kimdir?
-
Oluştur sekmesinin Sorgular grubunda Sorgu Tasarımı üzerine tıklayın.
-
Sorgular sekmesinde, MostRecentEventByType sorgusunu çift tıklatın.
-
Tablolar sekmesinde, Olaylar tablosuna ve Müşteriler tablosuna çift tıklayın.
-
Sorgu tasarımcısında, aşağıdaki alanlara çift tıklayın:
-
Olaylar tablosunda EventType'a çift tıklayın.
-
MostRecentEventByType sorgusunda, MostRecent'a çift tıklayın.
-
Müşteriler tablosunda Şirket'e çift tıklayın.
-
-
Sorgu tasarım kılavuzunda, EventType sütununu sırala satırda Artan'ı seçin.
-
Tasarım sekmesinin Sonuçlar grubunda Çalıştır'a tıklayın.