表紙
はじめに
T 画面の説明
U 表の扱い方
V フォルダの扱い方
W 集計表示の仕方
X 参照用グリッド
1 グラフにドロップ
2 集計にドロップ
3 フォルダにドロップ
4 検索条件図にドロップ
Y HTML出力
1 文字枠
2 伸縮表示
3 グラフ
4 集計表
Z 式と組込み関数
[ プログラム引数とコマンドモード
\ アクセス制御
1 アクセス制御の有効化
2 ユーザの追加・編集・削除
3 グループの追加・編集・削除
4 アクセス権の設定
] 操作ログ
]T ライセンスの設定

■ Z 式と組込み関数

PowerFolder で実際の仕事を処理しようとすると、データの検索や集計だけでなく、値の前後に単位等の表記をつけたい、単価 × 個数 のような演算をしたい、日付を表示したい、等が必要になることがあります。
このような要求に答えるために、次のものがあります。
  1. 拡張カラム − 「U-3-(1) 表示書式設定
  2. 集計の拡張カラム − 「W-2-(1) カラムの挿入
  3. フォルダのデータ処理 − 「V-7 フォルダのデータ処理
  4. カードのボタン文字枠の2行目以降 − 「U-4-(1) カード表示
  5. カードの文字枠内容の $( ) − 「W-14 カード表示
  6. HTML出力の文字枠内容の $( ) − 「X-1 文字枠
これらの記述は共通の規則があり、それに従って書かれたものを式と呼びます。
PowerFolder の式の規則は次の様なものです。
例)
(5 + 3) * 3
単価 * 個数 + '円'
"伊藤" + '博文'
氏名 + "様"


組込み関数には次のものが用意されています。

関数名
<別名>
説明
日付
<date>
日付([d, m, y])
今日の日付から d 日後、m 月後、y 年後の日付を YYYY/MM/DD で返します。
d, m, y を省略した時は 0 と見なします。

 日付(7)     7日後
 日付(-7)     7日前
 日付(10, 10)   十月十日後
 日付(0, 0, 4)  4年後
日付
<date>
日付(s, [d, m, y])
s で指定した日付から d日後、m月後、y年後の日付を YYYY/MM/DD で返します。
s が日付と解釈できない時は日付([d,m,y])の書式で解釈します。
日付と解釈されるのは次の形式です。
 YYYYMMDD
 YYYY/MM/DD
 YYYY-MM-DD
 YYYY.MM.DD
 YYYY年MM月DD日
 DD/mmm/YYYY (mmm は Jan, Feb, Mar, .. )
 上記 YYYY は YY でも可能で YY<50 の時 +2000、50<=YY<100 の時 +1900
年月日 年月日([d, m, y]) or 年月日(s, [d, m, y])
日付() と同じですが YYYY年MM月DD日 で返します。
年号月日 年号月日([d, m, y]) or 年号月日(s, [d, m, y])
年月日() と同じですが年を年号で表示します。
年号は、「平成」から「宝暦」までをサポートしてます。
s に渡せる日付の形式は日付()と同じです(年号はサポートしていません)。
曜日
<dayweek>
曜日([s])
s で指定した日付の曜日を文字列で返します。
s を省略した時は今日の日付になります。
曜日()の文字列は以下の通りです。
 '日' '月' '火' '水' '木' '金' '土'
dayweek()の文字列は以下の通りです。
 'Sun'  'Mon'  'Tue'  'Wed'  'Thu'  'Fri'  'Sat'
日数
<days>
日数([s])
s で指定した日付の基準年からの日数を返します。
s を省略した時は今日になります。
日数日付
<daysdate>
日数日付([n])
基準年からの日数 n の日付を YYYY/MM/DD で返します。
n を省略した時は今日になります。
daysdatex daysdatex([n])
エクセルの日付日数 n を YYYY/MM/DD で返します。
n を省略した時は今日になります。
月齢
<moonage>
月齢(誕生日 [, 基準日])
月齢を返します。
基準日が省略されると関数を実行した日になります。
年齢
<age>
年齢(誕生日 [, 基準日])
年齢を返します。
月齢を 12 で割った整数部分です。
時刻
<time>
時刻()
現在時刻を HH:MM:SS で返します。
秒数
<seconds>
秒数([s])
s で指定した時刻の秒数を返します。
以下の形式が時刻と解釈されます。
 HH:MM:SS
 HHMMSS
s を省略した時は現在時刻になります。
秒数時刻
<secondstime>
秒数時刻([n])
n で指定した秒数の時刻を HH:MM:SS で返します。
n を省略した時は現在時刻になります。
日時秒数
<dtsec>
日時秒数(s [, se, mi, h, d, m, y])
s で指定した日時から se 秒後、mi 分後、h 時間後、d 日後、m 月後、y 年後の基準日からの秒数を返します。
s に空文字列を渡すと現在日時になります。
秒数日時
<secdt>
秒数日時([n])
n で指定した秒数の日時を YYYY/MM/DD HH:MM:SS で返します。
n を省略すると現在日時になります。
秒数日付
<secdate>
秒数日付([n])
n で指定した秒数の日時を YYYY/MM/DD で返します。
n を省略すると現在日時になります。
秒数時刻
<sectime>
秒数時刻([n])
n で指定した秒数の時刻を HH:MM:SS で返します。
n を省略すると現在日時になります。
秒数時間
<secdhms>
秒数時間(n, fmt)
n で指定した秒数を fmt の書式で変換し返します。
fmt 中の次の文字は値に置き換わります。
 D : 日数
 H : 時間
 M : 分
 S : 秒
上記の文字を複数回続けた場合、値はその回数の幅で出力されます。
より下の単位を省略した場合、四捨五入されます。
それ以外の文字はそのまま出力されます。
エクセル日時
<exceldatetime>
エクセル日時([n])
エクセルの日時を日付と時刻の文字列にして返します。
n を省略した時は今日になります。
年([s])
s で指定した日付の年を返します。
s を省略した時は今日になります。
月([s])
s で指定した日付の月を返します。
s を省略した時は今日になります。

日([s])
s で指定した日付の日を返します。
s を省略した時は今日になります。
年度
年度(md [, s])
md を開始月日とした s で指定した日付の年度を返します。
md は MM 又は、MM/DD の形式で MM は月、DD は日で、それぞれ1桁か2桁で指定します。
MM の時は日に 1 を指定しのと等価になります。
s を省略した時は今日になります。
半期
半期(md [, s])
md を開始月とした s で指定した日付の半期を'前期'か'後期'で返します。
md の指定方法は 年度() と同じです。
s を省略した時は今日になります。
四半期
四半期(md [, s])
md を開始月とした s で指定した日付の四半期を半角の 1 から 4 で返します。
md の指定方法は 年度() と同じです。
s を省略した時は今日になります。
年度日
年度日(md [, s])
md を開始月とした s で指定した日付の年度内の経過日数を返します。
md の指定方法は 年度() と同じです。
 s を省略した時は今日になります。
年度週
年度週(md [, s])
md を開始月とした s で指定した日付の年度内の経過週数を返します。
md の指定方法は 年度() と同じです。
 s を省略した時は今日になります。
年度月 年度月(md [, s])
md を開始月とした s で指定した日付の年度内の経過月数を返します。
md の指定方法は 年度() と同じです。
 s を省略した時は今日になります。
年度開始日付 年度開始日付(md [, s])
md を開始月日とした s で指定した日付の年度の開始日を YYYY/MM/DD の形式でで返します。
md は MM 又は、MM/DD の形式で MM は月、DD は日で、それぞれ1桁か2桁で指定します。
MM の時は日に 1 を指定したのと等価になります。
s を省略した時は今日になります。
検索
<search>
検索(条件, 取得カラム[, 取得カラム, ...], デフォルト値)
条件のレコードを検索し取得カラムを返します。
カラムの値は CSV 形式で返るので、個々の値は csvdec() で取り出します。
レコードが無い場合はデフォルト値を返します。
 例 検索( '商品マスタ.ID = ' + 商品ID, '商品名', '価格', '-----')
検索複数
<searchmul>
検索複数(条件, 取得カラム[, 取得カラム, ...], デフォルト値)
検索() と同じですが、該当するレコードを複数返します。
レコード数は resultnum() で調べます。
1件のレコードは resultcsv() で取得します。
返るレコード数の最大は999件です。
結果の文字列はカードの文字列グリッドで表示できます。
検索合計
<searchsum>
検索合計(条件, 合計カラム)
条件のレコードを検索し合計カラムの合計を返します。
検索件数
<searchcnt>
検索件数(条件)
条件のレコードを検索し件数を返します。
例 検索件数( '商品マスタ.ID = ' + 条件文字列(商品ID) )
検索A
<searcha>
検索A( 比較カラム, 演算子, 比較値, 取得カラム, デフォルト値 )
検索() と同じですが、条件を分けて与えます。
検索最小
<searchmin>
検索最小( 比較カラム, 演算子, 比較値, 取得カラム, デフォルト値 )
検索A() と同じですが、条件に合うレコードが複数ある場合、
最も小さいものを採用します。
検索最大
<searchmax>
検索最大( 比較カラム, 演算子, 比較値, 取得カラム, デフォルト値 )
検索最小() と同じですが、最も大きいものを採用します。
最小検索
<minsearch>
最小検索(条件, 取得カラム[, 取得カラム, ...], デフォルト値)
条件のレコードを検索し、1番目の取得カラムの値が最小になるレコードの値をCSV形式で返します。
返る値はCSV形式なので個々の値は csvdec() で取り出します。
レコードが無い場合はデフォルト値を返します。
最大検索
<maxsearch>
最大検索(条件, 取得カラム[, 取得カラム, ...], デフォルト値)
最小検索()と同じですが、最も大きいものを返します。
条件文字列
<condstr>
<cs>
条件文字列(s1 [, s2, ...])
文字列を連結後、検索条件の条件文字列にエスケープします。

 商品名が 「'80s ヒットソング」の時
  検索件数('商品マスタ.商品名 = ' + 商品名)
 はNGなので、以下のようにする。
  検索件数('商品マスタ.商品名 = ' + condstr(商品名))
likestr
<ls>
likestr(s1 [, s2, ...])
文字列を連結後、検索時の演算子 LIKE の条件文字列にエスケープします。

 「50%」を含む商品名を検索する時
  検索('商品名 LIKE ' + condstr('%50%%'), ...)
 は、「50」を含むと解釈されNGなので、以下のようにする。
  検索('商品名 LIKE ' + condstr('%', likestr('50%'), '%'), ...)
likecmp likecmp(s1, s2)
s1 と s2 を比較し、一致すれば 1、そうでない時は 0 を返します。
s2 には '%' をワイルドカードとして使用できます。
 例: likecmp("powerfolder", "pow%") <<-- "pow" で始まる
マクロ文字列
<macstr>
<ms>
マクロ文字列(s1 [, s2, ...])
文字列をマクロ文字列として処理し、結果を返します。
マクロ文字列は文字列中の $(xxx) で xxx の部分を式として処理します。

 マクロ文字列("$(氏名) 様の入院先は、$(病院名)です")
関数も使えます
 マクロ文字列("今日は $(date()) です")
部分文字列
<substring>
部分文字列(str, index, [count])
str の index から始まる count 文字数分の文字列を返します。
先頭文字の index は 1 です。
count を省略した場合は、str の最後までを返します。
文字列比較
<strcmp>
文字列比較(s1, s2)
s1 と s2 を文字列として比較し、次の値を返します。
 s1 < s2 の時: 0 より小さい値
 s1 = s2 の時: 0
 s1 > s2 の時: 0 より大きい値
文字列結合
<strcat>
文字列結合(s1, s2 [, ...])
文字列を結合します。
演算子の + との違いは数字でも文字列として連結することです。
例 文字列結合(123, 456)  -->>  123456
  123 + '456'           -->>  579
制約文字列
<restrictstr>
制約文字列(文字列)
文字列を次の様に処理した文字列を返します。
 ・半角スペース、全角スペースを省く
 ・全角の数字は半角に変換
 ・半角と全角のアルファベットは全て半角大文字に変換
 ・半角カタカナは全角カタカナに変換
 ・次の全角記号は半角に変換
!”#$%&’()*+,‐./:;<=>?@[¥]^_`{|}〜
hexstr
hexstr(s1 [, s2, ...])
文字列 s1, ... を16進文字列と解釈し、結果の文字列を返します。
空文字列
<nullstr>
空文字列([s1] [,s2] [,...])
引数に関わらず、空文字列を返します。
中身
<trim>
中身(str)
str の前後の空白を除いた文字列を返します。
文字列分割
<strsep>
文字列分割(str, sep, index[, npart])
str を sep の文字で分割した index 番目から npart 個の文字列を返します。
先頭の分割文字列の index は 1 です。
index に負の値を指定すると後ろから index 番目となります。
文字列分割逆順
<strseprev>
文字列分割逆順(str, sep)
str を sep の文字で分割した部分文字列を逆順に連結した文字列を返します。
ドメイン名を逆順にする時に使います。
文字列長
<strlen>
文字列長(str)
str の長さを返します。
文字列置換
<strexc>
文字列置換(str, s1, s2)
str 中の s1 の文字列を s2 に置き換えた文字列を返します。
文字列繰返
<strrep>
文字列繰返(str, cnt)
str を cnt 回繰り返した文字列を返します。
文字列回数
<strnstr>
文字列回数(str, pat)
str 中に pat の文字列が出現する回数を返します。
文字列文字列
<strstr>
文字列文字列(str, idx, pat, cnt)
str の idx 番目(先頭は1)の位置から pat の文字列が cnt 回出現した所の
インデックス(先頭は1)を返します。
数値文字列
<numstr>
数値文字列(str, [idx])
str の idx 番目(先頭は1)の数値文字列を返します。
idx を省略した時は先頭の数値文字列を返します。
文字列OR
<stror>
文字列OR(s1, s2 [, ...])
文字列の桁別の論理ORを返します。
文字列は,最長のものに合わせ足りない分は、"0" が続くのもとして扱い、"0"以外の文字は"1"として扱います。
文字列AND
<strand>
文字列AND(s1, s2 [, ...])
文字列の桁別の論理ANDを返します。
文字列XOR
<strxor>
文字列XOR(s1, s2 [, ...])
文字列の桁別の論理XORを返します。
resultcnt resultcnt(rst)
検索複数() の返り値 rst のレコード数を返します。
ひとつのレコードは resultcsv() で取得できます。
resultcsv resultcsv(rst, index)
検索複数() の返り値 rst の index 番目(先頭は1)をCSV形式で返します。
返ったCSVは csvdec() で分解できます
csvdec csvdec(csvstr, index[, カラム名, ...])
CSV形式の文字列 csvstr を解釈し index 番目の文字列を返します。
先頭の分割文字列の index は 1 です。
カラム名が指定されたら取り出した値を順にセットします。
csvenc csvenc(s1 [, s2, ...])
引数の文字列を連結した CSV 形式の文字列を返します。
分岐
<if>
分岐(cond, s1, s2)
cond が真("0"以外)ならば、s1 を、そうでなければ s2 を返します。
例 分岐(金額 > 100, 金額, 100)
反復
<for>
反復(前処理, 判定, 反復処理)
以下のように反復処理を繰り返します。
 1.前処理
 2.判定が偽なら終わり
 3.反復処理をして2.へ
整数
<int>
整数(n)
n を数値に変換し整数部分を返します。
数値検査
<isdigit>
数値検査(s)
s が数値ならば 0 以外、数値でなければ 0 を返します。
数値書式化
<formatnum>
数値書式化(fmt, n)
fmt の書式指定文字列を使って n を書式化します
書式指定文字は次の通り
 0 : 文字の桁に値があればその数字が、それ以外は '0' が出力される
 # : 文字の桁に値があればその数字が、それ以外は何も出力されない
 . : ピリオドは少数点を示す
 , : カンマは整数部分の3桁区切りを示す
例)
 書式指定文字列
  (なし)   1234    0.5  0
   0      1234    1   0
   0.00     1234.00  0.50  0.00
   #.##    1234    .5   
乱数初期化
<randomize>
乱数初期化() or randomize()
乱数を初期化します。
乱数
<random>
乱数(val) or randomize(val)
0 から val-1 までの乱数を返します。
bgcolor
bgcolor(s)
背景色を s で指定した色にします。
色は以下の文字列か RGB を16進2桁ずつで指定します。
 "clAqua", "clBlack", "clBlue", "clDkGray", "clFuchsia",
 "clGray", "clGreen", "clLime", "clLtGray", "clMaroon",
 "clNavy", "clOlive", "clPurple", "clRed", "clSilver",
 "clTeal", "clWhite", "clYellow"
注意事項
bgcolor()とfontcolor()は、特殊な並びの文字列を返す関数です。
PowerFolder は表示時に特殊な並びの文字列を解釈して色を付けます。
色指定の文字列をデータとしてディスクに書き込むと条件を指定して検索することが難しくなります。
使い方は、拡張項目の式で他の項目の値を修飾するようにします。
例えば、件数が 100 以上であれば背景を赤くするには次のようにします。
 if(件数 > 100, bgcolor("clRed")) + 件数
fontcolor
fontcolor(s)
フォントの色を s で指定した色にします。
色の指定は bgcolor() と同じです。
注意事項
bgcolor()の注意事項を参照してください。
fontstyle
fontstyle(x)
フォントのスタイルを x の値で指定します。
x の値は次の通りです。
 1=ボールド, 2=斜体, 4=下線, 8=打ち消し線
組み合せる場合は上記の値を足しあわせます。
入力ファイル名
<infilename>
入力ファイル名()
CSV取込の時、入力ファイル名を返します。
CSV取込の取込時処理にsetvalue()と合わせて使うことでファイル名をデータに含めることができます。
表名
<tabname>
表名()
表名を返します。
フォルダ名
<folname>
フォルダ名()
フォルダ名を返します。
カラム名
<colname>
カラム名()
拡張項目のカラム名を返します(拡張項目でのみ有効)。
ユーザ名
<username>
ユーザ名()
ユーザ名を返します。
変数
<var>
変数(s1 [, s2, ...])
文字列 s1, ... を変数名と宣言します。
宣言した変数名は表のカラム名と同様に使えますが、表のカラム値でなく一時的に値を保持する入れ物と解釈されます。
ホスト名
<host>
ホスト名(ipaddr [,デフォルト値])
ipaddr をIPアドレスとしホスト名を返します。
ホスト名が見つからない時は、デフォルト値を返します。
例 ホスト名('210.175.254.130')->210-175-254-130.cust.bit-drive.ne.jp
メール送信
<sendmail>
メール送信(ホスト,差出人,宛先,件名,本文,[ポート番号,ユーザ名,パスワード])
メールを送信します。
ホストはメール送信を中継するホスト名です。
SMTP認証が必要な場合は、ポート番号、ユーザ名、パスワードを指定します。
フォルダ
<folder>
フォルダ(フォルダ名)
フォルダ名で指定したフォルダの処理を実行します。
フォルダ名はフォルダ・ツリーの先頭からのフルパスで指定します。
getfollist getfollist(フォルダ名)
フォルダ名で指定したフォルダの直下のフォルダの名前の一覧を返します。
フォルダ名はフォルダ・ツリーの先頭からのフルパスで指定します。
pathstr pathstr(フォルダ名)
PowerFolderのフォルダ名をフルパス用の文字列に変換して返します。
具体的にはフォル名中の '/' を '//' に変換します。
getprefol getprefol()
直前のフォルダのパス名を返します。
getupfol getupfol()
上位のフォルダのパス名を返します。
getrelfol getrelfol([相対パス名])
相対パス名で指定したフォルダの最上位からのパス名を返します。
相対パス名を省略した場合は現在のフォルダのパス名を返します。
例)getrelfol("..") -->> 1つ上のフォルダ
  getrelfol("../../abc") -->> 2つ上のフォルダ下のフォルダ「abc」
setfolcond setfolcond(フォルダ名, cond)
フォルダ名で指定したフォルダの検索条件をcondにします。
フォルダ名はフォルダ・ツリーの先頭からのフルパスで指定します。
検索条件で演算子 LIKE を使うと % をワイルドカードとして使えます。
例)"作成日 LIKE '2016%'" -->> 作成日が 2016 で始まる
  "作成日 LIKE '%04%'" -->> 作成日が 04 を含む
gset gset(変数名, 値 [, 変数名, 値, ...])
変数名に値をセットします。
セットした変数名と値はプログラムが終了するまで保持されます。
値の参照は gget() で行います。
gget gget(変数名, デフォルト値)
gset() で設定した変数の値を返します。
変数名が gset() で設定されていない時はデフォルト値を返します。
pi
pi()
円周率を返します。
sin
sin(n)
n(ラジアン単位)で指定した角度のサインを返します。
cos
cos(n)
n(ラジアン単位)で指定した角度のコサインを返します。
tan
tab(n)
n(ラジアン単位)で指定した角度のタンジェントを返します。
asin
asin(n)
nで指定した数値のアークサインを返します。
acos
acos(n)
nで指定した数値のアークコサインを返します。
atan
atan(n)
nで指定した数値のアークタンジェントを返します。
degrees
degrees(n)
nで指定したラジアン値を度に変換して返します。
radians
radians(n)
nで指定した度の値をラジアンに変換して返します。
ln
ln(n)
nの自然対数を返します。
log10
log10(n)
10を底とするnの対数を返します。
exp
exp(n)
eを底とするnのべき乗を返します。
sqrt
sqrt(n)
nの平方根を返します。
log
log(n, m)
mを底とするnの対数を返します。
power
power(n, m)
mを指数とするnのべき乗を返します。
exit
exit([s])
式の評価を終了し、s を返します。


以下の関数はフォルダのデータ処理の指示にのみ記述できます。
関数名
<別名>
説明
setvalue
<set>
setvalue(カラム名, 値 [, カラム名, 値, ...])
検索したレコードのカラムの値を変更してディスクに書きます。
拡張カラムや他表のカラムに対しては、値のセットをはできますが、書込みはされません。
また、存在しないカラム名を指定した時も一時的な領域に値を保存するので、変数のように使うことができます。
getvalue
<get>
getvalue(カラム名)
カラム名で指定したカラムの値を返します。
カラム名を文字列で渡せます。
insert insert(表名, カラム名, 値 [, カラム名, 値, ...])
表名で指定した表にレコードを追加します。
追加が成功した時は空の文字列、そうでない時はエラーの内容を返します。
inserta
inserta(表名, カラム名リスト, 値リスト)
表名で指定した表にレコードを追加します。
カラム名リスト、値リストはCSV形式です。
複数の値は、組込み関数 csvenc() でCSV形式の値リストにできます。
追加が成功した時は空の文字列、そうでない時はエラーの内容を返します。
例)
 inserta("売上", "日付,品名,金額", csvenc("2015/11/22", "PowerFolder", 777))
update update(表名, 条件, カラム名, 値 [, カラム名, 値, ...])
表名で指定した表の条件に合うレコードの内容を更新します。
更新が成功した時は空の文字列、そうでない時はエラーの内容を返します。
updatea updatea(表名, 条件, カラム名リスト, 値リスト)
表名で指定した表の条件に合うレコードの内容を更新します
カラム名リスト、値リストはCSV形式です。
複数の値は、組込み関数 csvenc() でCSV形式の値リストにできます。
更新が成功した時は空の文字列、そうでない時はエラーの内容を返します。
delete delete(表名, 条件)
表名で指定した表の条件に合うレコードを削除します。
削除が成功した時は空の文字列、そうでない時はエラーの内容を返します。
count count()
処理中のレコードが何番目(先頭は1)かを返します。
maxcount maxcount()
対象のレコードの総数を返します。
前後カラム値
<getrelval>
前後カラム値(カラム名, 移動数 [,デフォルト値])
現在の行から移動数だけ離れた行のカラム値を返します。
移動数のマイナスはリストの前(上)、プラスは後ろ(下)に移動します。
存在しない行を指定した場合はデフォルト値を返します。
メッセージボックス
<messagebox>
メッセージボックス(s, type)
ウィンドウを表示し、s を表示します。
type の値でウィンドウのボタンが変わります。
  1=OK, 2=はい と いいえ, 3=はい と いいえ と キャンセル
押されたボタンの文字列を返します
インプットボックス
<inputbox>
インプットボックス(見出し, 初期値, キャンセル値)
ウィンドウを表示し、ユーザーの入力を待ちます。
見出しは入力領域の前に表示されます。
初期値はウィンドウが表示した時の入力領域に表示されます。
キャンセル値はキャンセルボタンが押された時に返る値です。
OKボタンが押された時は入力領域の値が返ります。
再検索
<research>
再検索()
表を再検索します。
ログ出力
<logprint>
ログ出力(レベル, 表名, 操作, メッセージ)
表 PfLog にログを出力します。
文書開き
<docopen>
文書開き(文書名 [, 文書名, ...])
文書名をファイル名と解釈し、関連付けられたアプリで開きます。
複数の文書名が与えられた時は選択するメニューがポップアップします。
実行場面
<scene>
実行場面()
実行場面を以下の文字列で返します。
 "メニュー", "ドロップ", "集計メニュー",
 "編集前", "編集後", "削除"
印刷
<print>
印刷()
表示中の結果を印刷します。
カード表示のボタンの処理から呼ぶと、表示中のカードを印刷します。


以下の関数は集計表示の拡張カラムの式にのみ記述できます。
関数名
<別名>
説明
集計累計
<accumulatesum>
集計累計(見出し名 [,範囲見出し名])
集計表示の時、処理中のカラムのひとつ上のカラムの値に「見出し名」で指定したカラムの値を加えた値を返します。
累計は「範囲見出し名」で指定した視点の内容が同じ行を範囲とします。
「範囲見出し名」が省略された場合は全行を範囲とします。
集計カラム値
<getsumval>
集計カラム値(見出し名, [集計回数], [行数], [デフォルト値])
集計表示の時、見出し名 で指定したカラムの値を返します。
集計回数は複数集計時における何回目の集計かを指定します。
集計回数の先頭は1で省略時は処理中のカラムの回数になります。
行数の先頭は1で省略時は処理中のカラムの行になります。
集計空白
<sumspace>
集計空白(見出し名, [集計回数], [行数])
集計表示の時、見出し名 で指定したカラムが空白かを返します。
集計回数は複数集計時における何回目の集計かを指定します。
集計回数の先頭は1で省略時は処理中のカラムの回数になります。
行数の先頭は1で省略時は処理中のカラムの行になります。
集計回数
<sumcount>
集計回数()
処理中のカラムの集計回数を返します。
最大集計回数
<maxsumcount>
最大集計回数()
集計回数の最大を返します。
集計順位
<sumrank>
集計順位(見出し名)
集計表示の時、見出し名 で指定したカラムの順位を返します。
集計順位最後
<lastsumrank>
集計順位最後(見出し名)
集計表示の時、見出し名 で指定したカラムの順位の最下位を返します。
集計構成比
<sumrate>
集計構成比(見出し名 [,範囲見出し名])
集計表示の時、「見出し名」で指定したカラムの構成比を%で返します。
構成比は「範囲見出し名」で指定した視点の内容が同じ行を範囲とします。
「範囲見出し名」が省略された場合は全行を範囲とします。
集計累計比
<accsumrate>
集計累計比(見出し名 [,範囲見出し名])
集計表示の時、「見出し名」で指定したカラムの累計値の構成比を%で返します。
累計比は「範囲見出し名」で指定した視点の内容が同じ行を範囲とします。
「範囲見出し名」が省略された場合は全行を範囲とします。
移動平均
<movingave>
移動平均(見出し名, n, フラグ [,範囲見出し名])
「見出し名」で指定したカラムの移動平均を返します。
「範囲見出し名」で指定した視点の内容が同じ行を範囲とし、上から n で指定した行数の平均を求めます。
「範囲見出し名」が省略された場合は「見出し名」の2つ前の視点を探します。
行数が n に満たない場合、フラグが 1 の時は空白、それ以外はそこまでの行数の平均になります。
移動累計
<movingsum>
移動累計(見出し名, n, フラグ [,範囲見出し名])
「見出し名」で指定したカラムの移動累計を返します。
移動累計は「範囲見出し名」で指定した視点の内容が同じ行を範囲とし、上から n で指定した行数の累計を求めます。
「範囲見出し名」が省略された場合は「見出し名」の2つ前の視点を探します。
行数が n に満たない場合、フラグが 1 の時は空白、それ以外はそこまでの行数の累計になります。
増減比率
<incdecrate>
増減比率(見出し名, 種類, 閾値 [,不能値])
集計表示の時、「見出し名」で指定したカラムの増減比率を%で返します。
増減比率は指定したカラムの2つ前の視点の内容が同じ行を範囲とし、範囲の最後の行の値が、他の行の値に対してどのくらい増減したかを返します。
比較する値は「種類」の値により次のようになります。
  1=直前の値(前回値), 2=平均値, 3=先頭の値, 4=増減開始値
「閾値」は種類が 4 の時に増減開始値を求める際の閾値です。
最後の行の値が無い時は負の「不能値」、比較する値が無い時は正の「不能値」を返します。
「不能値」の指定が無い時は空欄を返します。
増減回数
<incdecfreq>
増減回数(見出し名, 種類, 閾値 [,不能値])
集計表示の時、「見出し名」で指定したカラムの連続増減回数を返します。
増減回数は指定したカラムの2つ前の視点の内容が同じ行を範囲とし、範囲の最後の行から上方へ向かって該当カラムの大小を比較し、最初に決まった増減傾向が連続する回数を求めます。
比較する値は「種類」の値により次のようになります。
  1=直前の値(前回値), 2=平均値
値を比較する時、差分の絶対値の被比較値に対する割合の%が「閾値」よりも小さい場合は等しいと判定します。
等しいと判定された場合は、厳密に大小比較し、結果が増減傾向と同じであればカウントし、そうでない時はスキップします。
増減傾向が決まっていない時は、保留し、増減傾向が決まった時点で同じ傾向のカウント分だけが加えられます。
最後の行の値が無い時は負の「不能値」、比較する値が無い時は正の「不能値」を返します。
「不能値」の指定が無い時は空欄を返します。
相関係数
<correlation>
相関係数(見出し名)
「見出し名」で指定したカラムの相関係数を返します。
相関係数は指定したカラムの2つ前の視点の内容が同じ行を範囲とし計算します。
相関係数は -1 から 1 までの実数値をとり 1 に近い時は正の相関、-1 に近い時は負の相関があるといいます
一般的に相関係数の値と相関の強さの次のように言われます
   0.7 以上 => 強い
   0.4〜0.7 => 中程度の強さ
   0.2〜0.4 => 弱い
   0.2 以下 => ない
回帰係数
<regression>
回帰係数(見出し名)
「見出し名」で指定したカラムの回帰係数を返します。
回帰係数(回帰直線の傾き)は指定したカラムの2つ前の視点の内容が同じ行を範囲とし計算します。
分散
<varp>
分散(見出し名 [,範囲見出し名])
「範囲見出し名」で指定した視点の内容が同じ行を範囲として、「見出し名」で指定したカラムの分散を返します。
「範囲見出し名」が省略された場合は「見出し名」の2つ前の視点を探します。
標準偏差
<stdevp>
標準偏差(見出し名 [,範囲見出し名])
「範囲見出し名」で指定した視点の内容が同じ行を範囲として、 「見出し名」で指定したカラムの標準偏差を返します。
「範囲見出し名」が省略された場合は「見出し名」の2つ前の視点を探します。
部分合計
<psum>
部分合計(見出し名 [,範囲見出し名,sw])
「見出し名」で指定したカラムの合計を返します。
合計は「範囲見出し名」で指定したカラム迄の内容が同じ行を範囲とします。
「範囲見出し」が省略された場合は「見出し名」の2つ前の視点を探します。
sw を省略せず、値に 1 を指定したときは「範囲見出し名」で指定したカラムの内容だけで範囲の判定をします。
部分平均
<pave>
部分平均(見出し名 [,範囲見出し名,sw])
「見出し名」で指定したカラムの平均を返します。
平均は「範囲見出し名」で指定したカラム迄の内容が同じ行を範囲とします。
「範囲見出し」が省略された場合は「見出し名」の2つ前の視点を探します。
sw を省略せず、値に 1 を指定したときは「範囲見出し名」で指定したカラムの内容だけで範囲の判定をします。
部分最大
<pmax>
部分最大(見出し名 [,範囲見出し名,sw])
「見出し名」で指定したカラムの最大を返します。
最大は「範囲見出し名」で指定したカラム迄の内容が同じ行を範囲とします。
「範囲見出し」が省略された場合は「見出し名」の2つ前の視点を探します。
sw を省略せず、値に 1 を指定したときは「範囲見出し名」で指定したカラムの内容だけで範囲の判定をします。
部分最小
<pmin>
部分最小(見出し名 [,範囲見出し名,sw])
「見出し名」で指定したカラムの最小を返します。
最小は「範囲見出し名」で指定したカラム迄の内容が同じ行を範囲とします。
「範囲見出し」が省略された場合は「見出し名」の2つ前の視点を探します。
sw を省略せず、値に 1 を指定したときは「範囲見出し名」で指定したカラムの内容だけで範囲の判定をします。
部分順位
<prank>
部分順位(見出し名 [,範囲見出し名,sw])
「見出し名」で指定したカラムの順位を返します。
順位は「範囲見出し名」で指定したカラム迄の内容が同じ行を範囲とします。
「範囲見出し」が省略された場合は「見出し名」の2つ前の視点を探します。
sw を省略せず、値に 1 を指定したときは「範囲見出し名」で指定したカラムの内容だけで範囲の判定をします。
部分件数 部分件数(見出し名 [,範囲見出し名,sw])
「見出し名」で指定したカラムの件数を返します。
件数は「範囲見出し名」で指定したカラム迄の内容が同じ行を範囲とします。
「範囲見出し」が省略された場合は「見出し名」の2つ前の視点を探します。
sw を省略せず、値に 1 を指定したときは「範囲見出し名」で指定したカラムの内容だけで範囲の判定をします。


以下の関数は検索カードのボタン処理にのみ記述できます。
関数名
<別名>
説明
カード保存
<cardsave>
カード保存()
検索カードのボタンの処理から呼ぶと、表示中のカードの内容を保存します。
カード追加
<cardadd>
カード追加()
検索カードのボタンの処理から呼ぶと、表示中のカードの内容を追加します。
カード保存無視
<cardnosave>
カード保存無視()
検索カードのボタンの処理から呼ぶと、カードの保存ボタンを無効化します。
カード閉
<cardclose>
カード閉([フォルダ名])
検索カード、集計カードのボタンの処理から呼ぶと、カードを閉じます。
フォルダ名が指定されている場合、選択中のフォルダを切り替えます。
フォルダ名はフォルダ・ツリーの先頭からのフルパスで指定します。
getchecked
getchecked(名前)
検索カードのボタンの処理から呼ぶと、チェックボックスの状態が返ります。
名前で指定した内容は、表示モードをチェックボックスにした文字枠の2行目と比較されます。
チェック有りだと 1, 無しだと 0 が返ります。
getdroplist
getdroplist(名前)
検索カードのボタンの処理から呼ぶと、ドロップリストやリストボックスで選択中の文字列が返ります。
名前で指定した内容は、表示モードをドロップリストやリストボックスにした文字枠の最終行と比較されます。
setnoleftclick
setnoleftclick([val])
検索カードの文字枠から呼ぶと、文字枠がマウスの左ボタンに応答しなくなります。
val の値が 0 だと応答するようになり、省略するか 0 以外だと応答しなくなります
cardbutton
cardbutton(b1,b2,b3,b4,b5,b6,b7,b8)
検索カードの文字枠から呼ぶと、カード上部のボタンの有効/無効を設定できます。
引数 b1 から b8 は以下のボタンに対応し、0 で無効、それ以外で有効になります。
  b1 : 閉じる
  b2 : 前
  b3 : 次
  b4 : 保存
  b5 : 追加
  b6 : 配置変え
  b7 : 印刷
  b8 : 全表示
全部無効にするとボタンの領域が非表示になります。
csv取込<readcsv>

csv取込(フォルダ名 [,CSVファイル名])
フォルダ名で指定したフォルダのCSV取込ウィンドウを開きます。
フォルダ名はフォルダ・ツリーの先頭からのフルパスで指定します。
CSVファイル名はCSV取込ウィンドウを開いた時のファイル名になります。


以下の関数はCSV取込の処理にのみ記述できます。
関数名
<別名>
説明
lines
lines(行, 列)
CSV取込の処理の中で呼び出すと行と列で指定したセルの値を返します。
行、列の先頭は 1 です。
cell
cell(列, 行) 又は cell(セル指定)
CSV取込の処理の中で呼び出すと列と行で指定したセルの値を返します。
セル指定はエクセルのように列をアルファベット、行を数字で表した文字列です。
列、行の先頭は 1 です。
setcsv
setcsv(定義番号, カウンタ)
CSV取込の処理の中で呼び出すと定義番号で指定した取込定義に従い、カウンタで指定した回数繰り返した時の値をカラムにセットします。
カウンタは 1 からです。
全ての値が範囲内の時は空の文字列、そうでない時はエラーの内容が返ります。
insertcsv
insertcsv()
CSV取込の処理の中で呼び出すとその時の内容で表にレコードを追加します。
追加が成功した時は空の文字列、そうでない時はエラーの内容が返ります。



ページの先頭に戻る