Microsoft Excel - Alteryxドライバー
Alteryxには、Microsoft Excel用のネイティブの読み取り/書き込みドライバーが組み込まれています。そのため、Alteryx DesignerでXLSXシートを読み書きするのに、ドライバーのインストールも追加のシステム設定も不要です。
設定
Alteryxドライバーを介してMicrosoft Excel (XLSX)ファイルに対して使用できる、データ出力ツールのファイル形式オプションには次の機能があります。
新しいシートを作成する
ファイルを上書きする(削除)
シートを上書きする(ドロップ)
既存のシートに追加する
長さと制限
Alteryxドライバーは、XLSXファイルの読み込みおよび書き込みをする際に、Excelで定められている行と列の制限を完全にサポートします。
行の最大数(Excelで指定されている制限) | 1,048,575 |
列の最大数(Excelで指定されている制限) | 16,384 |
列名の長さとフィールド名に関する制限 | 他の形式との互換性のために256を推奨します。 |
レコード制限の超過(1,048,575行と16,384列) | 列の制限を超えるとエラーが発生し、行の制限を超えるとファイルが切り詰められます。 |
ファイルサイズ制限の超過(4,294,967,295バイト、約4GB) | 次のエラーメッセージが表示されます。「このシートに書き込まれているデータが大きすぎます。プロセスを中止しています。」 |
データ型
Alteryxドライバーはシートデータを分析して、各列のデータ型とフィールド名を決定します。
データ型を構文解析 | 列にデータ型が混在している場合、その列のデータ型はString/WStringに設定されます。 |
文字列の値 | 可能な場合は、狭い文字列が返されます。 |
数字の四捨五入 | セルに適用されている書式は無視されます。例えば、セルに値1.27952が含まれていて、そのセルが小数点以下2桁を表示するように書式設定されている場合、1.28の代わりに完全な値1.27952が返されます。 |
日付、時刻、および日時 | すべての日付と時刻はAlteryx形式で表示されます。日付データ型は、列内のデータの分析に基づいてフォーマットされます。
|
フィールド名
重複するフィールド/列名: 元のExcelファイルの列名abc、abc、abc、123、123、123は、abc、abc2、abc3、123、123_2、123_3として読み込まれます。
日付としてフォーマットされた列名: 元のExcelファイルで日付としてフォーマットされた列名(例えば、1/1/2014、2/1/2014、3/1/2014)は、既定のAlteryx日付形式を使用してフォーマットされた列名を生成します(例えば、2014-01-01、2014-02-01、2014-03-01)。
シート名と範囲名の特殊文字: Alteryxでは、Excelでシート名にサポートされるすべての文字がサポートされるようになりました。Excelでシートに名前を付けるときに使用できる文字は新しいドライバーでも読み取りが可能なため、文字の変換や変更が行われることはありません。
次の文字はシート名には無効です:
\
、/
、?
、*
、[
、]
。
空列セルの書式設定
空のセルに書式(枠線など)が適用されると、行が存在しているようにAlteryxで認識される場合があります。これは列ヘッダーの検出に影響します。[データインポートの開始行]オプションを使用するか、一貫した書式を維持して予期しない動作を回避します。
式エラー
シート内の式がエラーで失敗すると、Alteryxは非文字列型のフィールドにはNULL値を返し、文字列型のフィールドには実際のエラー文字列を返します。
範囲
Microsoft Excel用のAlteryxドライバーには次の機能があります。
名前付き範囲と明示的な範囲の読み取りサポート。
明示的な範囲の書き込みサポート。名前付き範囲の上書きをサポートしますが、新規作成はできません。
注記
Alteryxでは、テンプレートを除いて、上書き時のセルフォーマットの保持がサポートされています。
データ出力シート名
Microsoft Excel用のAlteryxドライバーは、シート名リストの読み取りをサポートしています。
日付とExcel
日付/時刻精度
Alteryxでは日付/時刻のサブ秒精度がサポートされるようになりましたが、同じ高精度の日付/時刻(秒より細かい精度の日付/時刻データ)はXLSXではサポートされていません。高精度の日付/時刻データをAlteryxからXLSXに書き込もうとすると、高精度の日付が秒に切り捨てられることを示すフィールド変換エラーが表示されます。例:
高精度の時刻はXLSXではサポートされていないため、値は秒に切り捨てられます。: フィールド「@1」
この場合、次のオプションを検討できます。
回避策として、XLSXに書き込む前に、日付/時刻データを文字列としてフォーマットします。これにより、小数秒は無視されますが、Excelの数式はデータを処理できるようになります。
または、セレクトツールを使用して日付/時刻データを切り捨て、Alteryxで上記の警告がトリガーされないようにすることもできます。
1900年より前の日付
Excelでは1900年より前の日付がサポートされていません。また、1900年1月1日から1900年3月1日までの日付を含む計算では、誤った結果が返されます。この問題の詳細については、Microsoftのドキュメントを参照してください。
FileTableのサポート
Alteryxドライバーは、Microsoft SQL Server FileTableにあるExcelファイルの読み取りと書き込みをサポートします。FileTableのUNCパスを参照し、ネットワークドライブに保存されているファイルと同様にファイル内でマッピングを行います。ExcelファイルをMicrosoft SQL Server FileTableに書き込むには、データ出力ツールで形式固有の[SQL Server FileTable Supportを有効にする]オプションをオンにする必要があります。
XLSX書き込みサポートの出力オプション
新しいシートを作成する
ファイルが存在する場合は、新しいシートが作成されます。同じ名前のシートがすでに存在する場合は、エラーが表示されます。
ファイルが存在しない場合は、新しいファイルとシートが作成されます。
既存のシートに追加する
ファイルが存在する場合は、データは指定されたシートに書き込まれます。指定されたシートが存在しない場合は、エラーが発生します。
ファイルが存在しない場合は、データは書き込まれません。
シートまたは範囲を上書きする
ファイルが存在する場合は、指定されたシートは削除され(そのシートが存在する場合)、データは指定された名前の新しいシートに書き込まれます。
ファイルが存在しない場合は、新しいファイルとシートが作成されます。
ファイルを上書きする(削除)
ファイルが存在する場合は、そのファイルは削除され、データは新しいファイルの新しいシートに書き込まれます。
ファイルが存在しない場合は、新しいファイルとシートが作成されます。
範囲によるXLSX書き込みサポートの追加情報
シート/上書きファイルの作成 | シートを追加する | シートを上書きする |
---|---|---|
明示的な範囲を使用できます。 名前付き範囲はシートに結び付けられており、シートは存在しないため、名前付き範囲は使用できません。 | 明示的範囲と名前付き範囲の両方を使用できます。 名前付き範囲は、シートに対して以前に定義されていなければなりません。 | 明示的範囲と名前付き範囲の両方を使用できます。 名前付き範囲は、シートに対して以前に定義されていなければなりません。 |
データは指定された範囲より多くの列を含むことはできませんが、少ない列数であれば許容されます。 範囲を埋めるのに十分な着信データがない場合、列はNULLで埋められます。 | データは指定された範囲より多くの列を含むことはできませんが、少ない列数であれば許容されます。 範囲内の入力列が少なければ、マッピングされていない列はNullで埋められます。 | データは指定された範囲より多くの列を含むことはできませんが、少ない列数であれば許容されます。 範囲を埋めるのに十分な入力データがない場合、列はNullで埋められます。 |
データは、指定された範囲の最初の行の左上のセルから書き込まれます。 | データは、元のデータの後の最初の利用可能な行から追加されます。追加すると、既存のデータは上書きされません。 マージされたセルを含むシートにデータを書き込むことはできません。 列名は範囲に含める必要があります。範囲内の最初の行が空の場合、データを含む範囲の最初の行が列名として使用されます。列名が入力されたデータと一致しない場合は、データ出力ツールのカスタム付加マッパーを使用して、列名を出力名に手動でマップする必要があります。 | データは、指定された範囲の最初の行の左上のセルから書き込まれます。 マージされたセルを含むシートにデータを書き込むことはできません |
データには、指定された範囲より多くの行が含まれている可能性があります。 以下の条件に合うまで、データは指定された範囲を超えて書き込まれます。
| データには、指定された範囲より多くの行が含まれている可能性があります。 以下の条件に合うまで、データは指定された範囲を超えて書き込まれます。
| データには、指定された範囲より多くの行が含まれている可能性があります。 以下の条件に合うまで、データは指定された範囲を超えて書き込まれます。
|