Excel DAX - Metin ve Tarihlerle Çalışma
DAX, metinle birlikte çalışmayı, tarih ve saat değerlerini ayıklamayı ve oluşturmayı veya bir koşula göre değerler oluşturmayı içeren senaryolarda kullanılabilir. DAX ile aşağıdakileri yapabilirsiniz -
- Bir tabloda birleştirme ile bir anahtar sütunu oluşturun.
- Bir metin tarihinden çıkarılan tarih bölümlerine dayalı bir tarih oluşturun.
- Özel bir tarih biçimi tanımlayın.
- Formül kullanarak veri türlerini değiştirin.
- Gerçek sayıları tam sayılara dönüştürün.
- Gerçek sayıları, tam sayıları veya tarihleri dizelere dönüştürün.
- Dizeleri gerçek sayılara veya tarihlere dönüştürün.
Birleştirmeyle Anahtar Sütun Oluşturma
PowerPivot'taki Veri Modeli yalnızca tek bir anahtar sütununa izin verir. Dış veri kaynaklarında bulabileceğiniz bileşik anahtarları desteklemez. Bu nedenle, veri kaynağındaki bir tabloda herhangi bir bileşik anahtar varsa, bunları Veri Modeli'ndeki tablo için tek bir anahtar sütununda birleştirmeniz gerekir.
Veri Modelindeki bir tablodaki iki sütunu tek bir sütunda birleştirmek için DAX işlevini BİRLEŞTİR işlevini kullanabilirsiniz. DAX işlevi CONCATENATE, iki metin dizesini tek bir metin dizesinde birleştirir. Birleştirilen öğeler, metin veya bu öğelerin bir kombinasyonu olarak temsil edilen metin, sayılar veya Boole değerleri olabilir. Sütun uygun değerler içeriyorsa, bir sütun başvurusu da kullanabilirsiniz.
= CONCATENATE ([Column1], [Column2])
DAX CONCATENATE işlevi yalnızca iki bağımsız değişken kabul eder. Bağımsız değişkenlerden herhangi biri metin veri türünde değilse, metne dönüştürülür. DAX CONCATENATE işlevi, birleştirilmiş dizeyi döndürür.
Metin Tarihinden Çıkarılan Tarih Bölümlerine Dayalı Tarih
Power Pivot'taki Veri Modeli, tarih ve saat değerleri için bir veri türü tarih saatini destekler. Tarih ve / veya saat değerlerinde çalışan DAX işlevleri, bağımsız değişkenler için tarih saat veri türünü gerektirir.
Veri kaynağınız farklı bir biçimde tarihler içeriyorsa, önce bir DAX formülü kullanarak tarih bölümlerini çıkarmanız ve geçerli bir DAX tarih saat veri türü oluşturmak için bu bölümleri birleştirmeniz gerekir.
Tarihleri ayıklamak ve oluşturmak için aşağıdaki DAX işlevlerini kullanabilirsiniz -
DATE - Belirtilen tarihi datetime biçiminde döndürür.
DATEVALUE - Metin biçimindeki bir tarihi, tarih saat biçimindeki bir tarihe dönüştürür.
TIMEVALUE - Metin biçimindeki bir saati, tarih saat biçimindeki bir saate dönüştürür.
Özel Tarih Formatı Tanımlama
Veri kaynağınızdaki tarihlerin standart bir biçimde temsil edilmediğini varsayalım. Değerlerin doğru bir şekilde işlendiğinden emin olmak için özel bir tarih biçimi tanımlayabilirsiniz. DAX BİÇİMİ işlevi, bir değeri belirtilen biçime göre metne dönüştürmenizi sağlar.
FORMAT (<value>, <format_string>)
FORMAT işlevi, format_string ile tanımlandığı şekilde formatlanmış değeri içeren bir dize döndürür.
Önceden tanımlanmış Tarih ve Saat formatlarını kullanabilir veya FORMAT işlevinin format_string argümanı için kullanıcı tanımlı Tarih ve Saat formatlarını oluşturabilirsiniz.
Önceden tanımlanmış tarih ve saat biçimi adları aşağıda verilmiştir. Bu önceden tanımlanmış dizelerden başka dizeler kullanırsanız, bunlar özel bir tarih ve saat biçimi olarak yorumlanacaktır.
S. No. | Format_String ve Açıklama |
---|---|
1 | "General Date" Bir tarih ve / veya saat görüntüler. Örneğin, 2/10/2015 10:10:32 |
2 | "Long Date" or "Medium Date" Uzun tarih formatına göre bir tarih görüntüler. Örneğin, 07 Mart 2016, Çarşamba |
3 | "Short Date" Kısa tarih formatını kullanarak bir tarihi görüntüler. Örneğin, 2/03/2016 |
4 | "Long Time" Uzun zaman biçimini kullanarak bir zamanı görüntüler. Genellikle saatleri, dakikaları ve saniyeleri içerir. Örneğin, 10:10:32 |
5 | "Medium Time" 12 saat biçiminde bir saat görüntüler. Örneğin, 09:30 |
6 | "Short Time" 24 saat biçiminde bir saat görüntüler. Örneğin, 14:15 |
Alternatif olarak, kullanıcı tanımlı tarih / saat biçimleri oluşturmak için aşağıdaki tablodaki karakterleri kullanabilirsiniz.
S. No. | Karakter açıklaması |
---|---|
1 | : Zaman ayırıcı. Zaman ayırıcı. Zaman değerleri biçimlendirildiğinde saatleri, dakikaları ve saniyeleri ayırır. |
2 | / Tarih ayırıcı. Tarih değerlerinin biçimlendirildiği günü, ayı ve yılı ayırır. |
3 | % Aşağıdaki karakterin sondaki harfe bakılmaksızın tek harfli bir format olarak okunması gerektiğini belirtmek için kullanılır. Ayrıca, tek harfli bir biçimin kullanıcı tanımlı bir biçim olarak okunduğunu belirtmek için de kullanılır. |
Aşağıda çeşitli karakterlerin ayrıntıları verilmiştir.
%d - Günü başında sıfır olmadan sayı olarak görüntüler (örneğin 5).
%dd - Günü başında sıfır olan bir sayı olarak görüntüler (ör. 05).
%ddd - Günü kısaltma olarak görüntüler (örn. Güneş).
%dddd - Günü tam ad olarak görüntüler (örn. Pazar).
%M - Ayı başında sıfır olmadan sayı olarak görüntüler (örneğin, Ocak 1 olarak temsil edilir).
%MM - Ayı başında sıfır olan bir sayı olarak görüntüler (örneğin, Ocak 01 olarak temsil edilir).
%MMM - Ayı kısaltma olarak görüntüler (örn. Ocak, Ocak olarak temsil edilir).
%MMMM - Ayı tam bir ay adı olarak görüntüler (örn. Ocak).
%gg - Dönem / dönem dizesini görüntüler (örn. AD).
%h- Saati, 12 saatlik biçimi kullanarak başında sıfır olmadan sayı olarak görüntüler (örn. 1:15:15). Kullanım%h bu kullanıcı tanımlı sayısal biçiminizdeki tek karakter ise.
%hh - Saati, 12 saatlik biçimi kullanarak başında sıfırların olduğu bir sayı olarak görüntüler (ör. 01:15:15 PM).
%H- Saati, 24 saatlik biçimi kullanarak başında sıfır olmadan bir sayı olarak görüntüler (örneğin 13:15:15, 1:15:15). Kullanıcı tanımlı sayısal biçiminizdeki tek karakter ise% H kullanın.
%HH - Saati, 24 saat biçimini kullanarak başında sıfırların olduğu bir sayı olarak görüntüler (örneğin 13:15:15, 1:15:15).
%m- Dakikayı başında sıfır olmadan sayı olarak görüntüler (örneğin 2: 1: 15). Kullanıcı tanımlı sayısal biçiminizdeki tek karakter ise% m kullanın.
%mm - Dakikayı başında sıfırlar olan bir sayı olarak görüntüler (örneğin 2:01:15).
%s- Saniyeyi başında sıfır olmayan bir sayı olarak görüntüler (örneğin 2: 15: 5). Kullanıcı tanımlı sayısal biçiminizdeki tek karakter ise% s kullanın.
%ss - Saniyeyi başında sıfır olan bir sayı olarak görüntüler (örneğin 2:15:05).
%f- Saniyelerin kesirlerini görüntüler. Örneğinff saniyenin yüzde biri gösterirken ffffsaniyenin on binde birini görüntüler. Yediye kadar kullanabilirsinizfkullanıcı tanımlı formatınızdaki semboller. Kullanım%f bu kullanıcı tanımlı sayısal biçiminizdeki tek karakter ise.
%t- 12 saatlik biçimi kullanır ve öğleden önceki saatler için büyük A harfini görüntüler; öğlen ile 23:59 arasındaki herhangi bir saat için büyük harf P görüntüler Kullanıcı tanımlı sayısal biçiminizdeki tek karakter buysa% t kullanın.
%tt- 12 saatlik biçim kullanan yerel ayarlar için öğleden önceki saatler için büyük harfli AM görüntüler; öğlen ile 23:59 arasındaki herhangi bir saati büyük harfle gösterir. 24 saatlik biçimi kullanan yerel ayarlar için hiçbir şey göstermez.
%y- Yıl numarasını (0-9) başında sıfırlar olmadan görüntüler. Kullanım%y bu kullanıcı tanımlı sayısal biçiminizdeki tek karakter ise.
%yy - Yılı, mümkünse başında sıfır olacak şekilde iki basamaklı sayısal biçimde görüntüler.
%yyy - Yılı dört basamaklı sayısal biçimde görüntüler.
%yyyy - Yılı dört basamaklı sayısal biçimde görüntüler.
%z- Saat dilimi farkını başında sıfır olmadan görüntüler (örneğin -8). Kullanım%z bu kullanıcı tanımlı sayısal biçiminizdeki tek karakter ise.
%zz-. başında sıfır olan saat dilimi uzaklığı (ör. -08)
%zzz - Tam saat dilimi farkını görüntüler (örneğin -08: 00).
Sizin de görebileceğiniz gibi, biçimlendirme dizeleri büyük / küçük harfe duyarlıdır. Farklı bir durum kullanılarak farklı biçimlendirme elde edilebilir.
DAX Formülü Çıktılarının Veri Türlerini Değiştirme
DAX formüllerinde, çıktının veri türü kaynak sütunlar tarafından belirlenir ve sonucun veri türünü açıkça belirtemezsiniz. Bunun nedeni, en uygun veri türünün Power Pivot tarafından belirlenmesidir. Ancak, çıktı veri türünü işlemek için Power Pivot tarafından gerçekleştirilen örtük veri türü dönüştürmelerini kullanabilirsiniz. Aksi takdirde, çıktı veri türünü dönüştürmek için belirli DAX işlevlerini kullanabilirsiniz.
Using the Implicit Data Type Conversions
Bir tarih veya sayı dizesini sayıya dönüştürmek için 1,0 ile çarpın. Örneğin, = (BUGÜN () + 5) * 1.0. Bu formül, geçerli tarih artı 5 günü hesaplar ve sonucu bir tam sayı değerine dönüştürür.
Bir tarih, sayı veya para birimi değerini bir dizeye dönüştürmek için, değeri boş bir dizeyle birleştirin. Örneğin, = Bugün () & ""
Using the DAX Functions for Data Type Conversions
DAX işlevlerini aşağıdakiler için kullanabilirsiniz -
- Gerçek Sayıları Tam Sayıya Çevirme.
- Gerçek Sayıları, Tam Sayıları veya Tarihleri Dizelere Dönüştürme.
- Dizeleri Gerçek Sayılara veya Tarihlere Dönüştürme.
Bunu ilerleyen bölümlerde öğreneceksiniz.
Gerçek Sayıları Tam Sayıya Dönüştürme
Gerçek sayıları tam sayılara dönüştürmek için aşağıdaki DAX işlevlerini kullanabilirsiniz -
ROUND (<number>, <num_digits>) - Bir sayıyı belirtilen basamak sayısına yuvarlar ve ondalık bir sayı döndürür.
CEILING (<number>, <significance>) - Bir sayıyı en yakın tam sayıya veya en yakın anlamlı sayı katına yuvarlar ve bir ondalık sayı döndürür.
FLOOR (<number>, <significance>) - Bir sayıyı sıfıra doğru en yakın anlamlı sayı katına aşağı yuvarlar ve bir ondalık sayı döndürür.
Gerçek Sayıları, Tam Sayıları veya Tarihleri Dizelere Dönüştürme
Gerçek sayıları, tam sayıları veya tarihleri dizelere dönüştürmek için aşağıdaki DAX işlevlerini kullanabilirsiniz -
FIXED (<number>, [<decimals>], [<no_comma>])- Bir sayıyı yuvarlar ve sonucu metin olarak döndürür. Ondalık ayırıcının sağındaki basamak sayısı 2 veya belirtilen ondalık sayıdır. Sonuç, virgülle veya isteğe bağlı olarak virgülsüzdür.
FORMAT (<value>, <format_string>) - Belirtilen biçime göre bir değeri metne dönüştürür.
Tarihleri dizelere dönüştürmek için Format işlevini kullanmayı zaten öğrendiniz.
Dizeleri Gerçek Sayılara veya Tarihlere Dönüştürme
Dizeleri gerçek sayılara veya tarihlere dönüştürmek için aşağıdaki DAX işlevlerini kullanabilirsiniz -
VALUE (<text>) - Bir sayıyı temsil eden bir metin dizesini sayıya dönüştürür.
DATEVALUE (date_text) − Converts a date in the form of text to a date in datetime format.
TIMEVALUE (time_text) − Converts a time in text format to a time in datetime format.