データ型のPower Query

データセット内のデータPower Query、より構造化されたデータセットを持つ値を分類するために使用されます。 データ型は、フィールド内のフィールド レベルの値で定義され、フィールドのデータ型に — 準拠するために設定されます。

列のデータ型は、列見出しの左側に、データ型をシンボル表示するアイコンと共に表示されます。

データ プレビュー ペインのテーブル列見出しの左側に表示される一般的なデータ型アイコンを表示します。

注意

Power Query、列のデータ型に基づく一連のコンテキスト変換とオプションが提供されます。 たとえば、データ型が Date の列を選択すると、その特定のデータ型に適用される変換とオプションが取得されます。 これらの変換とオプションは、Power Queryのタブやスマート フィルター オプションなど、新しいインターフェイス全体で行われます。

次の表に示すのは、Power Queryで使用される最も一般的なデータ型です。 この記事の範囲を超えて、データ型の完全な一覧については、「Power Query M 数式言語の型」の記事 を参照してください

データ型 アイコン 説明
[テキスト] テキスト。 Unicode 文字データ文字列。 テキスト形式で表現した文字列、数値、または日付を格納できます。 文字列の最大長は 268,435,456 Unicode 文字 (各 Unicode 文字は 2 バイト) または 536,870,912 バイトです。
True/False True または False です。 True または False のいずれかのブール値。
10 進数 10 進数。 64 ビット (8 バイト) 浮動小数点数を表します。 これは最も一般的な数値型であり、通常考える数値に対応します。 小数部の値を持つ数値を処理するように設計されていますが、整数を処理することもできます。 Decimal Number 型では – 、1.79E +308 から – 2.23E – 308、0、および 2.23E – 308 から 1.79E + 308 の正の値を処理できます。 たとえば、34、34.01、34.000367063 などの数値は、10 進数として有効です。 10 進数型で表現できる最大の精度は 15 桁です。 小数点区切り文字は、数値内の任意の位置に置くことができます。 10 進数型は、Excel で数値を格納する方法に対応しています。 2 進浮動小数点数は、100% の精度で、サポートされている範囲内のすべての数値を表すのでは "できない" 点に注意してください。 したがって、特定の 10 進数を表す場合、精度のわずかな違いが発生する可能性があります。
固定小数点数 Currency 型。 通貨型とも呼ばれるこのデータ型には、小数点区切り記号の固定位置があります。 小数点区切り文字の右側には常に 4 桁の数字が入り、有効数字は最大 19 桁です。 表現できる最も大きい値は 922,337,203,685,477.5807 (正または負) です。 10 進数とは異なり、固定小数点数型は常に正確であり、浮動小数点表記の不正確さによってエラーが発生する可能性がある場合に役立ちます。
整数 [数値] を選択します。 64 ビット (8 バイト) の整数値を表します。 整数なので、小数点以下の桁数はありません。 19 桁の数字を使用できます。 –9,223,372,036,854,775,807 ( – 2^63+1) から 9,223,372,036,854,775,806 (2^63 2) の正または負の整数 – 。 各種の数値データ型の中で、最大の精度を表現できます。 固定小数点数型と同様に、丸めを制御する必要がある場合は、整数型が役立ちます。
Percentage 割合。 基本的には 10 進数型と同じですが、列の値を数値ウィンドウのパーセンテージとして書式設定するマスクPower Query エディターがあります。
日付/時刻 日付/時刻。 日付と時刻の両方の値を表します。 その下の日付/時刻値は 10 進数型として格納されます。そのため、実際には 2 つの型を変換できます。 日付値の時刻部分は、1/300 秒 (3.33 ミリ秒) の整数倍の分数として保存されます。 1900 年から 9999 年の間の日付がサポートされています。
日付 日付 日付 (時刻部分なし) を表します。 モデルに変換される際、日付値は日付/時刻値の分数部分に 0 が入った値と同じになります。
Time 時間。 Just Time (日付部分なし) を表します。 モデルに変換される際、時刻値は 日付/時刻値の小数点の左側に桁がない値と同じになります。
日付/時刻/タイムゾーン 日付/時刻/タイムゾーン。 タイム ゾーン オフセットを持つ UTC 日時を表します。 モデルに読み込まれると、日付/時刻に変換されます。
Duration 期間。 モデルに読み込まれるときに 10 進数型に変換される時間の長さを表します。 10 進数型として、正しい結果を持つ日付/時刻フィールドに対して加算または減算できます。 これは 10 進数型なので、大きさを示す視覚化で簡単に使用できます。
Binary バイナリ。 バイナリ データ型を使用すれば、バイナリ形式のその他のデータを表すことができます。
[任意] 任意。 Any データ型は、明示的なデータ型定義を持つ列に指定された状態です。 Any は、すべての値を分類するデータ型です。 非構造化ソースからクエリの列データ型を常に明示的に定義し、クエリの出力として Any データ型を持つ列を使用しないようにすることをお勧めします。

<a name="data-type-detection">データ型の検出

データ型の検出は、次の接続時に自動的に行われます。

  • データベース 、 などの構造化 データ ソースでは、Power Query はデータ ソースからテーブル スキーマを読み取り、列ごとに適切なデータ型を使用してデータを自動的に表示します。

  • Excel、CSV、テキスト ファイルなどの非 構造化ソースでは、Power Query テーブル内の値を調べると、データ型が自動的に検出されます。 既定では、データ型の自動検出は非構造化ソースPower Queryで有効になっています。

[変換] タブの [ 任意の列] グループの[データ型の検出] コマンドを使用して、テーブル内の列のデータ型を自動的に検出することもできます。

![[変換] タブの [データ型の検出] コマンド。](images/me-detect-data-type-icon-any-column.png "[変換] タブの [データ型の検出] コマンド")

列データ型を定義する方法

列のデータ型は、次の 4 つの場所で定義または変更できます。

  • [ホーム ] タブ の [変換 ] グループ の [データ型 ] ドロップダウン メニューで、

    [ホーム] タブの [データ型] メニュー。

  • [変換 ] タブ の [任意の列] グループの [データ型 ] ドロップダウン メニューで、

    [変換] タブの [データ型] メニュー。

  • 列見出しの左側にあるアイコンを選択します。

    列見出しのデータ型メニュー。

  • 列のショートカット メニューの [型の変更] の下にある

    列のショートカット メニューの [型の変更] コマンド。

列のデータ型とヘッダーの自動検出

この設定は、非構造化ソース専用です。 これは、テーブルの最初の 200 行に基づいて列の種類とヘッダーを自動的に検査して検出することで役立ちます。 この設定を有効にすると、Power Queryに 2 つのステップが自動的に追加されます。

  • 列ヘッダーの昇格: テーブルの最初の行を列ヘッダーに昇格します。
  • 変更された型: 各列の値の検査に基づいて、Any データ型の値をデータ型に変換します。

既定では、この設定が有効になっています。 この設定を無効または有効にするには、ユーザー エクスペリエンスに適用される手順Power Queryします。

Power Query Online でデータ型の自動検出を構成するには

[ホーム]タブで[オプション]を選択 し、次に [オプション ] Project選択します。 [オプション のProjectで、 [非構造化ソースの列の種類とヘッダーを自動的に検出する] チェック ボックス をオンにします。

プロジェクト オプションのデータ型オプションを自動的に検出します。

Power Query for Desktop でデータ型の自動検出を構成するには

この動作は、[オプション] ウィンドウのグローバル レベルとファイル単位の両方のレベルで定義できます (Power Query エディター の[ファイル]タブで、[オプションと設定オプション] を選択 > します)。

  • グローバル: 左側のウィンドウの [グローバル] で 、[データ 読み込み] を選択します。 右側のウィンドウの [型 の検出] で、アプリケーションで作成された新しいファイルごとに適用される 3 種類の検出構成を選択できます。

    • 非構造化ソースの列の型とヘッダーを常に検出する
    • 各ファイルの設定に従って非構造化ソースの列の型とヘッダーを検出する
    • 非構造化ソースの列の型とヘッダーを検出しない

    グローバル型の検出。

  • 現在のファイル: 左側のウィンドウの [現在のファイル] の下にある [データ の読み込み] を選択します。 右側のウィンドウの [型の検出 ] で、現在のファイルの型検出を有効または無効にするかどうかを選択します。

    Desktop のデータ型オプションをPower Query検出します。

ドキュメントまたはプロジェクトのロケール

Power Queryは、外観と解釈方法を管理する 2 つの異なるコンポーネントを処理します。

  • ローカリゼーション: 表示するPower Queryを示すコンポーネント。
  • グローバリゼーション: テキスト値の解釈に加えて、値の書式設定を処理するコンポーネント。

Locale は、ローカリゼーション コンポーネントとグローバリゼーション コンポーネントの両方を保持する単一の値です。 ロケールは、テキスト値を解釈し、他のデータ型に変換するために使用されます。 たとえば、ロケール英語 (米国) は、ローカライズが米国 英語で、グローバリゼーション(値の形式) が 米国 で使用されている標準に基づくと意味します。

列Power Queryデータ型を定義したり、あるデータ型から別のデータ型に変換したりするときに、変換する値を解釈してから別のデータ型に変換する必要があります。

  • オンラインPower Queryでは、この解釈は、ロケール のProject オプション で****定義されます

    Power Query Online のロケール設定。

  • Desktop Power Queryでは、Power Queryシステムのリージョン形式が自動的に認識され、これを使用してデータ型変換の値が解釈されます。 このロケール構成をオーバーライドするには、クエリの[オプション] ウィンドウを開き、左側のウィンドウの [現在のファイル] の下にある [地域設定]を選択します。 ここから、ロケールを必要な設定に変更できます。

    デスクトップ用の Power Query設定。

このロケール設定は、テキスト値を特定のデータ型に解釈するために重要です。 たとえば、ロケールが英語 (米国) に設定されているが、CSV ファイルの 1 つの列に、日/月/年の英国形式の日付が含まれています。

Date 列の日付が UK 形式の日、月、年に設定された元のテーブルのサンプル。

Date 列のデータ型を Date に設定すると、エラー値が表示されます。

データ型変換エラー。

これらのエラーは、使用されているロケールが英語 (米国) 形式 (月/日/年) で日付を解釈しようとしているため発生します。 カレンダーに 22 か月はないので、エラーが発生します。

Date データ型を選択する代わりに、列見出しを右クリックし、 [型の変更] を選択してから、 [ロケール の使用]を選択できます

列のショートカット メニューでロケールを使用する。

[ ロケールを使用して 列の型を変更する] ダイアログ ボックスで、設定するデータ型を選択しますが、使用するロケールも選択します。この場合は英語 (英国) である必要があります。

ロケールを使用して列の型を変更します。

このロケールを使用Power Query値を正しく解釈し、それらの値を適切なデータ型に変換できます。

ロケールを使用した後の最後のテーブル。Date 列の日付は月、日、年の米国形式に設定されます。

最終的な日付値を確認するには

値の書式設定は、グローバリゼーション値によって行います。 Power Query で表示される値に疑問がある場合は、日付、月、年の新しい列を値から追加することで、日付値の変換を確認できます。 これを行うには、[日付] 列 選択し、リボンの [列の追加 ] タブに移動します。 [ 日付と時刻] 列グループ には、日付列のオプションが表示されます。

新しい列に配置する日付列の値の一部を選択します。

ここから、年番号、月番号、日番号、Date 列から抽出された列など、日付値の一部 を抽出 できます。

日付部分。

これらの列を使用すると、日付の値が正しく変換されていることを確認できます。

データ型変換マトリックス

次のマトリックスは、あるデータ型から別のデータ型への値のデータ型変換の実現可能性を簡単に確認するために設計されています。

データ型 10 進数。 Currency 整数 パーセント 日付/時刻 Date 時刻 日付/時刻/タイムゾーン 期間 Text True/False
10 進数。 10 進数 可能ですが、元の値が切り捨てられる 可能ですが、元の値が切り捨てられる 可能。 可能 可能ですが、元の値が切り捨てられる サポートできません。 可能ですが、元の値に値が追加されます。 可能 可能 可能
Currency 型。 Currency 可能 可能ですが、元の値が切り捨てられる 可能 可能 可能ですが、元の値が切り捨てられる 不可能 可能ですが、元の値に値が追加されます 可能 可能 可能
[数値] を選択します。 整数 可能 可能 可能 可能 可能 不可能 可能ですが、元の値に値が追加されます 可能 可能 可能
割合。 パーセント 可能 可能ですが、元の値が切り捨てられる 可能ですが、元の値が切り捨てられる 可能 可能 不可能 可能ですが、元の値に値が追加されます 可能 可能 可能
日付/時刻。 日付/時刻 可能 可能ですが、元の値が切り捨てられる 可能ですが、元の値が切り捨てられる 可能 可能ですが、元の値が切り捨てられる 可能ですが、元の値が切り捨てられる 可能ですが、元の値に値が追加されます 不可能 可能 不可能
日付 Date 可能 可能 可能 可能 可能 不可能 可能ですが、元の値に値が追加されます 不可能 可能 不可能
時間。 時刻 可能 可能 可能 可能 可能ですが、元の値に値が追加されます 不可能 可能ですが、元の値に値が追加されます 不可能 可能 不可能
日付/時刻/タイムゾーン。 日付/時刻/タイムゾーン 可能 可能ですが、元の値が切り捨てられる 可能ですが、元の値が切り捨てられる 可能 可能ですが、元の値が切り捨てられる 可能ですが、元の値が切り捨てられる 可能ですが、元の値が切り捨てられる 不可能 可能 不可能
期間。 期間 可能 可能ですが、元の値が切り捨てられる 可能ですが、元の値が切り捨てられる 可能 不可能 不可能 不可能 不可能 可能 不可能
テキスト。 Text 可能 可能 可能 可能 可能 可能 可能 可能 可能 可能
True または False です。 True/False 可能 可能 可能 可能 不可能 不可能 不可能 不可能 不可能 可能
アイコン 説明
可能 可能
不可能 不可能
可能ですが、元の値に値が追加されます 可能ですが、元の値に値が追加されます
可能ですが、元の値は切り捨てらされます。 可能ですが、元の値が切り捨てられる