TableauPrepのクリーニング機能「●●を削除」を検証してみた
Preppin'Dataの2024w27の中に「文字列の中から、数字だけを取り出す」という課題があり、ネイティブのクリーニング機能「●●を削除」のことを思い出し、「文字と句読点を削除したら、数字だけが残せるんじゃないか?」と思って試してみたのです。
すると、「|」の記号が残ってしまい、「まあ確かに、文字でも句読点でもないけど…」と納得しかけたのですが、「そもそもこの『句読点を削除』って何が削除できるんだっけ?」と気になって検証してみたという記事です。
(そのPreppin'Dataの課題はこちら↓)
検証方法
こちらの記事に「半角/全角の英数字かなカナ記号」がまとまっていたので、それを一文字ずつExcelに抽出して縦持ちし、すべての文字に「●●を削除」をそれぞれ試してみました。今回は765個の英数字かなカナ記号(+α)をチェックしています。
結果の概要
当たり前ですが、削除できるものと削除できないものに分かれました。削除できるものは、いずれかの方法でのみ削除ができました(=2つの方法で削除できるものはなかった)。
どの操作でどの英数字かなカナ記号が削除できたのか、このあと解説していきます。結果は↓のExcelにまとめたので、詳細はそちらを参照ください。
「数字を削除」で削除できたもの
一番わかりやすいところから。半角の「0~9」と全角の「0~9」の合計20個が削除できました。これは特に違和感ないと思います。
0123456789
0123456789
「文字を削除」で削除できたもの
アルファベットのA~Zまで、半角/全角や大文字/小文字を問わず削除できています。ひらがな・カタカナも順当にすべて削除されています。「ゐ」や「ゑ」といった旧字体や、長音・濁点なども消えました。加えて、それ以外の言語における文字についても削除できているようです。
そしてさらに「ローマ数字(Ⅰ~Ⅹ)」も削除されていました。それは数字じゃなくて文字なのか…。ちなみに、「漢数字(一~十)」や「漢字の数単位(百/千/万など)」も文字として扱われているようでした。
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん
ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ
ヽヾゝゞ仝々〆〇ーÅ
ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθ
ικλμνξοπρστυφχψωАБВГДЕЁЖЗИЙКЛМНО
ПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмн
опрстуфхцчшщъыьэюя
ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙゚
ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ
「句読点を削除」で削除できたもの
これがだいぶ理解に苦しみました…。そもそも「句読点」って言われると日本語の「、」「。」のイメージが強く、「,」「.」とかは消えるのだろうと思って実行してみました。
すると、「句読点」という言葉からはイメージしにくい記号についても削除されてしまいました。いや結構色々消えてますね…。
!"#%&'()*,-./:;?@[\]_{}
、。,.・:;?!_〃―‐/\…‥
‘’“”()〔〕[]{}〈〉《》「」『』【】
-′″%#&*@§※‰。「」、・〝〟
「ひょっとして、この『句読点を削除』って日本語がイマイチな翻訳語なのでは?」と思い、英語のヘルプページを見てみたところ、英語では「Remove Punctuation」という表記になっていました。
ググったところ、「Punctuation」には「句読点」以外にも「区切り」という意味があるようで、「区切るために使われるような記号」も削除しているのだろうと思います。区切り文字に使われるコロン・セミコロンや、括弧・引用符が消えるのは、そう考えると納得です。
削除できなかったもの
削除できないものとして、「文字でも数字でもなく、区切る意味としても使われない記号」が残りました。半角/全角のスペースや改行コードといった、文字や記号とは言い難いものも削除されませんでした。
冒頭のPreppin'Dataでも区切り文字的に使われてた「|」「|」(縦線)は、どうも罫線という扱いになるようで削除してくれませんでした。結構そういう使い方する人多いと思うんですけどね…。
また、「①②③」「㍉㌔」「㈱㈲」といった環境依存文字も削除してくれませんでした。この辺は「文字」っぽいですが、仕方ないですね。
(2024/12/8 追記)
「$」と「¥」しか試してないですが、どうやら「通貨記号」も消えないっぽいです。これは意外と厄介ですね…
最後に
本当は冒頭の課題で出てきた「文字列の中から数字を取り出す」という方法を色々試してみようと思っていたのですが、この機能のことが気になってしまって試さずにいられなかったというだけの記事でした。本題の「文字列の中から数字を取り出す」方法は、また別の記事にまとめようと思います。
こんな感じで色々なことに気づけるPreppin'Dataは、TableauPrepの学習にとても役に立ちます!Prep筋をつけたい方は、ぜひトライしてみてください。