Access Switch関数とIIf関数
レコード値を変換させるときに良くSwitch関数かIIf関数を使用します。
Switch関数は条件式の値が真(True)の場合、交換値と該当しない(False)場合はNull値となります。
Switch(条件式1,交換値1,条件式2,交換値2,条件式3,交換値3,…)
IIf関数も式の値が真(True)の場合と該当しない(False)場合の値も設定できます。
IIf(条件式,真の場合,偽の場合)
複数設定↓↓
IIf(条件式1,真の場合1, IIf(条件式2,真の場合2,IIf(条件式3,真の場合3,IIf( …偽の場合))))
事例として、以下のデータで業態を「スーパー、コンビニ、ドラッグ、ホームセンター」は『複数』、「家電大型専門店」を『単独』と変換していきます。
![画像1](https://assets.st-note.com/production/uploads/images/48486821/picture_pc_5e2db0edf80821345f13f84d96946590.jpg?width=1200)
まず、Switch関数。
フィールド名は「業態変換」とします。
業態変換: Switch([業態]="スーパー、コンビニ、ドラッグ、ホームセンター","複数",[業態]="家電大型専門店","単独")
![画像2](https://assets.st-note.com/production/uploads/images/48487335/picture_pc_b43e2240c7bf1c74b52e4a43a0d358b3.jpg?width=1200)
データビューフィールドにすると「スーパー、コンビニ、ドラッグ、ホームセンター」は『複数』、「家電大型専門店」を『単独』と出ました。
![画像3](https://assets.st-note.com/production/uploads/images/48487540/picture_pc_9b0ebd1e500ac1737efabf2ce7c738ed.jpg)
次にIIf関数。
Falseの場合はNull値(””)となるようにしています。
業態変換: IIf([業態]="スーパー、コンビニ、ドラッグ、ホームセンター","複数",IIf([業態]="家電大型専門店","単独",""))
![画像4](https://assets.st-note.com/production/uploads/images/48487868/picture_pc_76f55fb395cef2c1df9d4acbcec3effb.jpg?width=1200)
Switch関数と同じようにデータビューフィールドにすると「スーパー、コンビニ、ドラッグ、ホームセンター」は『複数』、「家電大型専門店」を『単独』と出ました。
![画像3](https://assets.st-note.com/production/uploads/images/48487540/picture_pc_9b0ebd1e500ac1737efabf2ce7c738ed.jpg)
複数設定の場合、どちらの設定でも同じ結果が出せるのですが、IIf関数の場合は複雑になる(カッコが多くなる)ので、Switch関数のほうがおすすめです。
参考:Microsoft サポート
https://support.microsoft.com/ja-jp/
引用データ:経済産業省 METI POS小売販売額指標[ミクロ] 商品分類表品目例
https://www.meti.go.jp/statistics/bigdata-statistics/bigdata_pj_2019/pos_gfk_intage.html
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?