Aracılığıyla paylaş


Türler ve tür dönüştürme

Power Query M, değerleri daha yapılandırılmış bir veri kümesine sahip olacak şekilde sınıflandırmak için türleri kullanır. Bu makalede en sık kullanılan M türleri ve bir türü başka bir türe dönüştürme açıklanmaktadır.

Yaygın olarak kullanılan türler

Veri türleri, belirli verilerin yapısını netleştirmek için kullanılan herhangi bir türe başvurur. En yaygın kullanılan veri türleri ilkel türlerdir. Bu türler şunlardır:

  • type any, herhangi bir değeri sınıflandırır.
  • type null, null değerini sınıflandırır.
  • true ve false değerlerini sınıflandırır type logical.
  • type number, sayı değerlerini sınıflandırır.
  • type time, zaman değerlerini sınıflandırır.
  • type date, tarih değerlerini sınıflandırır.
  • type datetime, tarih saat değerlerini sınıflandırır.
  • type datetimezone, datetimezone değerlerini sınıflandırır.
  • type duration, süre değerlerini sınıflandırır.
  • metin değerlerini sınıflandırır type text.
  • type binary, ikili değerleri sınıflandırır.
  • type type, tür değerlerini sınıflandırır.
  • liste değerlerini sınıflandırır type list.
  • kayıt değerlerini sınıflandırır type record.
  • tablo değerlerini sınıflandırır type table.
  • type function, işlev değerlerini sınıflandırır.
  • type anynonnull, null hariç tüm değerleri sınıflandırır.
  • type none, hiçbir değeri sınıflandırmaz.

Bu türler hakkında daha fazla bilgi için Türleribölümüne gidin.

Bu yaygın veri türlerine ek olarak, *.Typebiçimini kullanan bir dizi veri türü de vardır. Bu biçimin en yaygın kullanılan veri türleri şunlardır:

  • 8 bit sayı değerini sınıflandırır Byte.Type.
  • 8 bit sayı değerini sınıflandırır Int8.Type.
  • Int16.Type, 16 bit sayı değerini sınıflandırır.
  • 32 bit sayı değerini sınıflandırır Int32.Type.
  • Int64.Type, 64 bit sayı değerini sınıflandırır.
  • Single.Type, 9 basamaklı kayan sayı değerini sınıflandırır.
  • Double.Type, 17 basamaklı kayan sayı değerini sınıflandırır.
  • Decimal.Type, 15 basamaklı kayan sayı değerini sınıflandırır.
  • Currency.Type, "." ayırıcısının sağında dört basamak bulunan 19 haneli bir sayıyı sınıflandırır.
  • Percentage.Type, değeri yüzde olarak biçimlendirmek için 15 basamaklı bir sayı değerini maskeyle sınıflandırır.
  • Guid.Type, bir GUID metin değerini sınıflandırır.

İlkel türler de *.Type biçiminde yazılabilir. Bu nedenle, numberNumber.Type, recordRecord.Typeolarak vb. yazabilirsiniz.

Bu türlerden herhangi birini kullandığınızda, tüm M kodları gibi bu türlerin büyük/küçük harfe duyarlı olduğunu unutmayın.

Aşağıdaki tabloda bu türlerin her biri hakkında daha fazla bilgi yer alır.

Veri tipi Açıklama
any any veri türü, bir değerin açık veri türü tanımı olmadığında verilen durumdur. any türü, tüm değerleri sınıflandırır veri türüdür.
binary binary veri türü, ikili biçime sahip diğer tüm verileri temsil etmek için kullanılabilir.
type Diğer değerleri sınıflandıran bir değer. Daha fazla bilgi için Türleribölümüne gidin.
null Bir değerin yokluğunu veya belirsiz veya bilinmeyen durum değerini temsil eder.
anynonnull Nullable olmayan herhangi bir türü temsil eder.
date Yalnızca bir tarihi temsil eder (saat bölümü yoktur).
time Yalnızca saati temsil eder (tarih bölümü yok).
datetime Hem tarih hem de saat değerini temsil eder. Tarihin saat bölümü, 1/300 saniyenin (3,33 ms) tam katlarına kesir olarak depolanır. 1900 ile 9999 yılları arasındaki tarihler desteklenir.
datetimezone Zaman dilimi farkına sahip bir UTC tarih ve saatini temsil eder.
duration Bir süreyi temsil eder. Bu tür, doğru sonuçlarla datetime alanına eklenebilir veya çıkarılabilir. Daha fazla bilgi için Sürebölümüne gidin.
text Unicode karakter veri dizesi. Metin biçiminde temsil edilen dizeler, sayılar veya tarihler olabilir. Dize uzunluğu üst sınırı 268.435.456 Unicode karakterdir (her Unicode karakteri iki bayttır) veya 536.870.912 bayttır.
logical true veya falseBoole değeri.
list Numaralandırıldığında bir değer dizisi oluşturan değer. Daha fazla bilgi için List types ve List valuesbölümüne gidin.
record Sıralı bir alanlar dizisi. Her alan bir alan adı ve alan değeri içerir. Daha fazla bilgi için Kayıt türleri ve Kayıt değerleribölümlerine gidin.
table Sütunlara bölünmüş sıralı satır dizisi. Daha fazla bilgi için Tablo türleri ve Tablo değerleribölümüne gidin.
function Argüman kümesini tek bir değerle eşleyen bir değer. Daha fazla bilgi içinİşlevleri ve İşlev türleri bölümüne gidin.
number Sayısal ve aritmetik işlemler için kullanılan herhangi bir sayıyı temsil eder. Daha fazla bilgi için Numarasıadresine gidin.
Decimal.Type 64 bit (sekiz bayt) kayan noktalı bir sayıyı temsil eder. En yaygın sayı türüdür ve genellikle düşündüğünüz sayılara karşılık gelir. Kesirli değerlerle sayıları işlemek için tasarlanmış olsa da, tam sayıları da işler. Decimal.Type , –1,79E +308 ile –2,23E –308, 0 arasında negatif değerleri ve 2,23E –308 ile 1,79E + 308 arasında pozitif değerleri işleyebilir. Örneğin, 34, 34,01 ve 34,000367063 gibi sayılar geçerli ondalık sayılardır. Bir Decimal.Type'da temsil edilebilen en büyük duyarlık 15 basamak uzunluğundadır. Ondalık ayırıcısı, sayı içinde herhangi bir yerde bulunabilir. Decimal.Type, Excel'in sayılarını nasıl depolediğine karşılık gelir. İkili kayan noktalı bir sayının desteklenen aralıktaki tüm sayıları 100% doğrulukla temsil etmediğini unutmayın. Bu nedenle, belirli ondalık sayıları temsil ederken duyarlıkta küçük farklılıklar oluşabilir.
Currency.Type Bu veri türünün ondalık ayırıcısı için sabit bir konumu vardır. Ondalık ayırıcısının sağında her zaman dört basamak bulunur ve 19 basamaklık bir anlamlılık sağlar. Gösterebileceği en büyük değer 922.337.203.685.477.5807 'dir (pozitif veya negatif). Decimal.Typeaksine, Currency.Type her zaman kesindir ve bu nedenle kayan nokta gösteriminin kesin olmamasının hatalara neden olabileceği durumlarda kullanışlıdır.
Percentage.Type temel olarak Decimal.Typeile aynıdır, ancak değerleri yüzde değeri olarak biçimlendirmek için bir maskesi vardır.
Int8.Type 8 bit (bir bayt) imzalı tamsayı değerini temsil eder. Tamsayı olduğundan, ondalık basamakların sağındaki basamak yoktur. 3 basamak sağlar; –128 ile 127 arasında pozitif veya negatif tamsayı. Currency.Typeolduğu gibi, yuvarlama denetimi yapmanız gereken durumlarda Int8.Type yararlı olabilir.
Int16.Type 16 bit (iki bayt) işaretli bir tamsayı değerini temsil eder. Tamsayı olduğundan, ondalık basamakların sağındaki basamak yoktur. 6 basamak sağlar; –32.768 (–2^15) ile 32.767 (2^15-1) arasında pozitif veya negatif tamsayı. Currency.Typeolduğu gibi, yuvarlama denetimi yapmanız gereken durumlarda Int16.Type yararlı olabilir.
Int32.Type 32 bit (dört bayt) işaretli bir tamsayı değerini temsil eder. Tamsayı olduğundan, ondalık basamakların sağındaki basamak yoktur. 10 basamak sağlar; –2.147.483.648 (–2^31) ile 2.147.483.647 (2^31–1) arasında pozitif veya negatif tamsayı. Currency.Typeolduğu gibi, yuvarlama denetimi yapmanız gereken durumlarda Int32.Type yararlı olabilir.
Int64.Type 64 bit (sekiz bayt) işaretli bir tamsayı değerini temsil eder. Tamsayı olduğundan, ondalık basamakların sağındaki basamak yoktur. 19 basamağı sağlar; –9.223.372.036.854.775.808 (–2^63) ile 9.223.372.036.854.775.807 (2^63–1) arasında pozitif veya negatif tamsayı. Çeşitli sayısal veri türlerinin mümkün olan en büyük duyarlığı temsil edebilir. Currency.Typeolduğu gibi, yuvarlama denetimi yapmanız gereken durumlarda Int64.Type yararlı olabilir.
Byte.Type 8 bit (bir bayt) işaretsiz tamsayı değerini temsil eder. İşaretsiz bir tamsayı olduğundan, ondalık basamakların sağındaki basamak yoktur ve yalnızca pozitif değerler içerebilir. 3 basamak sağlar; 0 ile 255 arasında pozitif bir sayı.
Single.Type Tek hassasiyetli kayan nokta sayısını temsil eder. Yaklaşık –3,99 X 1038 ile 3,99 X 1038 aralığındadır ve yaklaşık 9 basamak hassasiyeti destekler. Ayrıca pozitif ve negatif sonsuzluğu ve NaN'yi (Sayı Değil) temsil edebilir.
Double.Type Çift duyarlıklı kayan nokta sayısını temsil eder. Yaklaşık –1,7976931348623158 X 10307 ile 1,7976931348623158 X 10307 aralığındadır ve yaklaşık 17 basamaklı duyarlılığı destekler. Ayrıca pozitif ve negatif sonsuzluğu ve NaN'yi (Sayı Değil) temsil edebilir.
Guid.Type 32 onaltılık değerden oluşan 128 bitlik bir metin değerini temsil eder. Bunlar <form faktörünü kullanarak düzenlenmiştir: 8 onaltılık değer>-<, 4 onaltılık değer>-<, 4 onaltılık değer>-<, 4 onaltılık değer>-<ve 12 onaltılık değer>olarak sıralanır; bu sayede GUID değerini oluşturur.
none Değer içermeyen veri türü.

Yaygın olarak kullanılan diğer *.Type değerleri yalnızca numaralandırmalardır. Daha fazla bilgi için Numaralandırmalaradresine gidin.

Tür dönüştürme

Power Query M formül dili, türler arasında dönüştürülecek formüllere sahiptir. Aşağıda M'deki dönüştürme formüllerinin bir özeti yer alır.

Sayı

Tür dönüştürme Açıklama
Number.FromText(metin olarak) sayı olarak Metin değerinden bir sayı değeri döndürür.
Metin halinde Number.ToText(sayı olarak B0) Bir sayı değerinden metin değeri döndürür.
Sayı olarak Number.From(herhangi bir değer) Bir değerden bir sayı değeri döndürür.
Sayı olarak Byte.From(herhangi bir değer) Verilen değerden 8 bitlik bir tamsayı değeri döndürür.
Sayı olarak Int8.From(herhangi bir değer) Verilen değerden 8 bitlik bir tamsayı değeri döndürür.
Sayı olarak Int16.From(herhangi bir değer) Verilen değerden 16 bitlik bir tamsayı değeri döndürür.
Sayı olarak Int32.From(herhangi bir değer) Verilen değerden 32 bitlik bir tamsayı değeri döndürür.
Sayı olarak Int64.From(herhangi bir değer) Verilen değerden 64 bit tamsayı değeri döndürür.
Sayı olarak Single.From(herhangi bir değer) Verilen değerden tek bir sayı değeri döndürür.
Sayı olarak Double.From(herhangi bir değer) Verilen değerden bir Çift sayı değeri döndürür.
Sayı olarak Decimal.From(herhangi bir değer) Verilen değerden Ondalık sayı değeri döndürür.
Sayı olarak Currency.From(herhangi bir değer) Verilen değerden bir Para Birimi sayı değeri döndürür.
Sayı olarak Percentage.From(herhangi bir değer) Verilen değerden bir Yüzde sayı değeri döndürür.

Metin

Tür dönüştürme Açıklama
Text.From(herhangi bir değer) olarak metin Sayı, tarih, saat, tarih saat, tarih saat dilimi, mantıksal, süre veya ikili değerin metin gösterimini döndürür.
Guid.From(metin olarak değer) olarak metin Belirtilen metnin GUID gösterimini döndürür.

Mantıksal

Tür dönüştürme Açıklama
Mantıksal olarak Logical.FromText(metin olarak metin) Metin değerinden true veya false mantıksal değerini döndürür.
Metin olarak Logical.ToText(mantıksal olarak mantıksal) Mantıksal değerden bir metin değeri döndürür.
Logical.From(herhangi bir değer olarak) mantıksal Bir değerden mantıksal bir değer döndürür.

Date, Time, DateTime ve DateTimeZone

Tür dönüştürme Açıklama
. FromText(metin olarak metin) tarih, saat, tarih saat veya datetimezone olarak Bir tarih biçimleri kümesinden ve kültür değerinden tarih, saat, tarih saat veya tarih saat dilimi değeri döndürür.
. Metin olarak ToText(date, time, dateTime veya dateTimeZone as date, time, datetime veya datetimezone) Tarih, saat, tarih saat veya datetimezone değerinden bir metin değeri döndürür.
. From(herhangi bir değer olarak) Bir değerden tarih, saat, tarih saat veya datetimezone değeri döndürür.
. ToRecord(date, time, dateTime veya dateTimeZone as date, time, datetime, or datetimezone) Tarih, saat, tarih saat veya datetimezone değerinin bölümlerini içeren bir kayıt döndürür.