Tarih tablosu oluşturma

Tamamlandı

Power BI’da rapor oluşturma sırasında, tarih ve saate dayalı hesaplamalar yapmak yaygın bir iş gereksinimidir. Kuruluşlar, işlerinin aylara, çeyreklere, mali yıllara vb.’ye göre performansını bilmek ister. Bu nedenle, bu zaman odaklı değerlerin düzgün şekilde biçimlendirilmesi kritik önem taşır. Power BI, tarih sütunlarını ve tabloları otomatik algılar; ancak kuruluşunuzun gerektirdiği biçimde tarihleri almak için ek adımlar atmanız gereken durumlar oluşabilir.

Örneğin, kuruluşunuzdaki Satış takımı için raporlar geliştirdiğinizi varsayın. Veritabanı; satışlar, siparişler, ürünler vb. için tablolar içeriyor. ShipDate ve OrderDate sütunları tarafından gösterildiği gibi, Satış ve Siparişler dahil bu tabloların birçoğunun kendi tarih sütunlarını içerdiğini fark ediyorsunuz. Size, yıla ve aya göre toplam satış ve siparişlerin tablosunu geliştirme görevi verildi. Her biri kendi tarih sütunlarına başvuran birden çok tabloyla nasıl bir görsel oluşturabilirsiniz?

Sales.ShipDate ve Order.OrderDate vurgulanmış semantik model alıntısının ekran görüntüsü.

Bu sorunu çözmek için, birden çok tablo tarafından kullanılabilecek bir ortak tarih tablosu oluşturabilirsiniz. Aşağıdaki bölümde, Power BI’da bu görevi nasıl tamamlayabileceğiniz açıklanmaktadır.

Ortak tarih tablosu oluşturma

Ortak tarih tablosu oluşturmanın yolları şunlardır:

  • Kaynak veriler

  • DAX

  • Power Query

Kaynak veriler

Bazen kaynak veritabanları ve veri ambarlarının zaten kendi tarih tabloları vardır. Veritabanını tasarlayan yönetici tam kapsamlı bir iş yaptıysa bu tablolar aşağıdaki görevleri gerçekleştirmek için kullanılabilir:

  • Şirket tatillerini tanımlama

  • Takvim yılını ve mali yılı ayırma

  • Hafta sonlarını ve haftanın günlerini tanımlama

Kaynak veri tabloları olgun ve anında kullanıma hazırdır. Böyle bir tablonuz varsa, bunu semantik modelinize getirin ve bu bölümde özetlenen başka bir yöntem kullanmayın. Bu büyük olasılıkla, Power BI’a ek olarak kullanıyor olabileceğiniz başka araçlarla paylaşılacağından bir kaynak tarih tablosu kullanmanızı öneririz.

Kaynak tarih tablonuz yoksa, bir ortak tarih tablosu oluşturmanın diğer yollarından yararlanabilirsiniz.

DAX

Ortak tarih tablonuzu oluşturmak için CALENDARAUTO() veya CALENDAR() Data Analysis Expression (DAX) işlevlerini kullanabilirsiniz. CALENDAR() işlevi, işleve bağımsız değişken olarak girilen bir başlangıç ve bitiş tarihine göre bitişik bir tarih aralığı döndürür. Alternatif olarak, CALENDARAUTO() işlevi semantik modelinizden otomatik olarak belirlenen bitişik, tam bir tarih aralığı döndürür. Başlangıç tarihi, semantik modelinizde var olan en erken tarih olarak seçilir ve bitiş tarihi, anlam modelinizde var olan en son tarih ve CALENDARAUTO() işlevine bağımsız değişken olarak eklemeyi seçebileceğiniz mali aya doldurulmuş verilerdir. Yalnızca 31 Mayıs 2011 (Satışın verilerini izlemeye başladığı ilk gün) ve sonraki 10 yıla ait verileri görmek istediğinizden, bu örneğin amaçları doğrultusunda CALENDAR() işlevi kullanılmıştır.

Power BI Desktop'de Yeni Tablo'yu seçin ve aşağıdaki DAX formülünü girin:

Dates  = CALENDAR(DATE(2011, 5, 31), DATE(2022, 12, 31))

Power BI'da TAKVİm formülünün ekran görüntüsü.

Şimdi, kullanabileceğiniz bir tarih sütununuz vardır. Ancak bu sütun biraz daha seyrektir. Ayrıca yalnızca yıl, ay numarası, yılın haftası ve haftanın günü için sütunları görmek istersiniz. Şeritte Yeni Sütun’u seçip şu DAX denklemini girip Tarih tablosundan yılı alarak bu görevi gerçekleştirebilirsiniz.

Year = YEAR(Dates[Date])

DAX denklemi kullanarak sütun ekleme ekran görüntüsü.

Ay numarasını, hafta numarasını ve haftanın gününü almak için aynı işlemi gerçekleştirebilirsiniz:

MonthNum = MONTH(Dates[Date])
WeekNum = WEEKNUM(Dates[Date])
DayoftheWeek = FORMAT(Dates[Date], "DDDD")

İşiniz bittiğinde tablonuz aşağıdaki şekilde gösterilen sütunları içerecektir.

DAX tablosundaki son sütunların ekran görüntüsü.

Şimdi DAX kullanarak bir ortak tarih tablosu oluşturdunuz. Bu işlem yalnızca yeni tablonuzu anlam modeline ekler; Yine de tarih tablonuzla Satış ve Sipariş tabloları arasında ilişkiler kurmanız ve ardından tablonuzu anlam modelinizin resmi tarih tablosu olarak işaretlemeniz gerekir. Ancak bu görevleri tamamlamadan önce ortak tarih tablosu oluşturmanın başka bir yolunu göz önünde bulundurduğunuzdan emin olun: Power Query’yi kullanma.

Power Query

Ortak tarih tablosu tanımlamak için Power Query’de sorgular derlemek için kullanılan geliştirme dili olan M dilini kullanabilirsiniz.

Power BI Desktop’ta Verileri Dönüştür seçeneğini belirleyin; böylece Power Query’ye yönlendirilirsiniz. Sol Sorgular bölmesinin boş alanında sağ tıklayarak aşağıdaki açılan menüyü açın ve burada Yeni Sorgu Boş Sorgu'yu >seçin.

Power BI'da yeni sorgu oluşturma ekran görüntüsü.

Sonuçta elde edilen Yeni Sorgu görünümünde bir takvim tablosu oluşturmak için şu M formülünü girin:

= List.Dates(#date(2011,05,31), 365*10, #duration(1,0,0,0))

Takvim tablosu geliştirmek için M formülü kullanmanın ekran görüntüsü.

Satış verileriniz için, başlangıç tarihinin verilerinizdeki en erken tarihi yansıtmasını istersiniz: 31 Mayıs 2011. Ek olarak, gelecekteki tarihler de dahil sonraki 10 yıla ait tarihleri de görmek istersiniz. Bu yaklaşım, yeni satış verileri geldikçe, bu tabloyu yeniden oluşturmanız gerekmemesini sağlar. Süreyi de değiştirebilirsiniz. Bu durumda her gün için bir veri noktası olmasını istersiniz, ancak saat, dakika ve saniye olarak da artırabilirsiniz. Aşağıdaki şekilde sonuç gösterilmektedir.

Liste olarak satış takviminin ekran görüntüsü.

İşlemde başarılı olduktan sonra, tarih tablosu yerine bir tarih listesi olduğunu fark edersiniz. Bu hatayı düzeltmek için şeritteki Dönüştür sekmesine gidin ve Tabloya Dönüştür'ü >seçin. Adından da anlaşılacağı gibi bu özellik, listenizi tabloya dönüştürür. Ayrıca sütunu DateCol olarak da yeniden adlandırabilirsiniz.

Power Query Düzenleyicisi'da listeyi tabloya dönüştürme işleminin ekran görüntüsü.

Daha sonra, görselinizde bir hiyerarşi oluşturabilmeniz için yeni tablonuza sütunlar ekleyerek yıl, ay, hafta ve gün olarak tarihleri görmek istersiniz. Birinci göreviniz, sütun adının yanındaki simgeyi seçip açılan menüden Tarih türünü seçerek sütun türünü değiştirmektir.

Türü tarih olarak değiştirme işleminin ekran görüntüsü.

Tarih türünü seçmeyi tamamladıktan sonra, yıl, ay, hafta ve gün için sütunlar ekleyebilirsiniz. Aşağıdaki şekilde gösterildiği gibi, Sütun Ekle seçeneğine gidin, Tarih bölümünden açılan menüyü seçin ve sonra Yıl’ı seçin.

Power Query sütun ekleme ekran görüntüsü.

Power BI’ın, DateCol sütunundan çekilen tüm yılların bir sütununu eklediğine dikkat edin.

Tabloya Power Query sütun ekleme ekran görüntüsü.

Aylar, haftalar ve günler için aynı işlemi tamamlayın. Bu işlemi tamamlamanızın ardından tablo, aşağıdaki şekilde gösterilen sütunları içerecektir.

DateCol, Year, Month, Week of Year ve Day Name sütunlarının ekran görüntüsü.

Şimdi bir ortak tarih tablosu oluşturmak için Power Query’yi başarıyla kullanmış oldunuz.

Önceki adımlar, tablonun anlam modeline nasıl alıneceğini gösterir. Şimdi, Power BI’ın tüm gelecekteki değerler için tablonuzu tanıyabilmesi ve biçimlendirmenin doğru olduğundan emin olabilmesi için tablonuzu resmi tarih tablosu olarak işaretlemeniz gerekir.

Resmi tarih tablosu olarak işaretleme

Tablonuzu resmi tarih tablosu olarak işaretlemek için ilk adım, Alanlar bölmesinde yeni tabloyu bulmaktır. Tablonun adına sağ tıklayın ve aşağıdaki şekilde gösterildiği gibi Tarih tablosu olarak işaretle’yi seçin.

Power BI, tablonuzu tarih tablosu olarak işaretleyerek bir zaman aralığında verilerin hiç null değer içermediğinden ve sürekli tarih değerleri içerdiğinden emin olmak için doğrulama gerçekleştirir. Tablonuzda belirli sütunları tarih olarak işaretlemek üzere de seçebilirsiniz; tablonuzda birçok sütun bulunduğunda bu kullanışlı olabilir. Tabloya sağ tıklayın, Tarih tablosu olarak işaretle'yi ve ardından Tarih tablosu ayarları'nı seçin. Hangi sütunun Tarih olarak işaretleneceğini seçebileceğiniz aşağıdaki pencere görüntülenir.

Tarih tablosu olarak işaretle iletişim kutusunun ekran görüntüsü.

Tarih tablosu olarak işaretle seçeneği belirlendiğinde, tarih tablosu olarak işaretlediğiniz tablodaki Tarih alanından otomatik olarak oluşturulan hiyerarşiler kaldırılır. Diğer tarih alanları için, siz bu alan ile tarih tablosu arasında bir ilişki oluşturuncaya veya Otomatik Tarih/Saat özelliğini kapatıncaya kadar otomatik hiyerarşi mevcut olmaya devam eder. Alanlar bölmesinde yıl, ay, hafta veya gün sütunlarına sağ tıklayıp Yeni hiyerarşi'yi seçerek ortak tarih tablonuza el ile hiyerarşi ekleyebilirsiniz. Bu işlem bu modülün ilerleyen bölümlerinde ele alınacaktır.

Görselinizi oluşturma

Satış ve Siparişler tabloları arasında görselinizi oluşturmak için, bu yeni ortak tarih tablosu ile Satış ve Siparişler tabloları arasında bir ilişki oluşturmanız gerekir. Sonuç olarak, yeni tarih tablosunu kullanarak görseller oluşturabilirsiniz. Bu görevi tamamlamak için Model sekmesinde >İlişkileri Yönet seçeneğine gidin; burada OrderDate sütununu kullanarak ortak tarih tablosu ile Siparişler ve Satış tabloları arasında ilişkiler oluşturabilirsiniz. Aşağıdaki ekran görüntüsünde böyle bir ilişkiye örnek gösterilmektedir.

İlişki oluştur iletişim kutusunun ekran görüntüsü.

İlişkileri oluşturduktan sonra, DAX veya Power Query yöntemini kullanarak geliştirdiğiniz ortam tarih tablonuzla Zamana Göre Toplam Satış ve Sipariş Miktarı görselinizi oluşturabilirsiniz.

Toplam satışları belirlemek için, Satış tablosundaki Tutar sütunu, toplam satış gelirine değil, yalnızca her bir satışın gelirine baktığından tüm satışı eklemeniz gerekir. İlerleyen kısımlarda açıklanacak olan aşağıdaki ölçü hesaplamasını kullanarak bu görevi tamamlayabilirsiniz. Bu ölçüyü oluştururken kullanacağınız hesaplama aşağıdaki gibidir:

#Total Sales = SUM(Sales[‘Amount’])

İşiniz bittiğinde, Görselleştirmeler sekmesine geri dönüp Tablo görselini seçerek bir tablo oluşturabilirsiniz. Yıla ve aya göre toplam siparişleri ve satışları görmek istiyorsunuz; bu nedenle yalnızca tarih tablonuzdaki Yıl ve Ay sütunlarını, OrderQty sütununu ve #TotalSales ölçüsünü eklemek istiyorsunuz. Hiyerarşiler hakkında bilgi edinirken, yıllardan ayların detayına gitmenize olanak sağlayacak bir hiyerarşi de oluşturabilirsiniz. Bu örnek için bunları yan yana görüntüleyebilirsiniz. Şimdi başarılı şekilde ortak tarih tablosuyla bir görsel oluşturdunuz.

DAX kullanan Ortak Tarih Sütununun ekran görüntüsü.