Yıl değişti diye hafta da değişmeyebilir
Haftalık çalışma raporunuzu yapay zekâya gruplattınız. 31 Aralık ve 1 Ocak aynı hafta içinde olmasına rağmen iki farklı satıra ayrıldı. Toplam kayıt sayısı hâlâ doğru görünüyor, fakat haftalık karşılaştırma parçalandı. Sorun tarihlerin yanlış okunması olmak zorunda değildir. Takvim yılı ile ISO hafta numarasını birleştiren anahtar, yıl sınırında aynı haftayı iki farklı yıl etiketiyle gösterebilir.
Bu uygulamada üç sentetik günlük kayıt kullanıyoruz. Tarihler saat içermeyen, yerel takvim günleri olarak verilmiştir; saat dilimi dönüşümü yapmıyoruz. Sayılar o gün tamamlanmış aynı tür çalışma kartlarının adetleridir. Bunlar gerçek öğrenme veya verimlilik sonucu değildir. Amaç, doğru tarihlerden yanlış grup anahtarı üretildiğinde toplamın korunmasına rağmen raporun nasıl bozulduğunu göstermektir.
| Kimlik | Tarih | Tamamlanan kart |
|---|---|---|
| H1 | 2026-12-31 | 2 |
| H2 | 2027-01-01 | 3 |
| H3 | 2027-01-04 | 4 |
Önce haftalık raporun hangi takvimi kullandığını kararlaştırın. Bu yazıda ISO hafta düzeni seçilmiştir. Kurumunuzun hafta başlangıcı veya raporlama yılı farklıysa aynı anahtarı doğrudan kullanmayın. “Haftalık” sözcüğü tek başına pazartesi başlangıcını veya ISO hafta yılını tanımlamaz. Kaynakta olmayan takvim kuralını yapay zekânın tahmin etmesi yerine, raporun sözleşmesine açıkça ekleyin.
Hafta numarasının yanında kendi yılı bulunur
Python’un tarih belgeleri ISO takvimini yıl, hafta ve haftanın günü olarak ayrı bileşenlerle açıklar. ISO haftası pazartesiden pazara gider; birinci hafta yılın ilk perşembesini içeren haftadır. Bu nedenle yılın başındaki bazı günler önceki ISO yılına, yılın sonundaki bazı günler sonraki ISO yılına ait olabilir. Takvim tarihi değişmez; değişen şey o tarihin hafta düzenindeki sınıflandırmasıdır.Kaynak: Python — date.isocalendar
Excel’de ISOWEEKNUM geçerli bir tarihin ISO hafta numarasını verir. Ancak tek başına bu numarayı almak, doğru hafta yılı anahtarını kurduğunuz anlamına gelmez. Bir tarihten takvim yılını, başka bir kuralla hafta numarasını çekip yan yana eklemek yıl sınırında sorun çıkarabilir. Kullanılan araçta hafta yılı ile hafta numarasının aynı takvim sözleşmesinden geldiğini doğrulayın.Kaynak: Microsoft — ISOWEEKNUM function
| Tarih | Takvim yılı | ISO yılı | ISO haftası | Hafta aralığı |
|---|---|---|---|---|
| 2026-12-31 | 2026 | 2026 | 53 | 2026-12-28 — 2027-01-03 |
| 2027-01-01 | 2027 | 2026 | 53 | 2026-12-28 — 2027-01-03 |
| 2027-01-04 | 2027 | 2027 | 1 | 2027-01-04 — 2027-01-10 |
H1 ve H2’nin doğru anahtarı 2026-W53’tür. H2’nin Ocak ayında olması, onu 2027-W53 diye adlandırmayı gerektirmez. H3 ise yeni haftanın pazartesidir ve 2027-W01 anahtarını alır. Anahtarda hafta numarasını iki haneli göstermek sıralamayı okunaklı hale getirebilir; esas doğruluk koşulu doğru hafta yılının kullanılmasıdır.
H1: 2026-12-31, 2 kart; H2: 2027-01-01, 3 kart; H3: 2027-01-04, 4 kart. Tarihler yerel takvim günü ve geçerli ISO tarih biçiminde. Rapor ISO hafta düzenini kullanıyor. Ham tarihleri koru; takvim yılı, ISO hafta yılı, hafta numarası ve pazartesi-pazar aralığını ayrı yaz. Sonra ISO yılı+hafta numarasıyla grupla. Takvim yılı+hafta numarası taslağının farkını göster. Toplamın tutmasını tek başına doğru gruplama kanıtı sayma.
9 kart doğru; dağılım yine de yanlış olabilir
| Yöntem | Anahtar | Kimlikler | Toplam |
|---|---|---|---|
| Kusurlu: takvim yılı + ISO hafta | 2026-W53 | H1 | 2 |
| Kusurlu: takvim yılı + ISO hafta | 2027-W53 | H2 | 3 |
| Kusurlu: takvim yılı + ISO hafta | 2027-W01 | H3 | 4 |
| Doğru: ISO yılı + ISO hafta | 2026-W53 | H1, H2 | 5 |
| Doğru: ISO yılı + ISO hafta | 2027-W01 | H3 | 4 |
İki yöntemde de toplam 9’dur. Bu yüzden yalnızca genel toplamı karşılaştıran kontrol geçer. Fakat kusurlu yöntemde bir hafta iki satıra ayrılmıştır. Denetim, aynı hafta aralığına düşen tarihlerin aynı anahtarda toplanmasını da sınamalıdır. Tablodaki yöntemler iki ayrı senaryodur; beş satırı birlikte toplayıp 18 kart varmış gibi raporlamayın.
from datetime import date
for value in ["2026-12-31", "2027-01-01", "2027-01-04"]:
year, week, day = date.fromisoformat(value).isocalendar()
print(value, year, week, day)
Beklenen: 2026-12-31 → 2026, 53, 4
Beklenen: 2027-01-01 → 2026, 53, 5
Beklenen: 2027-01-04 → 2027, 1, 1Kod örneği dosya değiştirmez veya dış hizmet çağırmaz; verilen üç tarihin takvim bileşenlerini gösterir. Tarihleri bir uygulamaya aktarırken önce gerçekten tarih türü olarak yorumlandıklarını kontrol edin. Görünen metin biçimi doğru olsa bile hücre düz metin olabilir. Bununla birlikte veri türünü düzeltmek yanlış hafta yılı kuralını kendiliğinden düzeltmez. İki kontrol ayrı yürütülmelidir.
- Ham tarihler çıktı tablosunda aynen korunmuş mu?
- ISO yılı, ISO hafta numarası ve hafta aralığı birbirini destekliyor mu?
- H1 ve H2 aynı grupta mı; H3 ayrı yeni haftada mı?
- Her kayıt bir kez sayılmış mı; doğru senaryonun toplamı 9 mu?
- Kısmi hafta ile tam hafta karşılaştırılıyorsa kapsam notu var mı?
3 Ocak kaydını hangi haftaya eklersiniz?
Dosyada haftalar metin olarak sıralanıyorsa sıralama kuralını da deneyin. Yalnızca hafta numarasına göre sıralamak farklı yıllardaki aynı numaraları yan yana getirebilir. Önce hafta yılı, ardından hafta numarasıyla sıralanan çıktı, bu raporun zaman düzenini korur. Ham tarih sütununu bu kontrol sırasında silmeyin.
Alıştırmada H4 kimliğiyle 2027-01-03 tarihinde bir kart daha tamamlandığını varsayın. H4’ün ISO hafta anahtarını, yeni haftalık toplamları ve genel toplamı yazın. Takvim yılına bakarak H4’ü H3’e eklemeyin. Önce tarihlerin aynı pazartesi-pazar aralığında olup olmadığını kontrol edin.
H4 pazar günüdür; 2026-W53 grubuna girer. Bu grubun toplamı 2 + 3 + 1 = 6 olur. 2027-W01 toplamı 4 kalır. Genel toplam 10’dur. Tarih 2027 olarak korunur; hafta yılı alanı 2026’dır.
Kendi raporunuzu denemek için yılın ortasından birkaç kolay tarih seçmek yeterli değildir. Yılın son günlerini, Ocak ayının ilk günlerini ve yeni haftanın pazartesisini birlikte kullanın. Teslim edeceğiniz örnekte ham tarih, takvim kuralı, hafta aralığı ve grup anahtarı görünür kalsın. Böylece yıl değiştiğinde raporun neden başka satıra geçtiğini açıklayabilirsiniz.
Kaynaklar ve doğrulama
- Microsoft — ISOWEEKNUM function
Geçerli tarihten ISO hafta numarası üretme; hafta yılı ayrı tutulur.
Erişim ve kontrol: - Python — date.isocalendar
ISO yıl, hafta ve haftanın günü ayrımı; ilk hafta ve perşembe kuralı.
Erişim ve kontrol:
Üretken Yapay Zekâ ile İş Verimliliği
Üretken Yapay Zekâ ile İş Verimliliği programını incelerken haftalık raporunuzdaki takvim kuralını not edin. Yıl sınırından seçilmiş birkaç kayıt, veri gruplama uygulaması için yararlı bir deneme seti sağlar.
- Bireysel tarih henüz açıklanmadı