OAC：CSVデータをアップロードしたとき、数字だけのデータ（00001）のように0埋めされたデータがどうなるか

はじめに
---
OACでは、CSVやExcelファイルをアップロードしてデータセットをつくることができます。CSVファイルをアップロードのときに、データで0～9以外の文字が入っている項目はテキスト型、0～9の数字のみの項目は数値型でデータセットが作成されます
では、数字だけのデータだけど0埋めされている場合（例えば00001など）は、アップロードしてデータセット作成すると、どうなるのかやってみました。





記事記載時のOAC ver：May 2025 Update

前提
---
以下のCSVデータを利用
![g1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/8e0a564e-162a-4586-9c3e-104214ef81af.jpeg)

データセットの作成
---
右上部の作成ボタンをクリックし、データセットをクリックします。
![g2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/3cd8c5d9-3ddf-4120-aaae-f0602ee08809.jpeg)

ここにデータ・・・をクリックします
![g3.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/07e31218-c3b5-4905-955b-c6fe25a786d4.jpeg)


数字だけのデータ（00001）のように0埋めされたデータの項目があるCSVファイルを選択します
![g4.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/3df139df-c560-4375-8316-63bf342fb193.jpeg)

アップロードされるデータのプレビューが確認できます。OKをクリックします。
![g5.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/4623baa3-bba0-4115-b7ae-151363329000.jpeg)

CSVデータをアップロードしたとき、数字だけのデータ（00001）のように0埋めされたデータの項目は、数値としてあつかわれ、0埋めされたデータは取り除かれているのがみえます。つまり数値として取り扱われます。
![g6.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/de20d97f-a330-4c76-97a3-0c7412ba9702.jpeg)

元のCSVデータのように、0埋めされたデータで利用したい場合について、やってみました。

Excelファイルの利用で対応
---
CSVファイルをExcelで開きます。数字だけのデータ（00001）のように0埋めされたデータ項目でセルの書式設定を開きます。表示形式タブで文字列としてセットします。Excelファイルとして保存します。
![g7.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/bf9703d3-c21e-4359-8819-03f9e6f0b3db.jpeg)

CSVでのデータセット作成と同様の手順で、保存したExcelファイルをアップロードして、データセットを作成します。
![g8.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/5fcf6ad4-b647-4b4d-b6cb-8a7a1a019d18.jpeg)

Excelファイルをアップロードしてデータセットを作成する場合は、Excelのセルの書式がひきつがれ、そのままの形でデータセットが作成されました。
![g9.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/c3c364fd-638e-4849-bd31-6ee769fed972.jpeg)


データセットで列式を使用して対応
---
Excel形式で保存したものを使うのではなく、CSVのデータセットを作成後、データセットの編集をして列式を使ってやってみます。
メジャーから属性に変更します
![g10.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/b66ecae3-6c5f-4cf6-b53c-766d46b9afce.jpeg)

数値型からテキスト型に変換します。
項目名の右にカウスカーソルを移動します。メニューアイコン・・・（縦）が表示されるのでクリックします。メニューから、テキストに変換をクリックします
![g11.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/a8cda5b9-e858-4609-9e03-b239967e1d70.jpeg)

0埋めする列式をセットします。
項目名の右にカウスカーソルを移動します。メニューアイコン・・・（縦）が表示されるのでクリックします。メニューから、編集をクリックします
![g12.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/c5675234-a563-44b5-84cb-f9d685d11788.jpeg)

たとえば式は以下となります
以下の関数を使って、０埋めします。
Repeat関数 ... 先頭から指定の繰り返す
Char_Length ... 文字数を返す
Concat ... 文字をくっつける

5桁で整える場合で、5から顧客ID列の文字数を引いた数で0がならぶ文字列をRepeatでセットします。0000と顧客IDをConcatでくっつけます。
Concat( Repeat('0',5-Char_length(顧客ID)) , 顧客ID )
![g13.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/acfab4f8-b0c1-4ae1-92ce-ef8f4554771a.jpeg)

式がセットできたら、検証をクリックします。ステップの追加をクリックします。

データセットで列式を使用してやってみました。
![g14.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/7d8227b2-6db5-44ff-a36a-f30abee48819.jpeg)

まとめ
---
OACでは、CSVやExcelファイルをアップロードしてデータセットをつくることができます。CSVファイルをアップロードのときに、データで0-9以外の文字が入っている項目はテキスト型、0-9の数字のみの項目は数値型でデータセットが作成されます。数字だけのデータなんだけど、0埋めされている00001のような場合は、数値型で作成され、先頭0埋めされているところは削除されます。
0埋めされているデータを使いたいときの対応方法としてはCSVでなくExcel形式で保存し、セル書式で文字型にセットしておくことで数字だけデータだけど、テキスト型で0埋めも残りデータセットが作成されます。もしくは、アップロード後、データセットの編集でテキスト型への変換、先頭0埋めのステップを追加し対応する方法があります

以上