次の方法で共有


型と型変換

Power Query M では、型を使用して、より構造化されたデータ セットを持つ値を分類します。 この記事では、最もよく使用される M 型と、ある型を別の型に変換する方法について説明します。

一般的に使用される型

データ型とは、特定のデータの構造を明確にするために使用される任意の型を指します。 最も一般的に使用されるデータ型はプリミティブ型です。 これらの型は次のとおりです。

  • type anyは、任意の値を分類します。
  • type null。null 値を分類します。
  • type logical。true 値と false 値を分類します。
  • type number。数値を分類します。
  • type time。時間値を分類します。
  • type date。日付値を分類します。
  • type datetime。datetime 値を分類します。
  • type datetimezone。datetimezone 値を分類します。
  • type duration。期間値を分類します。
  • type text。テキスト値を分類します。
  • type binary。バイナリ値を分類します。
  • type type。型値を分類します。
  • type list。リスト値を分類します。
  • type record。レコード値を分類します。
  • type table。テーブル値を分類します。
  • type function。関数値を分類します。
  • type anynonnull。null を除くすべての値を分類します。
  • type none。何の値も分類しません。

これらの型の詳細については、「型」を参照 してください

これらの一般的なデータ型に加えて、 *.Type形式を使用した一連のデータ型もあります。 この形式で最もよく使用されるデータ型は次のとおりです。

  • Byte.Type8 ビット数値を分類します。
  • Int8.Type8 ビット数値を分類します。
  • Int16.Type16 ビット数値を分類します。
  • Int32.Type: 32 ビット数値を分類します。
  • Int64.Type64 ビット数値を分類します。
  • Single.Typeは、9 桁の浮動小数点数値を分類します。
  • Double.Type17 桁の浮動小数点数値を分類します。
  • Decimal.Type: 15 桁の浮動小数点数値を分類します。
  • Currency.Typeは、"." 区切り記号の右側に 4 桁の 19 桁の数値を分類します。
  • Percentage.Type: 15 桁の数値をマスクで分類し、値をパーセンテージとして書式設定します。
  • Guid.TypeGUID テキスト値を分類します。

プリミティブ型は、 *.Type 形式でも記述できます。 そのため、numberNumber.TypeRecord.Typeとしてrecordなどを記述できます。

これらの型のいずれかを使用する場合、すべての M コードと同様に、これらの型では大文字と小文字が区別されます。

次の表に、これらの各型の詳細を示します。

データの種類 説明
any anyデータ型は、値に明示的なデータ型定義がない場合の状態です。 any型は、すべての値を分類するデータ型です。
binary binaryデータ型は、バイナリ形式で他のデータを表すために使用できます。
type 他の値を分類する値。 詳細については、「型」を参照 してください
null 値が存在しないか、不確定または不明な状態の値を表します。
anynonnull null にできない任意の型を表します。
date 日付のみを表します (時刻部分なし)。
time Just Time (日付部分なし) を表します。
datetime 日付と時刻の値の両方を表します。 日付の時刻部分は、1/300 秒 (3.33 ミリ秒) の倍数全体に対する分数として格納されます。 1900 年から 9999 年までの日付がサポートされています。
datetimezone タイム ゾーン オフセットを持つ UTC 日時を表します。
duration 時間の長さを表します。 この型は、正しい結果を持つ datetime フィールドに対して加算または減算できます。 詳細については、「 期間」を参照してください。
text Unicode 文字データ文字列。 文字列、数値、またはテキスト形式で表される日付を指定できます。 文字列の最大長は 268,435,456 Unicode 文字 (各 Unicode 文字は 2 バイト) または 536,870,912 バイトです。
logical trueまたはfalseのいずれかのブール値。
list 列挙時に値のシーケンスを生成する値。 詳細については、「 リスト型 」と「 リスト値」を参照してください。
record フィールドの順序付きシーケンス。 各フィールドには、フィールド名とフィールド値が含まれています。 詳細については、「 レコードの種類 」と「 レコード値」を参照してください。
table 列に分割された行の順序付きシーケンス。 詳細については、「 テーブルの型とテーブル」を参照してください。
function 引数のセットを 1 つの値にマップする値。 詳細については、「 関数関数の型」を参照してください。
number 数値演算と算術演算に使用される任意の数値を表します。 詳細については、「 数値」を参照してください。
Decimal.Type 64 ビット (8 バイト) の浮動小数点数を表します。 これは最も一般的な数値型であり、通常は数字に対応しています。 小数部の値を持つ数値を処理するように設計されていますが、整数も処理します。 Decimal.Typeは、-1.79E +308 ~ –2.23E –308、0、および 2.23E –308 ~ 1.79E + 308 の正の値を処理できます。 たとえば、34、34.01、34.000367063 などの数値は有効な 10 進数です。 Decimal.Typeで表すことができる最大の有効桁数は 15 桁です。 小数点区切り記号は、数値の任意の場所で使用できます。 Decimal.Typeは、Excel での数値の格納方法に対応します。 バイナリ浮動小数点数は、サポートされている範囲内のすべての数値を 100% 精度で表すことはできません。 したがって、特定の 10 進数を表すときに、精度の小さな違いが発生する可能性があります。
Currency.Type このデータ型には、小数点区切り記号の固定位置があります。 小数点区切り記号は常に右に 4 桁の数字を持ち、19 桁の有効桁数を使用できます。 表すことができる最大値は 922,337,203,685,477.5807 (正または負) です。 Decimal.Typeとは異なり、Currency.Typeは常に正確であり、浮動小数点表記の不正確さがエラーを発生する可能性がある場合に役立ちます。
Percentage.Type 基本的には Decimal.Typeと同じですが、値をパーセンテージ値として書式設定するためのマスクがあります。
Int8.Type 8 ビット (1 バイト) 符号付き整数値を表します。 整数であるため、小数点以下の桁数は表示されません。 3 桁の数字を使用できます。-128 から 127 までの正または負の整数。 Currency.Typeと同様に、Int8.Typeは丸めを制御する必要がある場合に役立ちます。
Int16.Type 16 ビット (2 バイト) 符号付き整数値を表します。 整数であるため、小数点以下の桁数は表示されません。 6 桁の数字を使用できます。-32,768 (–2^15) から 32,767 (2^15-1) までの正または負の整数。 Currency.Typeと同様に、Int16.Typeは丸めを制御する必要がある場合に役立ちます。
Int32.Type 32 ビット (4 バイト) 符号付き整数値を表します。 整数であるため、小数点以下の桁数は表示されません。 10 桁の数字を使用できます。-2,147,483,648 (–2^31) から 2,147,483,647 (2^31-1) までの正または負の整数。 Currency.Typeと同様に、Int32.Typeは丸めを制御する必要がある場合に役立ちます。
Int64.Type 64 ビット (8 バイト) 符号付き整数値を表します。 整数であるため、小数点以下の桁数は表示されません。 19 桁の数字を使用できます。-9,223,372,036,854,775,808 (–2^63) から 9,223,372,036,854,775,807 (2^63-1) までの正または負の整数。 これは、さまざまな数値データ型の可能な限り最大の精度を表すことができます。 Currency.Typeと同様に、Int64.Typeは丸めを制御する必要がある場合に役立ちます。
Byte.Type 8 ビット (1 バイト) 符号なし整数値を表します。 符号なし整数であるため、小数点以下の桁数がなく、正の値のみを含めることができます。 3 桁の数字を使用できます。0 ~ 255 の正の数値。
Single.Type 単精度浮動小数点数を表します。 約 3.99 X 1038 ~ 3.99 X 1038 の範囲があり、約 9 桁の有効桁数をサポートします。 また、正の無限大と負の無限大、および NaN (数値ではない) を表すこともできます。
Double.Type 倍精度浮動小数点数を表します。 おおよその範囲は -1.7976931348623158 X 10307 から 1.7976931348623158 X 10307 で、約 17 桁の精度をサポートします。 また、正の無限大と負の無限大、および NaN (数値ではない) を表すこともできます。
Guid.Type GUID 値を構成する 16 進値<8 <4 16 進値>-<4 16 進値>-<4 16 進値>>-<12 16 進値> のフォーム ファクターを使用して、32 桁の 16 進値で構成される 128 ビットテキスト値を表します。
none 値を分類しないデータ型。

他の一般的に使用される *.Type 値は列挙だけです。 詳細については、「 列挙型」を参照してください。

型変換

Power Query M 式言語には、型を変換する式があります。 M の変換式を次にまとめます。

数値

型変換 説明
Number.FromText(テキストをテキストとして) 数値として テキスト値から数値が返されます。
Number.ToText(数値として数値) をテキストとして 数値からテキスト値が返されます。
Number.From(任意の値) 値から数値を返します。
Byte.From(任意の値) 指定した値から 8 ビットの整数値を返します。
Int8.From(任意の値) 指定した値から 8 ビットの整数値を返します。
Int16.From(任意の値) 指定された値から 16 ビットの整数値を返します。
Int32.From(任意の値) 指定された値から 32 ビットの整数値を返します。
Int64.From(任意の値) 指定された値から 64 ビットの整数値を返します。
Single.From(任意の値) 指定された値から単一数値を返します。
Double.From(任意の値) 指定された値から倍精度浮動小数点数値を返します。
Decimal.From(任意の値) 指定した値から小数値が返されます。
Currency.From(任意の値) 指定した値から通貨型の値が返されます。
Percentage.From(任意の値) 指定された値からパーセント値を返します。

テキスト

型変換 説明
Text.From(任意の値) 数値、日付、時刻、datetime、datetimezone、論理、期間、またはバイナリ値のテキスト表現を返します。
Guid.From(テキストとしての値) 指定したテキストの GUID 表現を返します。

論理

型変換 説明
Logical.FromText(テキストとしてテキスト)、論理 テキスト値から true または false の論理値を返します。
Logical.ToText(論理として論理) テキストとして 論理値からテキスト値を返します。
Logical.From(任意の値) を論理として 値から論理値を返します。

日付、時刻、DateTime および DateTimeZone

型変換 説明
.FromText(text as text) as date, time, datetime, or datetimezone 日付形式とカルチャ値のセットから日付、時刻、datetime、datetimezone 値が返されます。
.ToText(date,time, dateTime, or dateTimeZone as date, time, datetime, or datetimezone) as text 日付、時刻、datetime、または datetimezone 値からテキスト値が返されます。
.From(value as any) 値から日付、時刻、datetime、または datetimezone 値が返されます。
.ToRecord(date,time, dateTime, or dateTimeZone as date, time, datetime, or datetimezone) 値から日付、時刻、datetime、または datetimezone 値の部分を含むレコードが返されます。