オープンソースのローコード開発ツールのプリザンター(pleasanter)ブログ

オープンソースのローコード開発ツールのプリザンター(pleasanter)のブログとサービス情報サイトです

カテゴリ : お知らせプリザンターとは?使い方スクリプト・スタイル環境構築事例動画

これで基礎は完璧!プリザンターの関数機能を余さずにお伝えします!

こんにちは。
リーデックス小川です。

今回は、プリザンターの計算式で利用できる関数機能について記事にしていきます。スクリプトを利用せずに、数値の計算や数値以外の項目の計算や処理について、管理画面の計算式から設定することができます。EXCELで関数を利用していた方であれば、比較的簡単にプリザンターの関数を利用することができます。

 

計算式について

計算式は通常、簡単な四則演算を設定することができます。しかし、対象や数式で利用する項目は数値型のみが対象です。日付の計算や文字列の連結などについては、スクリプトやサーバスクリプトで実装する必要があり、Javascriptの習得が必要でした。

しかし、計算式で関数を利用することで、Javascriptを使わずにEXCELの「関数」と同じような処理が可能になります。ちなみにプリザンターの「スクリプト」(や「サーバスクリプト」)がEXCELだと「マクロ」のイメージです。

 

関数機能の使い方

追加された関数機能についてですが、計算式の詳細設定より、研鑽方法「拡張機能」を選択します。

 

すると、対象に数値だけではなく、分類、日付などの対象を選択できることができるようになり、計算式で関数を利用することができるようになります。

 

使用できる関数について

2023/12/17時点の使用できる関数をご紹介いたします。

日付/時刻

No 関数名 説明
1 $DATE 日付を生成します。
2 $DATEDIF 2つの日付の間の日数、月数、または年数を計算します。
3 $DAY 日付の日数を取得します。
4 $DAYS 2つの日付間の日数を求めます。
5 $HOUR 日付の時間を取得します。
6 $MINUTE 日付の分を取得します。
7 $MONTH 日付の月を取得します。
8 $NOW 現在の日時を取得します。
9 $SECOND 日付の秒を取得します。
10 $TODAY 現在の日付を取得します。
11 $WEEKDAY 日付に対応する曜日を返します。
12 $YEAR 日付の年を取得します。

 公式マニュアル「日付/時刻」より引用)

 

日付に関する関数が用意されています。EXCELと同じような関数がありますので、難しくは無いと思います。日付の計算はスクリプト(やサーバスクリプト)で実装する必要がありましたが、関数で簡単に計算することができるようになりました。以下は関数$NOWの使用例です。

 

文字列操作

No 関数名 説明
1 $ASC 全角文字を半角文字に変換します。
2 $CONCAT 指定した文字列を結合します。
3 $FIND 検索文字列を対象の文字列の中で検索し、検索文字列が最初に現れる位置を左端から数えた結果を求めます。検索は大文字小文字は区別されます。
4 $JIS 半角文字を全角文字に変換します。
5 $LEFT 文字列の先頭から指定された数の文字を返します。
6 $LEN 文字列の文字数を返します。
7 $LOWER 文字列に含まれる英大文字を英小文字に変換します。
8 $MID 文字列の指定位置から指定された数の文字を返します。
9 $REPLACE 対象の文字列に対して指定した文字数の文字を別の文字に変換します。
10 $RIGHT 文字列の末尾から指定された数の文字を返します。
11 $SEARCH 検索文字列を対象の文字列の中で検索し、検索文字列が最初に現れる位置を左端から数えた結果を求めます。検索は大文字小文字は区別されません。
12 $SUBSTITUTE 対象の文字列内にある特定の文字列を指定した文字列に変換します。
13 $TRIM 文字列に含まれる不要なスペースを取り除きます。
14 $UPPER 文字列に含まれる英小文字を英大文字に変換します。
15 $VALUE 文字列として入力されている数字を数値に変換します。

公式マニュアル「文字列操作」より引用)

 

文字列に関する関数です。入力された値を整形することができますので、ゆらぎを減らすことができるようになります。また、文字列連結($CONCAT)や文字列置換($SUBSTITUTE)が使用できますので、文字列の加工がしやすくなりました。以下は関数$CONCATの使用例です。



論理

No 関数名 説明
1 $AND 全ての引数がTRUEの場合にTRUEを返します。
2 $IF 論理式の結果(TRUEかFALSE)に応じて、指定された値を返します。
3 $IFS 1つ以上の条件が満たされるかどうかを確認し、最初の真条件に対応する値を返します。
4 $NOT 引数がFALSEの場合はTRUE、TRUEの場合はFALSEを返します。
5 $OR いずれかの引数がTRUEのとき、TRUEを返します。引数がすべてFALSEである場合は、FALSEを返します。

公式マニュアル「論理」より引用)

 

条件による分岐を設定できます。スクリプト不要で条件による値の変更ができるので、お手軽度合いを踏まえると、とても便利な関数ですね。以下は関数$IFの使用例です。

 

なお、条件については表のような一般的な演算子を使用することが可能です。

演算子 説明 trueを返す例
==(等しい) 左辺と右辺が等しい場合にtrueを返します 分類A == "中野区"
!=(等しくない) 左辺と右辺が等しくない場合にtrueを返します 分類A != "中野区"
>(大なり) 左辺が右辺より大きい場合にtrueを返します 数値A > 1000
>=(以上) 左辺が右辺以上の場合にtrueを返します 数値A >= 1000
<(小なり) 左辺が右辺より小さい場合にtrueを返します 数値A < 1000
<=(以下) 左辺が右辺以以下の場合にtrueを返します 数値A <= 1000

公式マニュアルより引用)

 

情報

No 関数名 説明
1 $ISEVEN 引数に指定した数値が偶数のときTRUEを返し、奇数のときFALSEを返します。
2 $ISNUMBER セルの内容が数値の場合にTRUEを返します
3 $ISODD 引数に指定した数値が奇数のときTRUEを返し、偶数のときFALSEを返します
4 $ISTEXT セルの内容が文字列である場合にTRUEを返します

 公式マニュアル「情報」より引用)

 

論理で利用する条件部分で活躍する関数です。数値かどうかの判定は使うケースが多いので便利ですね。以下は、$NUMBERの使用例です。

 


数学

No 関数名 説明
1 $MOD 数値を除算した剰余を返します。
2 $ROUND 数値を指定した桁数に四捨五入した値を返します。
3 $ROUNDDOWN 数値を指定した桁数で切り捨てます。
4 $ROUNDUP 数値を指定した桁数で切り上げます。
5 $TRUNC 数値の小数部を切り捨てて、整数または指定した桁数に変換します。

公式マニュアル「数学」より引用)

 

数値計算の関数です。切り捨て、切り上げなどは項目の「数値」でも可能ですが、計算式の途中でも使用することができるようになりました。より精密な計算でもスクリプトを利用せずに計算式が使用できます。以下は関数$ROUNDの使用例です。

 

統計

No 関数名 説明
1 $AVERAGE 引数の平均値を返します。
2 $MAX 引数の最大値を返します。論理値および文字列は無視されます。
3 $MIN 引数の最小値を返します。論理値および文字列は無視されます。

公式マニュアル「統計」より引用)

 

平均値、最大値、最小値が計算式で利用できます。サーバスクリプトでもメソッドとして使用することはできますが、計算式でもおなじことができますのでより簡単、便利になりました。以下は、関数$AVARAGEの使用例です。



関数を使うメリット

次に、関数を使うメリットについて挙げてみたいと思います。

スクリプトやサーバスクリプトなどよりも手軽にカスタマイズできる

これは、先ほどもお伝えしている通りです。簡単な処理であればJavaScriptを利用してカスタマイズする手間がなくなりました。

EXCELで関数を使用したことがあればとっつきやすい

EXCELを利用していた方であれば、プリザンターの関数はEXCELの関数に似ているため、拡張した計算式のルールさえ覚えてしませば、殆どが直感的に使用できます。

バージョンアップなどによる影響を受けにくい(と思われる)

プリザンターは日々バージョンアップしていますが、影響を受けにくいカスタマイズを行うことがコスパの高い運用を実現するために必要です。計算式はスクリプトやサーバスクリプトよりもシンプルに実現でき、関数はプリザンターの機能のためバージョンアップによる影響は受けにくいと思われます。

 

関数の使い方の注意点

関数を使うときの注意点についてまとめます。

関数の引数として利用できない項目がある

関数により引数として利用できる項目が決まっています。使用できない項目ではうまく動きませんので、うまく動かない場合はマニュアルを参考に使用できない項目では内科を確認してください。

 

分類や説明などの文字列の値を変換するときにも計算式での設定が必要

直感的には、分類や説明の値の整形や変換などは、エディタの詳細で設定できそうですが、計算式での設定が必要となります。そのため、計算式の量が増え、メンテナンスがしづらくなる可能性があります。(が、それ以上に便利なため使わない手はないでしょう)。

 

関数を入れ子に(ネスト)して使うと複雑になり分かりづらくなる

EXCELでも同じことが起きますが、関数を入れ子(ネスト)しすぎると数式が複雑になり、修正が難しくなることがあるため、数式(と項目)を分けて実装するなどの工夫が必要になります。あまりにも数式が複雑になる場合は、スクリプトやサーバスクリプトを検討しましょう。

 

計算式を便利に使う(TIPS)

最後に、計算式をより便利に使う方法についてまとめます。

結果をすぐに反映するには?

編集画面で変更した値をすぐに更新したい場合は、自動ポストバックを利用しましょう。テーブル管理「エディタ」の各項目の詳細設定より自動ポストバックにチェックを設定することで使用することできるようになります。



入力画面や編集画面で、項目の値を修正しフォーカスを移動すると、すぐに結果が反映されます。設定の詳細や詳しい説明については、「自動ポストバック」を確認してください。

 

カラム名で指定する方法について

計算式では、表示名ではなくカラム名を角括弧()で囲んだ記述が可能です。角括弧で囲んだ記述を行った場合、追加時点で表示名に自動的に変換します。この場合、計算式のカラム名も表示名に自動的に変換されます。

なお、「表示名を使用しない」をチェックを入れると、計算式にカラム名を角括弧()で囲んだカラム名のまま登録されます。

 

計算方法が「規定」の場合は、カラム名はそのまま記述できましたが、「拡張」の場合はカラム名を角角括弧([])で囲うことが必須ですので注意してください。

 

エラー出力

「エラーを表示する」にチェックを入れた場合は、システムログにエラー内容が記録されるとともに、新規登録画面や編集画面の画面下に「アプリケーションエラー」のメッセージが表示されます。

エラーの表示内容や詳細についてはマニュアルに詳しい説明がありますので、ぜひご覧いただければと思います。

 

まとめ

今回は、プリザンターの関数の基礎について、余すところなくお伝えしました。スクリプトやサーバスクリプトを利用せずに、ノーコードの領域で値を修正でき、ノンプログラマーな方でも扱いやすいのではないかと思います。

ただ、複雑な処理が必要な場合は、関数では実現できないカスタマイズもあります。弊社では、スクリプトやスタイルを利用したカスタマイズについてご支援させていただいております。スクリプトについて相談したい、業務を改善のために実現したい機能がある、や、本記事や過去の記事のスクリプトを応用したい、などありましたら、お気軽にお問合せください。

それでは、今回はこの辺で。
最後までご覧いただき、ありがとうございました。