データの保存や表示を行う際に式を使うと下記が可能になります。
- 数値の計算
- 変数等を組み合わせた文字列の表現
- 関数の使用
数値の計算
直接入力した数字や、変数やテーブルレコードに保存されている整数・浮動小数点を使用して計算ができます。
文字列の表現
’’で囲った文字列や、テキストタイプの変数を「+」を使用して組み合わせることで新たな文字列を作成できます。
レコードIDに様々な変数を組み合わせた文字列を使用したい場合等に便利です。
関数
関数を使用するとタイプの変換や文字列の取り出し等様々な処理が可能になります。
ここではよく使われる関数をご紹介します。
- DATETIMETOTEXT(日時, '変換後の形式', 'タイムゾーン')
日時をテキストタイプに変換します。
例:DATETIMETOTEXT(@アプリ情報.現在の日付と時刻, 'YYYYMMDD', 'Asia/Tokyo') ⇒ 20230101
使用例:テーブルレコードのIDに現在の日付を使用したい - LEFT(文字列, n)
文字列のうち、左からn文字を取り出します。
例:LEFT('20230101_A001_測定1', 8) ⇒ 20230101
使用例:読み込んだバーコードやIDのうち一部のみを取り出したい
こちらの記事もご覧ください。 - LEN(文字列)
文字列の長さを返します。
例:LEN('20230101_A001_測定1') ⇒ 17
使用例:文字列全体の長さが知りたい
こちらの記事もご覧ください。 - MID(文字列, 開始位置, n)
開始位置からn個の文字列を取り出します。
例:MID('20230101_A001_測定1', 9, 4) ⇒ A001
使用例:読み込んだバーコードやIDのうち一部のみを取り出したい
こちらの記事もご覧ください。 - REGEX_MATCH(文字列, '正規表現(取り出したい部分)')
元の文字列と正規表現に一致する文字列を配列として取り出します。
例:REGEX_MATCH('20230101_A001_測定1', '(\\d{8})\\w{6}\\W{2}\\d{1}') ⇒ 20230101
使用例:こちらの記事をご覧ください。 - REGEX_REPLACE(文字列, '正規表現', '置換後の文字列')
正規表現に一致する文字列を任意の文字列に置換し、置換後の文字列全体を返します。
例:REGEX_REPLACE('20230101_A001_測定1', '\\W{2}\\d{1}', '検査') ⇒ 20230101_A001_検査
使用例:こちらの記事をご覧ください。 - RIGHT(文字列, n)
文字列のうち、右からn個の文字を取り出します。
例:LEFT('20230101_A001_測定1', 3) ⇒ 測定1
使用例:読み込んだバーコードやIDのうち一部のみを取り出したい
こちらの記事もご覧ください。 - ROUND(浮動小数点数, 桁数)
浮動小数点数の小数点数以下を桁数に丸めます。桁数に指定がない場合は整数に丸めます。
例:ROUND(10.135, 2) ⇒ 10.13
使用例:小数点第三位以下を切り捨てたい - ROUNDDATETIME(日時, 単位(テキスト), 'タイムゾーン')
日時を指定された単位に丸めます。
例:ROUNDDATETIME(アプリ情報.現在の日付と時刻, 'month', 'Asia/Tokyo') ⇒ 現在の日付が2023/12/15の場合は2023/12/01 00:00:00
使用例:月初の日付を取得したい - TEXTTOINTEGER(文字列)、TEXTTONUMBER(文字列)、TEXTTODATETIME(文字列)
テキストタイプの文字列をそれぞれのタイプに変換します。
例:TEXTTOINTEGER('3') ⇒ 3
TEXTTONUMBER('10.135') ⇒ 10.135
TEXTTODATETIME('20230101', 'YYYY/MM/DD', 'Asia/Tokyo') ⇒ 2023/01/01 00:00:00
※時間を指定しない場合は、「00:00:00」と表示されます。
使用例:測定器で読み込んだ値を数値としてテーブルに保存したい、数値に置き換えて計算したい - TOTEXT(整数、浮動小数点他)
整数や浮動小数点をテキストタイプの文字列に変換します。
例:TOTEXT(3) ⇒ 3
使用例:繰り返し処理を行う際の連番(数値)をレコードのIDに使用したい - LINK(変数・集計, 数値もしくは’文字列’)
変数や集計に値がある場合はその値、ない場合はカンマ以降の数値や文字列を返します。
例:LINK(集計, 0) ⇒ 集計に値がある場合はその値、ない場合は0
使用例:集計結果がnullの場合にも計算処理を行いたい、変数に値があるか判定したい - ADD_TIME(日時, 数値, 単位(テキスト), 'タイムゾーン')
日時に数値分の指定した単位を足します。
例:ADD_TIME(アプリ情報.現在の日付と時刻, 1, 'months', 'Asia/Tokyo') ⇒ 現在の日付が2023/12/15の場合は2024/1/15
使用例:テーブルのフィルタをかけるため、1ヶ月後や1週間後等の日付を取得したい - ARRAY_INDEX_OF()
指定した配列の中で、指定した値の最初のインデックスを返します。配列の中に指定した値がない場合は-1を返します。
例:ARRAY_INDEX_OF(['りんご','みかん','バナナ'],'みかん') ⇒ 1
使用例:取り出したい値の配列のインデックスを調べたい