Power Pivot'taki tarih tabloları, zaman içindeki verilere göz atmak ve verileri hesaplamak için çok önemlidir. Bu makalede tarih tabloları ve Power Pivot'ta nasıl oluşturulabileceği ayrıntılı olarak anlaşılmaktadır. Özellikle, bu makalede şunlar açıklanmaktadır:
- Verilere tarih ve saate göre gözatmak ve bunları hesaplamak için tarih tablosu neden önemlidir?
- Veri Modeli'ne bir tarih tablosu eklemek için Power Pivot'ı kullanma.
- Tarih tablosunda Yıl, Ay ve Dönem gibi yeni tarih sütunları oluşturma.
- Tarih tablolarıyla olgu tabloları arasında ilişkiler oluşturma.
- Zamanla nasıl çalışılır.
Bu makale, Power Pivot'u yeni kullanmaya başlayan kullanıcılara yöneliktir. Bununla birlikte, verileri içeri aktarma, ilişkileri oluşturma, hesaplanmış sütunlar ve ölçümler oluşturma konusunda zaten iyi bir anlayışa sahip olmak önemlidir.
Bu makalede, ölçü formüllerinde DAX Time-Intelligence işlevlerinin nasıl kullanılacağı açıklanmamaktadır . DAX Akıllı Zaman Gösterimi işlevleriyle nasıl ölçü oluşturulacağı hakkında daha fazla bilgi için bkz. Excel'de Power Pivot'ta Akıllı Zaman Gösterimi.
Not
Power Pivot'ta, "ölçü" ve "hesaplanan alan" adları eş anlamlıdır. Bu makalenin tamamında ad ölçüsünü kullanıyoruz. Daha fazla bilgi için bkz: Power Pivot'ta Ölçüler.
İçindekiler
Tarih tablolarını anlama
Veri çözümleme işlemlerinin neredeyse tamamı, tarih ve saate göre verilere göz atma ve verileri karşılaştırmayı içerir. Örneğin, geçmiş mali çeyreğe ait satış tutarlarının toplamını alıp bu toplamları diğer üç aylık dönemlerle karşılaştırmak veya bir hesabın ay sonu kapanış bakiyesini hesaplamak isteyebilirsiniz. Bu durumların her birinde, belirli bir zaman dilimine ilişkin satış hareketlerini veya bakiyeleri gruplandırmanın ve toplamanın bir yolu olarak tarihleri kullanırsınız.
Power View raporu
Tarih tablosu tarihlerin ve saatin birçok farklı gösterimini içerebilir. Örneğin, tarih tablosunda genellikle Mali Yıl, Ay, Çeyrek veya Dönem gibi sütunlar bulunur ve bunları PivotTable'larda veya Power View raporlarında verilerinizi dilimler ve filtrelerken Alan Listesinden alan olarak seçebilirsiniz.
Power View Alan listesi
Yıl, Ay ve Çeyrek gibi tarih sütunlarının kendi ilgili aralıklarında yer alan tüm tarihleri içermesi için, tarih tablosunda birbirini izleyen bir dizi tarihin bulunduğu en az bir sütun olmalıdır . Başka bir deyişle, bu sütunda tarih tablosuna eklenen her yıl için her gün için bir satır bulunmalıdır.
Örneğin, göz atmak istediğiniz verilerin tarihleri 1 Şubat 2010 ile 30 Kasım 2012 arasındaysa ve bir takvim yılını raporluyorsanız, en azından 1 Ocak 2010 ile 31 Aralık 2012 arasında bir tarih aralığına sahip bir tarih tablosu isteyebilirsiniz. Tarih tablonuzdaki her yıl, her yıl için tüm günleri içermelidir. Verilerinizi düzenli olarak yeni verilerle yenileyecekseniz, zaman geçtikçe tarih tablonuzu güncelleştirmek zorunda kalmamak için bitiş tarihini bir veya iki yıl geciktirmek isteyebilirsiniz.
Birbirini izleyen bir dizi tarihin bulunduğu tarih tablosu
Bir mali yılı raporluyorsanız, her mali yıl için birbirini izleyen tarihler içeren bir tarih tablosu oluşturabilirsiniz. Örneğin, mali yılınız 1 Mart'ta başlıyorsa ve 2010'dan cari tarihe kadar olan mali yıllara ait verileriniz varsa (örneğin, 2013 mali yılında), 01.03.2009 tarihinde başlayan ve 2013 Mali Yılı'nın son tarihine kadar her mali yılın en az her gününü içeren bir tarih tablosu oluşturabilirsiniz.
Hem takvim yılı hem de mali yıl hakkında raporlama yapacaksanız, ayrı tarih tabloları oluşturmanız gerekmez. Tek bir tarih tablosu bir takvim yılının, mali yılın ve hatta on üç dört haftalık dönem takviminin sütunlarını içerebilir. Önemli olan, tarih tablonuzun dahil edilen tüm yıllar için birbirini izleyen bir dizi tarih içermesidir.
Veri Modeli'ne tarih tablosu ekleme
Veri Modelinize tarih tablosu eklemenin çeşitli yolları vardır:
- İlişkisel veritabanından veya başka bir veri kaynağından içeri aktarın.
- Excel'de bir tarih tablosu oluşturun ve ardından Power Pivot'ta yeni bir tabloya kopyalayın veya bağlanın.
- Microsoft Azure Marketi'nden içeri aktarın.
Bunların her birine daha yakından bakalım.
İlişkisel veritabanından içeri aktarma
Verilerinizin bir kısmını veya tamamını bir veri ambarından veya başka türden bir ilişkisel veritabanından içeri aktarıyorsanız, büyük olasılıkla zaten bir tarih tablosu ve bu tabloyla içeri aktarmakta olduğunuz verilerin geri kalanı arasında ilişkiler vardır. Tarihler ve biçim büyük olasılıkla olgu verilerinizdeki tarihlerle eşleşir ve tarihler büyük olasılıkla geçmişte başlar ve çok daha ileriye gider. İçeri aktarmak istediğiniz tarih tablosu çok büyük olabilir ve Veri Modelinize eklemeniz gereken tarihlerin ötesinde bir tarih aralığı içerebilir. Power Pivot'un Tablo İçeri Aktarma Sihirbazı'nın gelişmiş filtre özelliklerini kullanarak, gerçekten ihtiyacınız olan tarihleri ve belirli sütunları seçerek seçebilirsiniz. Bu, çalışma kitabınızın boyutunu önemli ölçüde azaltabilir ve performansı artırabilir.
Tablo İçeri Aktarma Sihirbazı
Çoğu durumda, Mali Yıl, Hafta, Ay Adı gibi başka sütunlar oluşturmanız gerekmez, çünkü bunlar içeri aktarılan tabloda zaten var olacaktır. Ancak bazı durumlarda, veri modelinize tarih tablosunu aktardıktan sonra, belirli bir raporlama ihtiyacına bağlı olarak ek tarih sütunları oluşturmanız gerekebilir. Neyse ki, DAX kullanarak bunu yapmak kolaydır. Daha sonra tarih tablosu alanları oluşturma hakkında daha fazla bilgi edineceksiniz. Her ortam farklıdır. Veri kaynağınızda ilgili bir tarih veya takvim tablosu bulunduğundan emin değilseniz, veritabanı yöneticinizle görüşün.
Excel'de tarih tablosu oluşturma
Excel'de bir tarih tablosu oluşturabilir ve sonra bu tabloyu Veri Modeli'nde yeni bir tabloya kopyalayabilirsiniz. Bunu yapmak gerçekten oldukça kolaydır ve size çok fazla esneklik sağlar.
Excel'de bir tarih tablosu oluşturduğunuzda, işe bitişik tarih aralıkları içeren tek bir sütunla başlarsınız. Bundan sonra, Excel formüllerini kullanarak Excel çalışma sayfasında Yıl, Çeyrek, Ay, Mali Yıl, Dönem vb. gibi ek sütunlar oluşturabilir veya tabloyu Veri Modeli'ne kopyaladıktan sonra bunları hesaplanmış sütunlar olarak oluşturabilirsiniz. Power Pivot'ta ek tarih sütunları oluşturma, bu makalenin devamındaki Tarih Tablosuna Yeni Tarih Sütunları Ekleme bölümünde anlatılmaktadır.
Nasıl yapılır: Excel'de bir tarih tablosu oluşturma ve bunu Veri Modeli'ne kopyalama
Excel'de, boş bir çalışma sayfasındaki A1 hücresine bir tarih aralığı belirlemek için sütun başlığı adını yazın. Normalde, bu Tarih, TarihSaat veya TarihAnahtarı gibi bir şey olur.
A2 hücresine bir başlangıç tarihi yazın. Örneğin, 1/1/2010.
Doldurma tutamacını tıklatın ve bitiş tarihini içeren bir satır numarasına sürükleyin. Örneğin, 31.12.2016.
Tarih sütunundaki tüm satırları seçin (A1 hücresindeki başlık adı dahil).
Stiller grubunda Tablo Olarak Biçimlendir'i tıklatın ve sonra bir stil seçin.
Tablo Olarak Biçimlendir iletişim kutusunda Tamam'ı tıklatın.
Başlık da dahil olmak üzere tüm satırları kopyalayın.
Power Pivot'ta, Giriş sekmesinde Yapıştır'a tıklayın.
Önizleme Tablo Adını> Yapıştır alanına Tarih veya CalendarCalendar gibi bir ad yazın. Use first row as column headers (İlk satırı sütun başlıkları olarak kullan) seçeneğini işaretli bırakın ve ardından Tamam'a tıklayın.
Power Pivot'taki yeni tarih tablosu (bu örnekte CalendarCalendar olarak adlandırılır) şöyle görünür:
Not
Veri Modeline Ekle'yi kullanarak da bağlantılı tablo oluşturabilirsiniz. Ancak, çalışma kitabınızda tarih tablosunun iki sürümü bulunduğundan bu durum çalışma kitabınızı gereksiz yere büyük yapar; biri Excel'de, diğeri Power Pivot'ta.
Not
Tarih adı, Power Pivot'ta bir anahtar sözcüktür. Power Pivot'ta oluşturduğunuz tabloya Tarih adını veriyorsanız, bağımsız değişkende bu tabloya başvuran tüm DAX formüllerinde tablo adını tek tırnak içine almanız gerekir. Bu makaledeki tüm örnek resimler ve formüller, Power Pivot'ta oluşturulan CalendarCalendar adlı bir tarih tablosuna atıfta bulunmaktadır.
Artık Veri Modelinizde bir tarih tablonuz vardır. DAX kullanarak Yıl, Ay vb. gibi yeni tarih sütunları ekleyebilirsiniz.
Tarih tablosuna yeni tarih sütunları ekleme
Her yıl için her gün için bir satır içeren tek bir tarih sütunu olan bir tarih tablosu, bir tarih aralığındaki tüm tarihleri tanımlamak için önemlidir. Olgu tablosu ile tarih tablosu arasında bir ilişki oluşturmak için de gereklidir. Ancak, her gün için bir satır içeren bu tek tarih sütunu, bir PivotTable veya Power View raporundaki tarihlere göre çözümleme yaparken kullanışlı değildir. Tarih tablonuzun, bir tarih aralığı veya grubu için verilerinizi toplamanıza yardımcı olacak sütunlar içermesini istiyorsunuz. Örneğin, satış tutarlarını aya veya üç aylık döneme göre toplamak isteyebilirsiniz ya da yıldan yıla büyümeyi hesaplayan bir ölçü oluşturabilirsiniz. Bu durumların her birinde, tarih tablonuzda o döneme ilişkin verilerinizi toplamanızı sağlayacak yıl, ay veya çeyrek sütunları gerekir.
Tarih tablonuzu ilişkisel bir veri kaynağından içeri aktardıysanız, istediğiniz farklı türde tarih sütunlarını zaten içeriyor olabilir. Bazı durumlarda, bu sütunlardan bazılarını değiştirmek veya ek tarih sütunları oluşturmak isteyebilirsiniz. Özellikle Excel'de kendi tarih tablonuzu oluşturup bunu Veri Modeli'ne kopyalarsanız geçerlidir. Neyse ki, DAX'taki Tarih ve Saat İşlevleri sayesinde Power Pivot'ta yeni tarih sütunları oluşturmak oldukça kolaydır.
İpucu
Henüz DAX ile çalışmadıysanız, öğrenmeye başlamak için harika bir yer Hızlı Başlangıç: Office.com'da 30 Dakikada DAX Temellerini Öğrenin.
DAX Tarih ve Saat İşlevleri
Excel formüllerindeki tarih ve saat işlevleriyle daha önce çalıştıysanız, büyük olasılıkla Tarih ve Saat İşlevlerini biliyorsunuzdur. Bu işlevler Excel'deki eş değerleriyle benzer olsa da aralarında bazı önemli farklar vardır:
- DAX Tarih ve Saat işlevleri datetime veri türünü kullanır.
- Bir sütundaki değerleri bağımsız değişken olarak alabilirler.
- Tarih değerlerini döndürmek ve/veya değiştirmek için kullanılabilirler.
Bu işlevler genellikle tarih tablosunda özel tarih sütunları oluşturulurken kullanıldığından, anlaşılması önemlidir. Bu işlevlerin birkaçını Yıl, Çeyrek, MaliAy gibi sütunları oluşturmak için kullanacağız.
Not
DAX'taki Tarih ve Saat işlevleri, Akıllı Zaman Gösterimi işlevleriyle aynı değildir. Excel'deki Power Pivot'ta Akıllı Zaman Gösterimi hakkında daha fazla bilgi edinin.
DAX aşağıdaki Tarih ve Saat fonksiyonlarını içerir:
- TARİH
- TARİHSAYISI
- ERTESI GÜN
- SERİTARİH işlevi
- SERİAY işlevi
- SAAT
- DAKİKA
- AY
- ŞİMDİ
- SANİYE
- ZAMAN
- ZAMANSAYISI
- BUGÜN
- HAFTANINGÜNÜ
- HAFTASAY işlevi
- YIL
- YILORAN işlevi
Formüllerinizde kullanabileceğiniz başka birçok DAX işlevi de vardır. Örneğin, burada açıklanan formüllerin çoğu MOD ve NSAT gibi Matematik ve Trigonometrik İşlevleri, EĞER gibi Mantıksal İşlevleri ve FORMAT gibi Metin İşlevlerini kullanır Diğer DAX işlevleri hakkında daha fazla bilgi için, bu makalenin sonraki bölümlerinde yer alan Ek Kaynaklar bölümüne bakın.
Bir takvim yılı için formül örnekleri
Aşağıdaki örneklerde, CalendarCalendar adlı bir tarih tablosunda ek sütunlar oluşturmak için kullanılan formüller açıklanır. Tarih adlı bir sütun zaten vardır ve 1/1/2010 ile 31/12/2016 arasındaki bitişik tarih aralığını içerir.
Yıl
=YIL([tarih])
Bu formülde YIL işlevi, Tarih sütunundaki değerden yılı döndürür. Tarih sütunundaki değer tarihsaat veri türünde olduğundan, YIL işlevi buradan yılı nasıl döndüreceğini bilir.
Ay
=AY([tarih])
Bu formülde, YIL işlevine çok benzer şekilde, AY işlevini kullanarak Tarih sütunundan bir ay değeri döndürebiliriz.
Çeyrek
=TAMSAYI(([Ay]+2)/3)
Bu formülde, tarih değerini tamsayı olarak döndürmek için TAMSAYI işlevini kullanıyoruz. TAMSAYI işlevi için belirttiğimiz bağımsız değişken Ay sütunundaki değerdir. 2 ekleyip bunu 3'e bölerek 1'den 4'e kadar olan çeyreğimizi elde ederiz.
Ay Adı
=FORMAT([tarih],"mmmm")
Bu formülde, ay adını almak için Tarih sütunundaki sayısal bir değeri metne dönüştürmek için FORMAT işlevini kullanıyoruz. Tarih sütununu ilk bağımsız değişken olarak ve ardından biçimi belirtiyoruz; Ay adımızın tüm karakterleri göstermesini istiyoruz, bu nedenle "aaaa" kullanıyoruz. Sonucumuz şöyle görünür:
Ay adını üç harfe kısaltılmış olarak döndürmek istersek, format bağımsız değişkeninde "mmm" kullanırız.
Haftanın Günü
=FORMAT([tarih],"gg")
Bu formülde, gün adını almak için BİÇİM işlevini kullanıyoruz. Yalnızca kısaltılmış bir gün adı istediğimiz için, format bağımsız değişkeninde "ddd" belirtiyoruz.
Örnek PivotTable
Yıl, Çeyrek, Ay gibi tarihler için alanlarınız olduğunda, bunları bir PivotTable'da veya raporda kullanabilirsiniz. Örneğin, aşağıdaki resimde DEĞERLER'deki Satış olgu tablosundan SatışTutarı alanı ve SATIRLAR'daki Calendar boyut tablosundan Yıl ve Çeyrek değerleri gösterilmektedir. SalesAmount, yıl ve çeyrek bağlamı için toplanır.
Mali yıl için formül örnekleri
Mali Yıl
=EĞER([Ay]<= 6,[Yıl],[Yıl]+1)
Bu örnekte mali yıl 1 Temmuz'da başlar.
Mali yılın başlangıç ve bitiş tarihleri genellikle takvim yıllarının tarihlerinden farklı olduğu için bir tarih değerinden mali yıl çıkaracak bir işlev yoktur. Mali yılı bulmak için, önce bir EĞER işlevi kullanarak Ay değerinin 6'dan küçük veya buna eşit olup olmadığını test ederiz. İkinci bağımsız değişkende, Ay değeri 6'dan küçük veya buna eşitse, Yıl sütunundaki değeri döndür. Aksi takdirde, Yıl değerini döndürün ve 1 ekleyin.
Mali yıl sonu ay değerini belirtmenin başka bir yolu, yalnızca ayı belirten bir ölçü oluşturmaktır. Örneğin, FYE:=6. Böylece, ay numarası yerine hesaplama adına başvuruda bulunabilirsiniz. Örneğin, =EĞER([Ay]<=[YYE],[Yıl],[Yıl]+1). Bu, birkaç farklı formülde mali yıl sonu ayına başvururken daha fazla esneklik sağlar.
Mali Ay
=EĞER([Ay]<= 6, 6+[Ay], [Ay]- 6)
Bu formülde, [Ay] değerinin 6'dan küçük veya buna eşit olup olmadığını belirtiriz, sonra 6'yı alır ve Ay'dan değeri ekleriz, aksi takdirde [Ay]'dan gelen değerden 6'yı çıkarırız.
Mali çeyrek
=TAMSAYI(([MaliAy]+2)/3)
MaliÇeyrek için kullandığımız formül, takvim yılımızdaki Çeyrek için kullanılan formülle hemen hemen aynıdır. Tek fark, [Ay] yerine [FiscalMonth] belirtmiş olmamızdır.
Tatiller veya özel tarihler
Belirli tarihlerin tatil veya özel bir tarih olduğunu belirten bir tarih sütunu eklemek isteyebilirsiniz. Örneğin, bir PivotTable'a dilimleyici veya filtre olarak bir Tatil alanı ekleyerek, Yeni Yıl günü için toplam satış toplamlarını toplamak isteyebilirsiniz. Başka durumlarda da, bu tarihleri diğer tarih sütunlarından veya bir hesaplamadan çıkarmak isteyebilirsiniz.
Tatilleri veya özel günleri dahil etmek oldukça basittir. Excel'de, eklemek istediğiniz tarihleri içeren bir tablo oluşturabilirsiniz. Daha sonra Veri Modeli'ne bağlantılı tablo olarak eklemek için Veri Modeli'ne Ekle'yi kullanabilir veya kopyalayabilirsiniz. Çoğu durumda, tablo ile CalendarCalendar tablosu arasında bir ilişki oluşturmak gerekli değildir. Buna başvuran tüm formüller, değerleri döndürmek için ARA DEĞERİ işlevini kullanabilir.
Aşağıda, Excel'de oluşturulmuş ve tarih tablosuna eklenecek tatilleri içeren bir tablo örneği verilmiştir:
| Tarih | Tatil |
|---|---|
| 1/1/2010 | Yeni yıl |
| 11/25/2010 | Şükran Günü |
| 12/25/2010 | Noel |
| 01.01.11 | Yeni yıl |
| 11/24/2011 | Şükran Günü |
| 12/25/2011 | Noel |
| 01.01.2012 | Yeni yıl |
| 22.11.2012 | Şükran Günü |
| 12/25/2012 | Noel |
| 1/1/2013 | Yeni yıl |
| 11/28/2013 | Şükran Günü |
| 12/25/2013 | Noel |
| 11/27/2014 | Şükran Günü |
| 12/25/2014 | Noel |
| 1/1/2014 | Yeni yıl |
| 11/27/2014 | Şükran Günü |
| 12/25/2014 | Noel |
| 1/1/2015 | Yeni yıl |
| 11/26/2014 | Şükran Günü |
| 12/25/2015 | Noel |
| 01.01.2016 | Yeni yıl |
| 11/24/2016 | Şükran Günü |
| 12/25/2016 | Noel |
Tarih tablosunda Tatil adlı bir sütun oluşturuyoruz ve aşağıdaki gibi bir formül kullanıyoruz:
=ARASAYISI(Tatiller[Tatil],Tatiller[tarih],CalendarCalendar[tarih])
Şimdi bu formüle daha dikkatli bakalım.
Tatiller tablosundaki Tatil sütunundan değerleri almak için ARAKSAYISI işlevini kullanırız. İlk bağımsız değişkende, sonuç değerimizin olacağı sütunu belirtiriz. Tatiller tablosunda Tatil sütununu belirtmemizin nedeni, döndürülmesini istediğimiz değer bu olmasıdır.
=ARASAYISI(Tatiller[Tatil],Tatiller[tarih],CalendarCalendar[tarih])
Ardından ikinci bağımsız değişkeni, yani aramak istediğimiz tarihleri içeren arama sütununu belirtiriz. Tatiller tablosunda Tarih sütununu şu şekilde belirtiriz:
=ARASAYISI(Tatiller[Tatil],Tatiller[tarih],CalendarCalendar[tarih])
Son olarak CalendarCalendar tablomuzda, Tatil tablosunda aramak istediğimiz tarihleri içeren sütunu belirtiyoruz. Bu, elbette, CalendarCalendar tablosundaki Tarih sütunudur.
=ARASAYISI(Tatiller[Tatil],Tatiller[tarih],CalendarCalendar[tarih])
Tatil sütunu, Tatiller tablosundaki bir tarihle eşleşen bir tarih değerine sahip her satır için tatil adını döndürür.
Özel takvim - on üç adet dört haftalık dönem
Perakende veya yiyecek hizmeti gibi bazı kuruluşlar, genellikle on üç dört haftalık dönemler gibi farklı dönemler hakkında rapor verir. On üç dört haftalık dönem takvimi ile her dönem 28 gündür; bu nedenle, her dönem dört Pazartesi, dört Salı, dört Çarşamba vb. içerir. Her dönem aynı sayıda gün içerir ve normalde tatiller her yıl aynı döneme denk gelir. Haftanın herhangi bir gününde adet başlatmayı seçebilirsiniz. Takvim veya mali yıldaki tarihlerde olduğu gibi, özel tarihler içeren ek sütunlar oluşturmak için DAX'ı kullanabilirsiniz.
Aşağıdaki örneklerde, ilk tam dönem mali yılın ilk Pazar günü başlar. Bu durumda, mali yıl 7/1'de başlar.
Hafta
Bu değer bize mali yılın ilk tam haftasından başlayarak hafta numarasını verir. Bu örnekte, ilk tam hafta Pazar günü başlar, dolayısıyla Calendar tablosundaki ilk mali yılın ilk tam haftası aslında 04.07.2010 tarihinde başlar ve Calendar tablosunun son tam haftasına kadar devam eder. Bu değerin kendisi çözümlemede o kadar yararlı olmasa da, diğer 28 günlük dönem formüllerinde kullanmak üzere hesaplamak gerekir.
=TAMSAYI([tarih]-40356)/7)
Şimdi bu formüle daha dikkatli bakalım.
İlk olarak, Tarih sütunundaki değerleri tamsayı olarak döndüren bir formül oluşturuyoruz:
=TAMSAYI([tarih])
Daha sonra ilk mali yılın ilk Pazar gününe bakmak istiyoruz. 7/4/2010 olduğunu görüyoruz.
Şimdi, bu değerden 40356'yı (önceki mali yılın son Pazar günü olan 6/27/2010'un tamsayısıdır) çıkararak, CalendarCalendar tablomuzdaki günlerin başlangıcından bu yana geçen gün sayısını elde edin, şu şekilde:
=TAMSAYI([tarih]-40356)
Ardından sonucu 7'ye (haftanın birkaç günü) bölün:
=TAMSAYI(([tarih]-40356)/7)
Sonuç şöyle görünür:
Period
Bu özel takvimde dönem 28 gün içerir ve her zaman Pazar günü başlar. Bu sütun, ilk mali yılın ilk Pazar gününden başlayarak dönemin numarasını döndürür.
=TAMSAYI(([Hafta]+3)/4)
Şimdi bu formüle daha dikkatli bakalım.
İlk olarak, Hafta sütunundan bir değeri tamsayı olarak döndüren bir formül oluşturuyoruz:
= TAMSAYI([Hafta])
Sonra bu değere şu şekilde 3 ekleyin:
=TAMSAYI([Hafta]+3)
Ardından sonucu şu şekilde 4'e bölün:
=TAMSAYI(([Hafta]+3)/4)
Sonuç şöyle görünür:
Dönem Mali Yılı
Bu değer, belirli bir dönem için mali yılı döndürür.
=TAMSAYI(([Dönem]+12)/13)+2008
Şimdi bu formüle daha dikkatli bakalım.
İlk olarak, Dönem'den bir değer döndüren ve 12'yi toplayan bir formül oluşturuyoruz:
=([Dönem]+12)
Sonucu 13'e böleriz, çünkü mali yılda on üç tane 28 günlük dönem vardır:
=(([Dönem]+12)/13)
Tablonun ilk yılı olduğu için 2010'u topluyoruz:
=(([Dönem]+12)/13)+2010
Son olarak, sonucun herhangi bir kısmını kaldırmak ve 13'e bölündüğünde bir tam sayı döndürmek için TAMSAYI işlevini kullanırız, şöyle:
= TAMSAYI(([Dönem]+12)/13)+2010
Sonuç şöyle görünür:
Mali Yıl Dönemi
Bu değer, her mali yıl içinde ilk tam Dönemden (Pazar günü başlayan) başlayarak 1 - 13 arası dönem numarasını döndürür.
=EĞER(MOD([Dönem],13), MOD([Dönem],13),13)
Bu formül biraz daha karmaşıktır, bu yüzden önce daha iyi anladığımız bir dilde açıklayacağız. Bu formülde, yıl içinde bir dönem numarası (1-13) elde etmek için [Dönem] değerini 13'e bölün gerekir. Bu sayı 0 ise 13 döndürün.
İlk olarak, Dönem değerinden 13 değerinin kalanını döndüren bir formül oluşturuyoruz. MOD'u (Matematik ve Trigonometrik fonksiyonlar) şu şekilde kullanabiliriz:
= MOD([Dönem],13)
Bu çoğunlukla bize istediğimiz sonucu verir; çünkü Dönem değerinin 0 olduğu durumlar dışında, bu tarihler örnek Calendar tarih tablomuzdaki ilk beş gün gibi ilk mali yıl içinde değildir. Bunu bir EĞER işleviyle halledebiliriz. Sonucumuzun 0 olması durumunda, 13 döndürürüz, şöyle:
= EĞER(MOD([Dönem],13),MOD([Dönem],13),13)
Sonuç şöyle görünür:
Örnek PivotTable
Aşağıdaki resimde, DEĞERLER'deki Satış olgu tablosundan SatışTutarı alanını ve SATIRLAR'daki Calendar tarih boyutu tablosundan PeriodFiscalYear ve PeriodInFiscalYear alanlarını içeren bir PivotTable gösterilmektedir. SatışTutarı, bağlam için mali yıla ve mali yıldaki 28 günlük döneme göre toplanır.
İlişkiler
Veri Modelinizde bir tarih tablosu oluşturduktan sonra, verilerinize PivotTable'larda ve raporlarda taramaya başlamak ve verileri tarih boyutu tablonuzdaki sütunlar temelinde toplamak için, işlem verilerinizin bulunduğu olgu tablosu ile tarih tablosu arasında bir ilişki oluşturmanız gerekir.
Tarihlere dayalı bir ilişki oluşturmanız gerektiğinden, değerleri tarihsaat (Tarih) veri türünde olan sütunlar arasında bu ilişkiyi oluşturduğunuzdan emin olmak istersiniz.
Olgu tablosundaki her tarih değeri için, tarih tablosundaki ilgili arama sütunu eşleşen değerler içermelidir. Örneğin, 15.08.2012 12:00 tarihli TarihAnahtarı sütununa sahip Satış olgu tablosundaki bir satırın (işlem kaydı), tarih (adlandırılmış CalendarCalendar) tablosunun ilgili Tarih sütununda karşılık gelen bir değeri olmalıdır. Tarih tablosundaki tarih sütununuzun, olgu tablonuzdaki olası tarihleri içeren bitişik bir tarih aralığı içermesini istemenizin en önemli nedenlerinden biri budur.
Not
Her tablodaki tarih sütununun aynı veri türünde olması gerekir (Tarih), her sütunun biçimi önemli değildir.
Not
Power Pivot iki tablo arasında ilişki oluşturmanıza izin vermiyorsa, tarih alanlarında tarih ve saat aynı duyarlık düzeyinde depolanmıyor olabilir. Sütun biçimlendirmesine bağlı olarak, değerler aynı görünebilir, ancak farklı şekilde depolanmış olabilir. Zamanla çalışma hakkında daha fazla bilgi edinin.
Not
İlişkilerde tamsayı vekil anahtarları kullanmaktan kaçının. İlişkisel veri kaynağından verileri içeri aktardığınızda, tarih ve saat sütunları çoğunlukla benzersiz bir tarihi temsil etmek için kullanılan bir tamsayı sütunu olan vekil anahtarla temsil edilir. Power Pivot'ta, tam sayı tarih/saat tuşlarını kullanarak ilişkiler oluşturmaktan kaçınmalı ve bunun yerine tarih veri türünde benzersiz değerler içeren sütunları tercih etmelisiniz. Vekil anahtarların kullanımı geleneksel veri ambarlarında en iyi uygulama kabul edilse de, Power Pivot'ta tamsayı anahtarlara gerek yoktur ve PivotTable'lardaki değerleri farklı tarih dönemlerine göre gruplandırmayı zorlaştırabilir.
İlişki oluşturmaya çalışırken Tür uyuşmazlığı hatasıyla karşılaşırsanız, bunun nedeni büyük olasılıkla olgu tablosundaki sütunun Tarih veri türünde olmamasıdır. Bu, Power Pivot tarih olmayan (genellikle bir metin veri türü) veri türünü otomatik olarak tarih veri türüne dönüştüremediğinde ortaya çıkabilir. Sütunu olgu tablonuzda da kullanabilirsiniz, ancak verileri yeni bir hesaplanmış sütunda DAX formülüyle dönüştürmeniz gerekir. Ekin devamındaki Metin veri türü tarihlerini tarih veri türüne dönüştürme bölümüne bakın.
Birden çok ilişki
Bazı durumlarda, birden çok ilişki veya birden çok tarih tablosu oluşturmak gerekebilir. Örneğin, Satış olgu tablosunda TarihAnahtarı, SevkiyatTarihi ve DönüşTarihi gibi birden çok tarih alanı varsa, hepsinin CalendarCalendar tarih tablosundaki Tarih alanıyla ilişkisi olabilir, ancak bunlardan yalnızca biri etkin bir ilişki olabilir. Bu durumda, TarihAnahtarı işlem tarihini ve dolayısıyla en önemli tarihi temsil ettiğinden, etkin ilişki olarak en iyi işlevi bu verir. Diğerlerinin aktif olmayan ilişkileri var.
Aşağıdaki PivotTable'da toplam satışlar Mali Yıl ve Mali Çeyrek'e göre hesaplanmaktadır. DEĞERLER içine Toplam Satışlar:=TOPLA([SatışTutarı]) formülüyle Toplam Satışlar adlı bir ölçü yerleştirilir ve CalendarCalendar tarih tablosundaki FiscalYear ve FiscalQuarter alanları SATIRLAR içine yerleştirilir.
Bu yalın PivotTable düzgün çalışıyor çünkü toplam satışlarımızı TarihAnahtarı'ndaki işlemtarihine göre toplamak istiyoruz. Toplam Satışlar ölçümümüz, TarihAnahtarı'ndaki tarihleri kullanır ve Satışlar tablosundaki TarihAnahtarı ile Calendar tarih tablosundaki Tarih sütunu arasında bir ilişki olduğu için mali yıl ve mali çeyrek için toplanır.
Etkin olmayan ilişkiler
Peki, toplam satışlarımızı işlem tarihine göre değil de sevkiyat tarihine göre toplamak istesek ne olur? Satış tablosundaki SevkiyatTarihi sütunu ile CalendarCalendar tablosundaki Tarih sütunu arasında bir ilişkiye ihtiyacımız var. Bu ilişkiyi oluşturmazsak, toplamalarımız her zaman işlem tarihini temel alır. Ancak, yalnızca biri etkin olabilse bile birden çok ilişkimiz olabilir ve işlem tarihi en önemlisi olduğundan, Calendar tablosuyla etkin ilişkiyi alır.
Bu durumda, SevkiyatTarihi ile etkin olmayan bir ilişkisi vardır, dolayısıyla sevk tarihlerini temel alarak verileri toplamak için oluşturulan tüm ölçü formüllerinin USERELATIONSHIP işlevini kullanarak etkin olmayan ilişkiyi belirtmesi gerekir.
Örneğin, Satış tablosundaki SevkiyatTarihi sütunu ile CalendarCalendar tablosundaki Tarih sütunu arasında etkin olmayan bir ilişki olduğundan, toplam satışları sevkiyat tarihine göre toplayan bir ölçü oluşturabiliriz. Kullanılacak ilişkiyi belirtmek için bunun gibi bir formül kullanırız:
Sevk Tarihine Göre Toplam Satışlar:=HESAPLA(TOPLA(Satış[SatışTutarı]), USERELATIONSHIP(Satış[SevkiyatTarihi], CalendarCalendar[Date]))
Bu formül basitçe şunu belirtir: SatışTutarı için bir toplam hesaplayın, ancak Satış tablosundaki SevkiyatTarihi sütunuyla CalendarCalendar tablosundaki Tarih sütunu arasındaki ilişkiyi kullanarak filtreleyin.
Şimdi, bir PivotTable oluşturur ve DEĞERLER'e Sevkiyat Tarihine Göre Toplam Satışlar ölçüsünü, SATIRLAR'a da Mali Yıl ve Mali Çeyrek'i koyarsak, aynı Genel Toplamı görürüz, ancak mali yıl ve mali çeyrek için diğer tüm toplamlar farklı olur çünkü bunlar hareket tarihine değil sevk tarihine dayanır.
Etkin olmayan ilişkilerin kullanılması, tek bir tarih tablosu kullanmanıza olanak tanır, ancak herhangi bir ölçünün (Sevk Tarihine Göre Toplam Satışlar gibi) formülünde etkin olmayan ilişkiye başvurmasını gerektirir. Başka bir alternatif daha var, yani birden çok tarih tablosu kullanın.
Birden çok tarih tablosu
Olgu tablonuzda birden çok tarih sütunuyla çalışmanın bir diğer yolu da birden çok tarih tablosu oluşturmak ve bunlar arasında ayrı etkin ilişkiler oluşturmaktır. Satış tablosu örneğimize tekrar bakalım. Verileri toplamak isteyebileceğimiz tarihleri içeren üç sütunumuz var:
- Her işlem için satış tarihini gösteren bir DateKey.
- Sevkiyat Tarihi – satılan maddelerin müşteriye sevk edildiği tarih ve saatle birlikte.
- ReturnDate – döndürülen bir veya daha fazla öğenin alındığı tarih ve saatle birlikte.
En önemlisinin, işlem tarihini içeren DateKey alanı olduğunu unutmayın. Toplamalarımızın çoğunu bu tarihlere göre yapacağız, bu nedenle kesinlikle bu tarihler ile CalendarCalendar tablosundaki Tarih sütunu arasında bir ilişki olmasını isteyeceğiz. GönderimTarihi ve DönüşTarihi ile CalendarCalendar tablosundaki Tarih alanı arasında aktif olmayan ilişkiler oluşturmak ve bu nedenle özel ölçü formülleri gerektirmek istemiyorsak, sevk tarihi ve iade tarihi için ek tarih tabloları oluşturabiliriz. Daha sonra aralarında aktif ilişkiler kurabiliriz.
Bu örnekte, SevkiyatTakvimi adlı başka bir tarih tablosu oluşturduk. Bu, elbette, ek tarih sütunları oluşturmak anlamına da gelir ve bu tarih sütunları farklı bir tarih tablosunda olduğundan, bunları CalendarCalendar tablosundaki aynı sütunlardan ayıracak şekilde adlandırmak istiyoruz. Örneğin, GönderimYılı, GönderimAyı ve GönderimSüresi gibi sütunlar oluşturduk.
PivotTable'ımızı oluşturur ve DEĞERLER'e Toplam Satışlar ölçümümüzü, SATIRLAR'a da SevkiyatMali Yılı ve SevkiyatMali Dönemi'ni koyarsak, etkin olmayan bir ilişki ve özel bir Sevk Tarihine Göre Toplam Satışlar hesaplanan alanı oluşturduğumuzda gördüğümüz sonuçların aynısını görürüz.
Bu yaklaşımların her biri dikkatli bir değerlendirme gerektirir. Tek bir tarih tablosuyla birden çok ilişki kullanırken, USERELATIONSHIP işlevini kullanarak etkin olmayan ilişkilerin aktarımını yapan özel ölçüler oluşturmanız gerekebilir. Öte yandan, birden çok tarih tablosu oluşturmak Alan Listesi'nde kafa karıştırıcı olabilir ve Veri Modeli'nde daha fazla tablonuz olduğundan daha fazla bellek gerektirir. Size en uygun olanla denemeler yapın.
Tarih Tablosu özelliği
Tarih Tablosu özelliği TOTALYTD, PREVIOUSMONTH ve DATESBETWEEN gibi Time-Intelligence işlevlerin düzgün çalışması için gereken meta verileri ayarlar. Bu işlevlerden biri kullanılarak hesaplama çalıştırıldığında, Power Pivot'un formül altyapısı gereken tarihleri almak için nereye gitmesi gerektiğini bilir.
Uyarı
Bu özellik ayarlanmazsa, DAX Time-Intelligence işlevlerini kullanan ölçümler doğru sonuçlar vermeyebilir.
Tarih Tablosu özelliğini ayarladığınızda, bir tarih tablosu ve içindeki Tarih (datetime) veri türünün bir tarih sütununu belirtirsiniz.
Nasıl yapılır: Tarih Tablosu özelliğini ayarlama
- PowerPivot penceresinde, CalendarCalendar tablosunu seçin.
- Tasarım sekmesinde Tarih Tablosu Olarak İşaretle'yi tıklatın.
- Tarih Tablosu Olarak İşaretle iletişim kutusunda, benzersiz değerleri ve Tarih veri türünü içeren bir sütun seçin.
Zamanla çalışma
Excel'de veya SQL Server'da Tarih veri türüne sahip tüm tarih değerleri SQL Server aslında bir sayıdır. Bu sayıya bir zamanı ifade eden rakamlar dahildir. Çoğu durumda, her bir sıra için bu zaman gece yarısıdır. Örneğin, bir Satış olgu tablosundaki DateTimeKey alanında 19/10/2010 12:00:00 gibi değerler varsa, bu değerlerin günlük duyarlılık düzeyinde olduğu anlamına gelir. DateTimeKey alanı değerlerine zaman dahilse (örneğin, 19/10/2010 8:44:00), bu değerlerin dakika duyarlılık düzeyinde olduğu anlamına gelir. Değerler ayrıca saat düzeyinde duyarlılıkta veya hatta saniye düzeyinde duyarlılık olabilir. Zaman değerindeki kesinlik düzeyi, tarih tablonuzu oluşturma şekliniz ve bu tabloyla olgu tablonuz arasındaki ilişkiler üzerinde önemli bir etkiye sahip olacaktır.
Verilerinizi bir günlük duyarlılık düzeyinde mi yoksa zaman düzeyinde mi toplayacağınıza karar vermelisiniz. Başka bir deyişle, tarih tablonuzda PivotTable'ın Satır, Sütun veya Filtre alanlarında Sabah, Öğleden Sonra veya Saat gibi sütunları kullanmak isteyebilirsiniz.
Not
Günler, DAX Akıllı Zaman Gösterimi işlevlerinin çalışabileceği en küçük zaman birimidir. Zaman değerleriyle çalışmanız gerekmiyorsa, verilerinizin duyarlığını düşürerek en düşük birim olarak gün kullanmanız gerekir.
Verilerinizi zaman düzeyinde toplamak istiyorsanız, tarih tablonuzda saatin de bulunduğu bir tarih sütunu olması gerekir. Aslında, tarih aralığındaki her yıl için, her günün her saati, hatta belki de her dakikası için bir satır içeren bir tarih sütununa ihtiyacı olacaktır. Bunun nedeni, olgu tablosundaki DateTimeKey sütunuyla tarih tablosundaki tarih sütunu arasında bir ilişki oluşturmak için eşleşen değerlere sahip olmanız gerekmesidir. Tahmin edebileceğiniz gibi, çok fazla yıl eklerseniz, bu çok büyük bir tarih tablosu oluşturabilir.
Ancak çoğu durumda verilerinizi yalnızca günün bir bölümünde toplamak istersiniz. Başka bir deyişle, PivotTable'ın Satır, Sütun veya Filtre alanlarında alan olarak Yıl, Ay, Hafta veya Haftanın Günü gibi sütunları kullanırsınız. Bu durumda, daha önce açıkladığımız gibi, tarih tablosundaki sütun bir yılın her günü için yalnızca bir satır içerebilir.
Tarih sütununuz saat düzeyi duyarlılık içeriyorsa, ancak yalnızca bir gün düzeyinde toplayacaksanız, olgu tablosuyla tarih tablosu arasındaki ilişkiyi oluşturmak için, olgu tablonuzda değişiklik yapmak ve tarih sütunundaki değerleri bir gün değerine kesen yeni bir sütun oluşturmanız gerekebilir. Başka bir deyişle, 19/10/2010 8:44:00 şeklindeki bir değeri 19/10/2010 12:00:00'ye dönüştürün. Değerler eşleştiğinden, bu yeni sütunla tarih tablosundaki tarih sütunu arasında bir ilişki oluşturabilirsiniz.
Bir örneğe bakalım. Bu resimde Satış olgu tablosundaki DateTimeKey sütunu gösterilmektedir. Bu tablodaki verilere ilişkin tüm toplamaların, Calendar tarih tablosunda Yıl, Ay, Çeyrek vb. sütunlar kullanılarak yalnızca gün düzeyinde olması gerekir. Değere dahil edilen zaman önemli değildir, yalnızca gerçek tarihtir.
Bu verileri zaman düzeyinde çözümlememiz gerekmediğinden, Calendar tarih tablosundaki Tarih sütununun her yıl her gün için her saat ve her dakika için bir satır içermesine gerek duymayız. Dolayısıyla, tarih tablomuzdaki Tarih sütunu şöyle görünür:
Satış tablosundaki DateTimeKey sütunu ile CalendarCalendar tablosundaki Tarih sütunu arasında bir ilişki oluşturmak için, Sales fact tablosunda yeni bir hesaplanmış sütun oluşturabilir ve DateTimeKey sütunundaki tarih ve saat değerini, CalendarCalendar tablosundaki Tarih sütunundaki değerlerle eşleşen bir tarih değerine kesmek için TRUNC işlevini kullanabiliriz. Formülümüz aşağıdaki gibi görünür:
=TRUNC([DateTimeKey],0)
Bu bize, TarihSaatAnahtarı sütunundaki tarihi ve her satır için 12:00:00 saatini içeren yeni bir sütun (TarihAnahtarı olarak adlandırdık) verir:
Şimdi bu yeni (TarihAnahtarı) sütunu ile CalendarCalendar tablosundaki Tarih sütunu arasında bir ilişki oluşturabiliriz.
Benzer şekilde, Satış tablosunda DateTimeKey sütunundaki saat duyarlığını saat duyarlılık düzeyine indirgeyen hesaplanmış bir sütun oluşturabiliriz. Bu durumda, TRUNC işlevi çalışmayacaktır, ancak yine de yeni bir değeri ayıklamak ve bir saat hassasiyet düzeyinde yeniden birleştirmek için diğer DAX Tarih ve Saat işlevlerini kullanabiliriz. Şöyle bir formül kullanabiliriz:
= DATE (YEAR([DateTimeKey]), MONTH([DateTimeKey]), DAY([DateTimeKey]) ) + TIME (HOUR([DateTimeKey]), 0, 0)
Yeni sütunumuz şöyle görünüyor:
Tarih tablosundaki Tarih sütunumuzda saat hassasiyet düzeyinde değerler varsa, bunlar arasında bir ilişki oluşturabiliriz.
Tarihleri daha kullanışlı hale getirme
Tarih tablonuzda oluşturduğunuz tarih sütunlarının birçoğu diğer alanlar için gereklidir, ancak çözümlemede o kadar da yararlı değildir. Örneğin, bu makalenin tamamında değindiğimiz ve gösterdiğimiz Satış tablosundaki DateKey alanı önemlidir, çünkü her işlem belirli bir tarih ve saatte gerçekleşiyor olarak kaydedilir. Ancak çözümleme ve raporlama açısından bakıldığında o kadar da yararlı değildir, çünkü bunu bir Pivot Tablo veya raporda satır, sütun veya filtre alanı olarak kullanamayız.
Benzer şekilde, örneğimizde, CalendarCalendar tablosundaki Tarih sütunu çok kullanışlı, aslında kritik, ancak bunu PivotTable'da boyut olarak kullanamazsınız.
Tabloları ve içindeki sütunları olabildiğince kullanışlı tutmak ve PivotTable veya Power View raporu Alan listelerinde gezinmeyi kolaylaştırmak için, gereksiz sütunları istemci araçlarından gizlemek önemlidir. Bazı tabloları da gizlemek isteyebilirsiniz. Daha önce gösterilen Tatiller tablosu, CalendarCalendar tablosundaki bazı sütunlar için önemli olan tatil tarihlerini içerir, ancak Tatiller tablosundaki Tarih ve Tatil sütunlarını PivotTable'da alan olarak kullanamazsınız. Yine burada, Alan Listelerinde gezinmeyi kolaylaştırmak için Tatiller tablosunun tamamını gizleyebilirsiniz.
Tarihlerle çalışmanın bir diğer önemli yönü de adlandırma kurallarıdır. Power Pivot'ta tabloları ve sütunları istediğiniz gibi adlandırabilirsiniz. Ancak, özellikle çalışma kitabınızı başka kullanıcılarla paylaşacaksanız, iyi bir adlandırma kuralının yalnızca Alan Listelerinde değil, Power Pivot ve DAX formüllerinde de tabloları ve tarihleri tanımlamayı kolaylaştıracağını unutmayın.
Veri Modelinize bir tarih tablosu ekledikten sonra, verilerinizden en iyi şekilde yararlanmanıza yardımcı olacak ölçümleri oluşturmaya başlayabilirsiniz. Bunlardan bazıları geçerli yılın toplam satışlarının toplanması kadar basit olabilir, bazıları ise belirli bir benzersiz tarih aralığına göre filtre uygulamanız gereken daha karmaşık olabilir. Power Pivot'ta Ölçüler ve Akıllı Zaman Gösterimi İşlevleri başlığı altında daha fazla bilgi edinin.
Ek
Metin veri türü tarihlerini tarih veri türüne dönüştürme
Bazı durumlarda, işlem verileri içeren bir olgu tablosu, metin veri türünde tarihler içerebilir. Yani, 2012-12-04T11:47:09 olarak görünen bir tarih aslında hiç de tarih değildir veya en azından Power Pivot'un anlayabileceği türden bir tarih değildir. Gerçekten sadece tarih gibi okunan bir metin. Olgu tablosundaki bir tarih sütunuyla tarih tablosundaki bir tarih sütunu arasında ilişki oluşturmak için her iki sütunun da Tarih veri türünde olması gerekir.
Normalde, metin veri türünde olan bir tarih sütununun veri türünü tarih veri türüyle değiştirmeye çalıştığınızda, Power Pivot tarihleri yorumlayabilir ve otomatik olarak doğru bir veri türüne dönüştürebilir. Power Pivot veri türü dönüştürmesi yapamazsa, tür uyuşmazlığı hatası alırsınız.
Bununla birlikte, tarihleri yine de gerçek bir veri türüne dönüştürebilirsiniz. Yeni bir hesaplanmış sütun oluşturabilir ve bir DAX formülü kullanarak metin dizelerinden yıl, ay, gün, saat vb. bilgilerini ayrıştırabilir ve sonra Power Pivot'ın doğru tarih olarak okuyabileceği şekilde bunları birleştirebilirsiniz.
Bu örnekte, Power Pivot'a Satış adlı bir olgu tablosu aktardık. TarihSaat adlı bir sütun içerir. Değerler şöyle görünür:
Power Pivot'un Giriş sekmesindeki Biçimlendirme grubunda Veri Türü'ne bakarsak, bunun Metin veri türü olduğunu görürüz.
Veri türleri eşleşmediğinden, tarih tablomuzdaki DateTime sütunuyla Tarih sütunu arasında bir ilişki oluşturamıyoruz. Veri türünü Tarih olarak değiştirmeye çalıştığımızda, tür uyuşmazlığı hatası alıyoruz:
Bu durumda, Power Pivot veri türünü metinden bugüne dönüştürememiştir. Bu sütunu yine de kullanabiliriz, ancak bunu doğru bir veri veri türüne getirmek için, metni ayrıştıran ve Power Pivot'ın Tarih veri türünde yapabildiği bir değere dönüştüren yeni bir sütun oluşturmamız gerekir.
Unutmayın, bu makalenin başlarındaki Zamanla çalışma bölümünden; Çözümlemenizin günün saati hassasiyet düzeyinde olması gerekmediği sürece, olgu tablonuzdaki tarihleri bir günlük duyarlılık düzeyine dönüştürmelisiniz. Bunu göz önünde bulundurarak, yeni sütunumuzdaki değerlerin gün duyarlılık düzeyinde (saat hariç) olmasını istiyoruz. Aşağıdaki formülle hem DateTime sütunundaki değerleri bir tarih veri türüne dönüştürebilir hem de saat duyarlılık düzeyini kaldırabiliriz:
=TARİH(LEFT([DateTime],4), MID([DateTime],6,2), MID([DateTime],9,2))
Bu bize yeni bir sütun verir (bu örnekte Tarih adında). Power Pivot tarih değerlerini bile algılar ve veri türünü otomatik olarak Tarih değerine ayarlar.
Saat kesinlik düzeyini korumak istiyorsak, formülü saatleri, dakikaları ve saniyeleri içerecek şekilde genişletmemiz yeterlidir.
=TARİH(LEFT([DateTime],4), MID([DateTime],6,2), MID([DateTime],9,2)) +
ZAMAN(PARÇAAL([DateTime],12,2), PARÇAAL([DateTime],15,2), PARÇAAL([DateTime],18,2))
Artık Tarih veri türünde bir Tarih sütunumuz olduğuna göre, bununla tarihteki bir tarih sütunu arasında bir ilişki oluşturabiliriz.
Ek kaynaklar
Hızlı Başlangıç: DAX'ın Temellerini 30 Dakikada Kavrama