ノーコードツールを使うときに知っておきたいこと

プログラミングを効率化できる「関数」とは?

つぎは、効率的にプログラミングするなら欠かせない「関数」について確認しましょう。
Write your awesome label here.

1. 関数とは?

「関数」についても確認しておきましょう。
関数もプログラムを効率的に作成するうえで、よく使う仕組みのひとつです。ぜひ、覚えておきましょう。

関数とは、データを受け取って、何らかの処理をする仕組み(または処理した結果をデータとして返す仕組み)のこと。

関数と聞くと、数学の関数やMicrosoft Excelなどの表計算ソフトで使う関数などを思い浮かべるかもしれませんね。
プログラミングにおける関数も基本的な仕組みは同じで、「用意された関数を呼び出して使う」だけではなく、独自に関数の作成もできます

2. 関数を使うメリットとは?

それでは、関数を使うと、どのようなメリットがあるのでしょうか?

プログラムを作成していると、決まった一連の処理を何度も行いたいという場合があります。
それらの処理を都度プログラミングするのは大変なので、使用頻度が高い処理をひとつの処理にまとめて関数として作成しておくと、メインの処理からその関数を呼び出すだけでよくなるのです。

例えば、この関数を実装する機能のひとつとして、Dr.Sum Connectの「ユーザ定義ロジック」があります。
関数化することで、さらにつぎのようなメリットがあります。
可読性が高まる
処理をまとめることで重複の記述を減らすことができ、プログラム全体がすっきりとするので可読性が高まります。
メンテナンスしやすくなる
プログラミングの記述ミスを防げるだけでなく、修正したいときに関数の1か所を修正すればよいので、メンテナンス性が高まります。
プログラムの作成効率が向上する
決まった処理を共有できるので、複数人でのプログラムの作成効率が向上します。
関数と同じような意味合いのものに「サブルーチン」というものがあります。
サブルーチンとは、メインの処理から呼び出される他の処理というものです。厳密には、関数とサブルーチンは異なりますが、最初は同じような性質の仕組みと覚えておくとイメージがつかみやすいでしょう。

サブルーチンの例として、例えば、Dr.Sumのバッチの構成例「【共通】インポートバッチの構成例と記述例」で、子バッチをサブルーチンとして、メインの親バッチから呼び出して使うというものがあります。

3. 関数を作成するときに知っておきたい用語

ツールによって関数を作成するときの書式はさまざまですが、基本的な考え方や用語の意味は同じなので覚えておきましょう。
知っておきたい用語
  • 関数定義
    「関数定義」とは、「これから関数を作成する」と宣言することです。
    ツールによって定義方法は異なりますが、例えば、関数という意味の「function 」というキーワードを記述して関数を定義するものもあります。
  • 関数名
    「関数名」とは、関数につける名前のことです。
    「どのような処理をおこなう関数なのか」がわかりやすい名前をつけましょう。
    例えば、「SUM関数」や「AVERAGE関数」という関数名だと、「SUM関数は合計する関数なんだな」、「AVERAGE関数は平均を算出する関数なんだな」と使う側がイメージしやすいですよね。
  • 引数
    「引数」とは、関数に引き渡すデータ(入力データ)のことです。
    引数は、関数の中で変数として使えます。また、受け取りたいデータのデータ型も指定します。
  • 戻り値
    「戻り値」とは、関数が処理した結果(出力データ)のことです。
    戻り値もデータ型を指定します。戻り値は、一般的に関数の処理の中で、「return」というキーワードを使って指定することが多いです。
    関数名の前に変数をおいて「変数 = 関数(引数)」とすると、関数の戻り値を変数に代入できます。

(参考)関数を作成するときの例

具体的にどうように関数を作成するのかは、MotionBoardの「事後計算スクリプト」で関数を作成するときの例を確認してみましょう。
書式
function 関数名(引数:型):戻り値の型{
  (関数の処理)
}
すべての引数に100をかけた後に足し合わせて返す関数と関数を呼び出す例です。
return add(Self([販売数1]),Self([販売数2]));

function add(a:Number, b:Number):Number{
  var a2 : Number = a * 100;
  var b2 : Number = b * 100;
  return a2 + b2;
}
ここでは、「add」という関数名で定義しています。
  1. Number型(数値型)の引数を2つ受け取り、それぞれの引数に100を掛けたデータを変数に代入
  2. その2つの引数を足した結果をNumber型(数値型)の戻り値で返すという処理を定義しています。
  • 「add」という関数名で関数を定義する
  • Number型(数値型)の引数「a」と「b」を2つ受け取り、それぞれの引数に100を掛けたデータを変数「a2」と「b2」に代入する
  • 変数「a2」と「b2」を足した結果をNumber型(数値型)の戻り値で返す
関数を呼び出して使うときは、関数の書式に従い、引数や戻り値の「データ型」に気をつけてデータを指定しましょう。

引数や戻り値に異なるデータ型を指定した場合、ツール側で暗黙の型変換を行ってくれるときもありますが、エラーになってしまうときもあります。関数を使うときは、エラーにならないようにマニュアルやリファレンスなども参考にしながら使うことをおすすめします。

例えば、Dr.Sumのデータで型変換が必要な場合、「型変換関数」を使うと簡単です。

(例)文字列型としてデータを返したいとき
 TO_CHAR
( TO_DATE( '2004/05/31', 'YYYY/MM/DD' ), 'YY-MM-DD HH:MI:SS' )
結果
'04-05-31 00:00:00'

4. まとめ

いかがでしたか?
関数を使うことでプログラムの作成効率があがるので、ぜひ関数に慣れて活用していきましょう。

また、関数を使ううえで、関数に引き渡すデータの「引数」や、関数が処理した結果の「戻り値」といった用語はよく使うので覚えておきましょう。