KNIME・EXCEL倉庫

KNIMEやEXCELマクロの備忘録です。

【KNIME】現在時刻の情報を使いたい

・ファイル名などに、今日の日付や現在時刻を使いたい場合がある。 ・試しにtimeでノードを調べてみると、それっぽいものが見つかった。 ・Time Generator (legacy)というノードを実行すると、デフォルト設定で以下のように出力された。 ・StartとEndの間の…

【KNIME】XPathでデータを見やすくしたい

・前回、Webからデータを取得したものの、コードだけではデータを把握できなかった(下図)。 ・XMLはデータ構造を記述するマークアップ言語の一種であり、適切に形式を変換すれば表として読める。 ・XPathノードでは、構造化されたXMLから要素を抜き出し、…

【KNIME】GET RequestでデータをWebから釣ってきたい

・KNIMEには、Webにアクセスし、情報を釣ってくるノードが存在する。 ・特定のWebサイトに集中的にアクセスするとサーバに負荷がかかり、いろいろと不味いことになります。・スクレイピングは禁止されている場合もあるので、できるできないはきちんと調べて…

【KNIME】Column Aggregatorで集計したい

・複数の列からデータをとってきて集計したい場面がしばしばある。 ・Mathformulaを使えば可能だが、集計に特化したColumn Aggregatorを使えば、より簡単に目的の処理を実行できる可能性がある。 ・このノードでは、「どの列から」「どういう集計法で」デー…

【KNIME】String Inputをcomponent化して、ノードに変数を入力したい。

・ワークフローを作成していると、その都度ファイル名やファイルの場所を入力してflow variable化し、フローを回したくなることがある。 ・通常はノードの設定画面から弄れば良いが、なんとなくごちゃっとしていて、気持ち悪い。 ・少し弄っていると、String…

【KNIME】String Inputで簡単にflow variableを作りたい

・定まったFlow Variableを作成する際に、Table Creatorに変数を入力した後、Table Row to variableなどを使ってFlow varibaleにしていた。 ・調べてみると、String Inputというノード一つでFlow Varibaleを作成できるらしい。 こんな形で入力すると、 こん…

【KNIME】Moving Aggregationで積算値を計算したい。

・数値データの表を扱っている際に、積算値を算出したいことがある。 ・調べてみると、Moving Aggregationというノードで可能らしい(下図)。 ・Scoreの対応する行までを加算した積算値がSum(Score)列に入っている。 ・Moving Aggregationの設定は以下の通…

【KNIME】Loopを使わないデータ登録ワークフロー

・昔の記事で、JoinerとMergerをLoopして、元ファイルのデータを追加するワークフローに関して書いた。 ・ConcatenateとGroupByを利用すれば、Loopなしでもう少しシンプルに目的の処理を実行できそうなので、ワークフローを作ってみた(下図)。 ・流れは以…

【KNIME】Concatenateで表にデータを追加したい。

・表を縦にくっつけるConcatenateとデータを纏めるGroupByを使うと、表にどんどんデータを追加するワークフローを作ることができる。 ・例えば、会員IDが一意に決まっているとき、会員ID+名前の情報をどんどん追加する場合を考える。 ・以下の例の場合、あ…

【KNIME】Reference Column Resoterで列を指定の順番に並べ替えたい

・表の列を何らかの順番に並べ替えたいことがある。 ・Column Resorterでできるかと思ったが、どうもしっくりこない。 ・Column Resorterを使う過程で、Reference Column Resoterなる怪しげなノードを見つけた。 ・どうもこれでできるらしい。 ・Reference C…

【KNIME】たくさんのパラメータの関係を図示したい。

・たくさんの数値データがある際に、それらの関係がどのようなものか推察する必要がでることがある。 ・散布図を描く際に、いちいちやってられないので、マトリックスで一気に可視化したい場合がある。 ・そういう場合には、Scatter Matrixノードを使うと、…

【KNIME】UngroupでListをバラバラにしたい。

・先日、データをグループでまとめるノードGroupByに関して記事にした。 ・GroupByノードを出そうとすると、KNIME検索でUngroupなるノードが引っ掛かった。 ・このノードは、List形式のセルをバラバラにして、縦にずらっと並べるノードらしい。 ・例えば、Gr…

【KNIME】Groupbyでデータを集計したい。

・共通項のあるデータを集計したり、重複を潰すのに、Groupbyというノードを使えば便利らしい。 ・使い方をメモしておく。 ・以下の表からデータを集計してみる。 ・例えば、各家庭(姓)の一番上に挙がっている名前(名)を代表者として、各家庭の平均年齢…

【KNIME】表全体でString Manipulationしたい。

・たくさん列のある表全体に対して同じString Manipulationの処理を実行したい時がある。 ・String Manipulationは、1つの列に対してしか機能しないので、Loopを使って列を一つ一つ処理していく必要がある。 ・例えば、表中の「田中」を「鈴木」に変換するW…

【KNIME】workflow内で使えるflow variableを設定したい。

・workflowを組んでいると、ユニバーサルに使える変数を設定したくなることがたまにある。 ・workflow内で使用できるflow variableの設定方法があるので、残しておく。 ・KNIME Explorerでworkflowファイルを右クックし、Workflow Variablesというのを選択す…

【KNIME】Flow Variablesの右のボックスは何か。

・Flow Variablesの右の方にあるボックス(下図のプルダウンメニューの更に右にある白いボックス)は何に使うのか? ・試したところ、Flow Variableを出力するためのボックスであり、対応するFlow Variableに名前を付けて出力する機能があるらしい。 ・Table…

【KNIME】Table Column to VariableとTable Row to Variableを覚えたい

・KNIMEでflow variableを扱う際に、Table Creatorで適当に表を作り、Table Column to Variable又はTable Row to Variableで変数化することがある。 ・何故か2分の1以上の確率で間違うので、記事にしておく。 ・適当に表を作って、それぞれで変数化した(下…

【EXCEL】もっと乱数を発生させたい

・前回、rand関数で一様分布の乱数を発生させた。 ・正規分布の乱数を発生させたい。 ・使う関数は、norm.inv関数。 ・確率、平均、標準偏差を入力すると数値を返してくれる。 ・正確には、乱数を返してくれるわけではなく、入力した平均値と標準偏差の正規…

【EXCEL】乱数を発生させたい

・なんやかんややっていると、乱数を発生させたいことがある。 ・乱数と一口に言っても、いろいろなパターンがあるので、EXCELでの出し方を調べてみた。 ・一様分布の乱数を発生させたい。 ⇒ rand関数を使う。rand関数(=rand())を入力すると、0~1の一様分…

【EXCEL】もっと便利に検索したい(index + match))

・vlookupは第四の引数にFALSEを入れて完全一致検索にした方が良いっぽい。 ・vlookup関数の特徴として、検索列が返し列より左にないといけないらしい。 ・調べてみると、index関数とmatch関数を組み合わせることにより、vlookup関数よりも汎用性の高い検索…

【EXCEL】vlookupがたまに間違える件について

・EXCEL上で表を作成した際に、検索関数であるvlookupを使うことがある。 ・vlookupで表を検索すると、なぜかたまに間違えることがある(下図)。 ・会員番号1006は田中六郎氏であっている。一方で、会員番号1005は存在せず、氏名を返してはいけないのだが、…

【EXCEL】表の枠線を消したい

・EXCELで表を作成し、画像としてwordなどに張り付ける際に、変に枠線が残ってしまうことがある(下図。罫線として塗っていない「氏名と出身」セルの周りの枠線も画像としてコピペされている)。 ・線が残らない方法を残しておく。 ①すべての枠線を消す ・「…

【その他】タグでファイルを管理したい。

・ファイルを管理する際に、これまでフォルダの階層構造で管理していた。 ・同じ階層のフォルダの属性が背反でない場合、管理に苦慮し、結局親フォルダに直接ファイルを放り込むような状態になっていた。 ・調べてみると、Win10ではファイルをタグ管理できる…

【KNIME】ファイルの情報を抽出したい

・ファイルの管理をする際に、ファイルのサイズや更新日時の情報を得たい場合がある。 ・Files/Filders Meta Infoというノードでそれができる。 ・情報を得たいファイルのパス情報を入力すると、ファイルのサイズ、最終更新日時、作成日時などの情報を出力し…

【KNIME】ファイルを動かしたい

・KNIMEでファイルを削除、コピー&ペースト、移動させたい。 ・削除する時⇒Delete Files/Foldersノードを使う。 ・例えばファイルを削除したい時は、ModeをFileにして、ファイルのパスを入力する。 ・ファイルのパスを変数で制御すれば、削除するファイルを…

【その他】プリントスクリーンを便利に使いたい

・PCの画面をそのまま写し取るプリントスクリーンという機能がある。 ・キーボードの右上などに、PrtScキーがあり、これを押すと今映っている画面全体が写し取られる。 ・全部写すにはこれで十分なのだけれど、デュアルディスプレイの際にこれをやると、意図…

【KNIME】chunk loopを使ってみたい

・Table Row To Variableを使うと、表を変数化して上の行から順番に渡すループを作ることができる。 ・変数化しなくて良いから、順番に数値を渡して欲しいと思う操作があった。 ・調べてみると、Chunk Loopというやつがそういうことをできるらしい。ちなみに…

【EXCEL】日付の表示を変更したい②

・日付の表示に関して記事を書いていて、ふと思った。 ・「yyyyが西暦4桁なのは、恐らくyear4桁という意味だろう。mはmonthだし、dはdayだろう。ほかのアルファベットにも意味が割り振られているのではないか?」 ・日付を入力し、a~zまで試してみたところ…

【EXCEL】日付の表示を変更したい

・EXCELの日付の表示形式を変更したい。 ・EXCELの日付のデフォルトの表示形式は、「西暦4桁/月/日」になっている(2021/1/11など)。 ・以下で、入力を2021/1/11として、いろいろな日付の表示形式を作成する方法をメモしておく。 ・2021年1月11日のように…

【EXCEL】単位を表示させたい

・EXCELを使っていると1つのセルの中に単位付きの数値を入力したい場面にたまに遭遇する。 ・例えば、「100円」と一つのセルに入力すると、文字列として認識され、数式で金額を計算することができなくなる(下図)。 ・これを解決するには、100と円を別のセ…