IF関数とVLOOKUP関数

はじめに

ここでは、Excelの条件検索関数についての使用方法や使用例について説明します。条件検索関数の中で、特にExcelを業務で使用する際に良く利用する関数が、IF関数やVLOOKUP関数です。

  • IF関数…ある条件(論理式)が正しい(真-True)の場合と正しくない(偽-False)の場合、それぞれどちらか一方の結果を返す。
  • VLOOKUP関数…ある検索したい値(検索値)を元に、ある表や範囲から、その値を検索し、表から関連の値を返す。

[本テキスト用データダウンロード]
ex_if_vlookup.xlsx

Continue reading “IF関数とVLOOKUP関数”

マスターテーブル更新の弊害

RDB(リレーショナルデータベース)は,正規化が基本ですが,正規化することによって,検索や結合が複雑になってしまう場合があります.

次図のような承認書をデータベース化することを考えてみます.

00.承認書

まずは,1つの承認書を1レコードとして考えます.正規化前の状態は次図のとおり.

01.正規化前

これを正規化すると,次の3つのテーブルに分解できます.

Continue reading “マスターテーブル更新の弊害”

Rubyのオブジェクト配列

まずは,このRubyのプログラムをみてください.

class Abc
  attr_accessor :value
end

a = Array.new(5, Abc.new)

for i in 0..4
  a[i].value = i * 10
  puts a[i].value
end

puts "---"

for i in 0..4
  puts a[i].value
end

実行結果はこうなります.

$ ruby test.rb
0
10
20
30
40
---
40
40
40
40
40

期待していた結果,つまり後半のputsも,「0, 10, 20, 30, 40」という出力になると思っていましたが違うようです.

さて,なぜでしょう.

Continue reading “Rubyのオブジェクト配列”

Rubyで簡単な画像処理プログラム

はじめに

これまで学生の卒論等で画像処理プログラムを作成するとき,C言語で指導をしていたのだけど,画像ファイルを読み込む際にmalloc関数でメモリを確保したり,ポインタを多用したりして,画像データを一次元配列で処理する部分等がなかなか学生に理解してもらえないので,これまでCで書いていたものをRubyに書き換えようと考えたのです.

Rubyで画像処理といっても,単純に画像ファイルを読み込み,画像データを配列に格納し,コンボリューションなど加工するだけのことで,別に高機能なライブラリ(OpenCVなど)は必要ないのです.

Rubyで画像処理についてググると,ImageMagickのAPIを利用する「RMagick」を利用する例が多く見受けられます.

しかし,RMagickは,最新のImageMagick 7に非対応.従って,RMagickを利用するためにはImageMagic 6.xが必要(brew install imagemagick@6)らしい.

rmagickのインストールにハマった – Qiita
http://qiita.com/gakkie/items/1ec4c0362047154f1690

しかし,Ver.6.xではbrewでのインストールの際「–with-x11」オプションが使用できないため,displayコマンドが利用できないなど,Macでしようするのはどうも...

とりあえず,brewでは最新版のImageMagick 7を入れておくことにし,RMagickはインストールせず,ImageMagickのconvertコマンドを利用して,PGM形式に変換してから画像処理を行うことにします.

Continue reading “Rubyで簡単な画像処理プログラム”

Mac(macOS Sierra)でMongoDBを使ってみる

遅ればせながら,MongoDBを使ってみました.

これまで,PostgreSQLやMySQLなど,RDBしか触っていないので(あっ,Cassandraはちょっと触ったか),ドキュメント型DBであるMongoDBがどんなものかと触ったり調べたりしましたが,必ずしもRDBである必要のないシステムについては,MongoDBで作るのもアリかなと思った次第です.

とりあえず,brew一発で入れられるようです.

$ brew install mongodb

OpenSSLなども一緒に入れられるみたいです.

configは「/usr/local/etc」に,「mongod.conf」という名前でありますが,今回は特にいじりません.

サービスを起動してみます.

$ brew service start mongodb

それでは,早速MongoDBのクライアントを使ってみます.

Continue reading “Mac(macOS Sierra)でMongoDBを使ってみる”