デジタル推進課

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

KNIME - ファイルパスを操る4 - KNIMEで相対パス使うには?

f:id:makkynm:20201220104719p:plain

 

 

はじめに

さて、今回で中級編を最後にしたいと思います。今回はKNIMEでの相対パスの使い方についてご説明します。相対パスを習得すれば、わざわざBrowseを押してファイルパスを取得する必要がないですし、人に共有するときも受け取った人がわざわざConfigureを変更する必要がなくなります!

 

 今回のテーマ ~相対パス knime://等~

f:id:makkynm:20200905165510p:plain

 今回のテーマ ~相対パス knime://等~

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

hub.knime.com

 

覚えてほしいこと

相対パスを使えば人に共有しやすくなる

 

そもそも 絶対パス相対パス とは?

絶対パス相対パスを図を交えて説明します。例として、Intermediate_TrainingというWorkflowのフォルダの中にあるtest.txtというファイルの絶対パス相対パスを見ていきます。

f:id:makkynm:20200905162325p:plain

絶対パス相対パス

 

パス(Path)とは?

直訳すると、「経路、道」となります。

つまり、ファイルパスとは、目的のファイルまでの経路を示すものということになります。

ファイルパスの概念は個人的に本棚と似ていると思っています。例えば、鬼滅の刃の漫画1巻を探したいとすると、「〇〇図書館>マンガ>集英社>き行>鬼滅の刃シリーズ>鬼滅の刃1巻」というように、階層が作れますよね。

 

絶対パス(Absolute Path)とは?

絶対パスとは誰から見ても同じ解釈にしかならないパスです。パソコンには、ルートディレクトリという、フォルダの階層の頂点が定義されています。絶対パスは、そのルートディレクトリからの目的のファイルまでの経路を示しています。

今回の例でいうと、ルートディレクトリから、目的のテキストファイルまでこのような階層・経路をたどれば目的のファイルが見つけられました。

ここでは「¥」が階層を一段階降りるマークですね。

f:id:makkynm:20200905163031p:plain

絶対パスとは?

 

相対パス(Relative Path)とは?

相対パスとは、自分の視点を移動させて、相対的に見たときのファイルパスになります。例えば、自分がIntermediate_Trainingというフォルダからファイルを見たとします。すると、階層は一つ下がるだけでいいですよね。

KNIMEでは、自分の視点を移動させることができる呪文がいくつか存在します。例えば、下記のように、Workflowのフォルダを"knime://knime.workflow"という呪文を唱えることで、自動的に取得できます。変数の概念にも似てますね。

Workflowを人に共有すると、その人のパソコンによってフォルダの名前が変わってしまいます。(makkyの部分がtanakaなど)なので各Nodeの設定が絶対パスで指定しているといちいち変更する必要が出てきてしまいます。相対パスにしておけばこのような変化する部分は変数のように自動的に取得するので、Configureの変更をする必要がありません。

f:id:makkynm:20200905164400p:plain

相対パスとは?

 

 

KNIMEでの相対パスの使い方

さて、実際にKNIMEで使用できる相対パス表現をご紹介します。大きく分けて4種類のフォルダを指定できます。表現もそれぞれ種類があるので、前回紹介したフォルダを作るNode "Create Directory"、を使用しながら確認していきたいと思います。

degitalization.hatenablog.jp

 

Workspaceとして設定したフォルダ

これは初期設定でWorkspaceとして設定するフォルダです。下記のように、KNIME Explorerで見えているフォルダでもあります。

f:id:makkynm:20200905170142p:plain

Workspaceとして設定したフォルダ

 

下図が今回のフォルダパスです。このWorkspaceのフォルダを取得する方法は3つあります。

f:id:makkynm:20200905170755p:plain

Workspaceとして設定したフォルダ

 

オプション1 - knime://LOCAL

まず一つ目のOptionは、knime://LOCALです。こんな風にすると、Workspaceまでの絶対パスが取得できます。

f:id:makkynm:20200905170318p:plain

オプション1 - knime://LOCAL

 

オプション2 - knime://knime.mountpoint

2つ目のオプションは knime://knime.mountpointです。LOCALの方は、Server上で実行するときなどエラーになることがあります。mountpointを使用すれば、Server上でも正しく動作します。デスクトップで実行している分には大してLOCALと違いはありません。

f:id:makkynm:20200905172058p:plain

オプション2 - knime://knime.mountpoint

 

オプション3 - knime.workspace (Global 変数)

3つめのオプションは相対パスというか、ただのグローバル変数なのですが、この方法でも取得できるのでご紹介します。グローバル変数って覚えていますでしょうか。変数をワークフロー全体で使える変数のことです。

この、knime.workspace というグローバル変数ですが、新しいWorkflowを作成すると必ず作成されますので、わざわざ自分で作る必要はありません。

degitalization.hatenablog.jp

 

f:id:makkynm:20200905172255p:plain

オプション3 - knime.workspace (Global 変数)

 

実行しているWorkflowがあるフォルダ

f:id:makkynm:20200905172916p:plain

実行しているWorkflowがあるフォルダ
knime://knime.workflow

上でフライングしてカバーしてしまいましたが、knime://knime.workflowはWorkflowのフォルダを取得できます。

knime://knime.workflow

 

一時フォルダ(自動削除フォルダ)

前回自動削除フォルダを作りましたが、これはNodeを使わず相対パスでも取得できます。 

degitalization.hatenablog.jp

 

knime://knime-temp-space

knime://knime-temp-spaceを使えば自動削除フォルダのパスを取得できます。

knime://knime-temp-space

 

KNIMEの実行ファイル(knime.exe)があるフォルダ

最後に、実行フォルダのあるフォルダを取得するものです。これは、特別何かを指定する必要はありません。何も指定なしにフォルダの名前を書いてしまえば実行ファイルのあるフォルダになります。

実行ファイルのあるフォルダとは、下図のようにknime.exeがあるフォルダを指しています。

KNIMEの実行ファイル(knime.exe)があるフォルダ
2階層作りたい場合

Testというフォルダの下に、6という番号のフォルダを作るには、ただ単に何も指定せずにTestとLocationの部分に書けばOKです。

実行ファイルのあるフォルダ
1階層だけ作りたい場合

この、EXEファイルのあるフォルダのみにフォルダを作りたい場合、Locationの部分になにも書かないとErrorになってしまいますので、「./」という表現をLocationに書いてあげると、実行ファイルのあるフォルダをLocationとして設定できます。

1階層だけ作りたい場合

1階層だけ作りたい場合

おわりに

相対パスについて理解が深まったでしょうか。相対パスと変数をうまく使えば、人に共有する際にとても便利です。ぜひ使えるようになってみてください。また、変数を使いすぎると人が理解するのが難しくなっていくこともあるので、必ずKNIME上にメモを残しておきましょう。

degitalization.hatenablog.jp

 

さて、以上で中級編を終わりにしたいと思います。KNIME、かなり詳しくなりましたか?自分でやりたいことをKNIMEで2、3個作れるようになるとかなり楽になると思います。本気を出せば1週間かからずに習得できるのではないでしょうか。

1回習得してしまえば、あとは使うだけです。他の人がレポート作成に何時間も無駄な時間をかけている間、自分はKNIMEをポチるだけでサボることができます。

KNIMEはデータ量が膨大になればなるほど力を発揮します。元々機械学習ができるようにするために作られているためです。小さな業務自動化が、もっと大きな業務改善の土台となってくれます。(ビッグデータ解析にはここで扱ったデータクレンジングといわれている汚いデータをきれいにする作業が必須です。)ぜひ社員全員が使えるようなハイテク企業を目指してもらいたいです。

 

KNIMEで最低限の部分は説明できたと思うので、これからはたまにしか使わないNodeや機能、実践的な内容、KNIMEのOfficial Trainingの内容まで解説出来たらなと思っています。もし何か要望があればぜひお問い合わせいただければなと思います。

 

 

 

余談 

 今回紹介する映画は、「スタンド・バイ・ミー」です。 不朽の名作だと思います。線路をひたすら歩く光景が印象的ですよね。ペルーのマチュピチュまで行く、スタンドバイミーコースを思い出します。

海外旅行が普通に楽しめるような日々に戻れたらいいなーとつくづく思います。。

スタンド・バイ・ミー  (字幕版)   

スタンド・バイ・ミー (字幕版)

  • 発売日: 2016/03/18
  • メディア: Prime Video
 
スタンド・バイ・ミー     

スタンド・バイ・ミー

  • メディア: Prime Video
 

 

www.youtube.com

 

参考リンク