0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

郵便番号検索するためのデータベースを作成する-2

Last updated at Posted at 2024-07-19

本記事は下記の続きです
伝え忘れていましたが、中級くらいの知識が必要なんではないかと思います。

前回ダウンロードしたCSVのファイルを取得する

image.png

ファイルコンテンツを取得したらデータを作成アクションに吐き出してください。
(下記コードはサンプル。BOMの削除も必要)

選択のstate部分
split(replace(outputs('ファイル_コンテンツの取得')?['body'],'"',''),decodeUriComponent('%0D%0A'))

csvファイルなので下記のようなデータが取得できます。

image.png
一つずつのデータは,(コンマ)で分割されているので
Split関数を使って切り出していきます。
image.png

選択のstate部分
split(item(), ',')?[2]

私が抜き出したのは

1.郵便番号
2.都道府県
3.市区町村
4.番地以下

この4つの項目ですが
必要に応じてカナなどを追加してください。

image.png

切り出すと上記のようにaddressに
以下の掲載がない場合という文字や、(1丁目から19丁目)など
不要な部分が出てくるのでそれらをreplace関数で変更していきます

以下の掲載がない場合という文字を消す
if(equals(item()?['address'],'以下に掲載がない場合'),'',item()?['address'])

if(and(not(empty(item()?['address'])), contains(item()?['address'], '(')), slice(item()?['address'], 0, indexOf(item()?['address'], '(')), item()?['address'])

CSVを読み取ると大体データの一番最後にnullが入ってしまっているので
そのデータをアレイのフィルターで削除します。
image.png

image.png

整形したJsonデータからOneDriveにデータベースを作る

それではOneDriveに郵便番号データベースを作成していきます。
ただし、PowerAppsで住所を呼びだすにはデータが多すぎてレスポンスが下がるため
都道府県別にデータベースを作成していきます

分割する都道府県
[
  {
    "都道府県": "北海道"
  },
  {
    "都道府県": "青森県"
  },
  {
    "都道府県": "岩手県"
  },
  {
    "都道府県": "宮城県"
  },
  {
    "都道府県": "秋田県"
  },
  {
    "都道府県": "山形県"
  },
  {
    "都道府県": "福島県"
  },
  {
    "都道府県": "茨城県"
  },
  {
    "都道府県": "栃木県"
  },
  {
    "都道府県": "群馬県"
  },
  {
    "都道府県": "埼玉県"
  },
  {
    "都道府県": "千葉県"
  },
  {
    "都道府県": "東京都"
  },
  {
    "都道府県": "神奈川県"
  },
  {
    "都道府県": "新潟県"
  },
  {
    "都道府県": "富山県"
  },
  {
    "都道府県": "石川県"
  },
  {
    "都道府県": "福井県"
  },
  {
    "都道府県": "山梨県"
  },
  {
    "都道府県": "長野県"
  },
  {
    "都道府県": "岐阜県"
  },
  {
    "都道府県": "静岡県"
  },
  {
    "都道府県": "愛知県"
  },
  {
    "都道府県": "三重県"
  },
  {
    "都道府県": "滋賀県"
  },
  {
    "都道府県": "京都府"
  },
  {
    "都道府県": "大阪府"
  },
  {
    "都道府県": "兵庫県"
  },
  {
    "都道府県": "奈良県"
  },
  {
    "都道府県": "和歌山県"
  },
  {
    "都道府県": "鳥取県"
  },
  {
    "都道府県": "島根県"
  },
  {
    "都道府県": "岡山県"
  },
  {
    "都道府県": "広島県"
  },
  {
    "都道府県": "山口県"
  },
  {
    "都道府県": "徳島県"
  },
  {
    "都道府県": "香川県"
  },
  {
    "都道府県": "愛媛県"
  },
  {
    "都道府県": "高知県"
  },
  {
    "都道府県": "福岡県"
  },
  {
    "都道府県": "佐賀県"
  },
  {
    "都道府県": "長崎県"
  },
  {
    "都道府県": "熊本県"
  },
  {
    "都道府県": "大分県"
  },
  {
    "都道府県": "宮崎県"
  },
  {
    "都道府県": "鹿児島県"
  },
  {
    "都道府県": "沖縄県"
  }
]

上記Jsonを利用してApply to eachでフィルターを利用しながら都道府県別の郵便番号データベースをjsonファイルで作成していきます
(読み取りリミットをないのはJsonファイルだけなので必ずJsonファイルにしてください)

image.png

最後に、読み取りはとても重たいですが全国郵便番号が含まれたJsonファイルを作成してフローを終了します

image.png

アドバイス:月中くらいにスケジュール実行を行いデータをダウンロードするようにするといい

csvのアップロードは大体月末に郵便局で行われているようなのですが
月末だと郵便局の中の人がファイル名を間違えてUploadすることなどがあるようなので
(お忙しい中大変お疲れ様です…)
月中くらいにダウンロードしてデータベースを作成するとよろしいかと思います。

以上が郵便番号データベースを作成する方法でした。
次はPowerAppsでこの郵便番号データベース利用する方法を記載していきます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?