デジタル推進課

KNIME・Excel Macro・Power Automateなど日々の業務で使用できる自動化ツールを中心に書き綴ります

KNIME - ファイル名作りで大活躍! "数字の0埋め" はどうやるのか? - String Manipulation

f:id:makkynm:20220417154511p:plain

 

 

はじめに

お久しぶりです。自動化大好きまっきーです。

最近しばらくブログ書けずにいてました。一般的に受けそうなネタが少なくなってきたからですかね。何か他のことを始めようと模索中です。

最近はKNIMEを取り上げるブロガーの方が何人か出てきましたね。すでにいくつかの大企業では取り入れられていますが、企業側が使うようになってきてより一般的に認知されてきたらもっとユーザ増えるんじゃないでしょうか。無料なので大企業だけでなく中小企業で使えばいいのにとか思ったりしてるんですが、中小企業ではこれを広めることに関するメリットが薄いのかもしれないですね。スケールが出ないかもしれないので。まあ一番大きいのは単純に認知不足。。(公式さんここは頑張ってください。。マーケティングで市場拡大しないと、いつまで経ってもシェア低いまま。。無料ツールの初心者用トレーニングで1人10万近く取ってるようじゃ今後出てくるであろうより良いツールに足元すくわれちゃいます。。そうじゃないと短期的な収益が上がらないのも良く分かりますが。。)

私は少なくともKNIMEを導入しておけば、今後のデジタル化(BIツールの導入や、各種自動化)がやりやすくなる土台を考えるきっかけになるのでいいんじゃないかなあと思います。

実際にはKNIMEのデータ処理に強い特性から、実験データなどを扱う研究者の方や、機関システムの出力データを業務に使用する方が多いんでしょうね。特に多いのは製薬系の業界ですね。もしかすると、一部の情報Catch upの早い方のみ使用しているのが現状かもしれないです。いいツールはより広まった方が世の中のためだと思っているので、ぜひ広まるといいなあと。

ちなみに会社にとって一番最強なパターンは、KNIMEを派遣さんに覚えてもらうことです。派遣さん的にも、KNIME使えたら時給が下手したら2倍くらいになるんじゃないですかね。それくらい大量のデータを処理できる技術っていうのは今も昔も重要なんだと思います。

もしコンサル案件とかもしあればお答えするのでぜひご一報いただければと思います。

 

余計すぎる前置きが長くなりました。今日は以前Twitterでご紹介した、万能Node、String Manipulationで「こんなことできるんですよ」をご紹介します。

 

 

String Manipulationってなんだよ!って方は下記をご覧ください。

degitalization.hatenablog.jp

 

 今回のテーマ ~String Manipulation応用 - 数字の0埋め~

f:id:makkynm:20220417152916p:plain

Confirm - String Manipulation padLeft

覚えてほしいこと

ゼロ埋めしたい場合は、padLeft

 

やりたいこと

ファイルをいくつかに分けて出力したい時、できればファイル名をこんな風にしたいなーという方いませんか?

f:id:makkynm:20220417151910p:plain

やりたいこと



あなたならこの数字の0埋め、KNIMEでどう表現しますか?

 

String Manipulation - padLeft の使い方

今回のケースではString ManipulationのpadLeft関数が使用できます。padLeft関数は、指定の文字数にする関数で、穴埋めする文字列を指定することで、文字数が足りない場合指定した文字列で穴埋めしてくれます。

Workflow

f:id:makkynm:20220417152129p:plain

workflow - String Manipulation padLeft

Workflowは下記リンクからダウンロードできます。

0埋め - padLeft String Manipulation – KNIME Hub

 

Confirm - Before After

f:id:makkynm:20220417152916p:plain

Confirm - String Manipulation padLeft

 

Configure - String Manipulation padLeft

 

f:id:makkynm:20220417153038p:plain

Configure - String Manipulation

答え合わせです。下記の構文で実現できます。

padLeft(string($NumberColumn$), 3, "0")

意味はお分かりですよね。ポイントは2点です。

  1. padLeft(対象文字列カラム, 文字数, 文字数不足の時に左から挿入される文字列)
  2. string(文字列型にしたいカラム)

 

 ちょっと一言

Configure - Create File/Folder Variables

Create file pathの部分が新しくなって分からない方がいらっしゃるかもしれないので補足です。Configureの部分だけ載せておきますね。

KNIME workspace下のOutput/Tempフォルダを上で指定しています。ファイル名は先ほど作ったファイル番号を指定しました。

f:id:makkynm:20220417153519p:plain

Create file/folder Variables configuration

f:id:makkynm:20220417153533p:plain

Create file/folder Variables configuration flow variables

 

おわりに

いかがだったでしょうか。KNIMEはNodeや関数を覚えれば覚えるほど高度なことができていきます。

一つづつ抑えていきましょう。サンプルワークフローを一緒に作ってポイントをお伝えすることや、こんなケースではどう自動化するのが適切か、KNIMEを社内で広めていくにはどう社内でシステムを組み上げればいいか相談まで対応できると思います。

もしご相談ございましたらお気軽にご連絡ください。ではまた。

 

 

 

KNIME Hubワークスペース

makkynm/Public – KNIME Hub

Twitter アカウント

まっきー | デジタル推進課 (@makkynm) | Twitter

 

KNIMEに関する本

KNIMEに関する日本語の本って今これくらいしかないと思うんですよね、、

本がいいなーと言う人はぜひ試してみてください。

 

参考リンク