一.概要
1.関数の役割
場合によっては、ユーザがデータセットのフィールドをセルにドラッグ&ドロップしてフィルタ条件を追加してデータを抽出する必要なく、データセットから条件を満たす行と列のデータを直接抽出したいことがあります。このような場合には、value 関数を使用できます。
2.関数説明
value 関数には複数の書き方があり、異なるパラメータの組み合わせにより、異なるデータ抽出ルールが適用されます。
最も簡単な形式は、Value(デザイナー内のデータセット名, データセット列の番号) です。
例えば:
=value("ds1", 3) は、データセットds1の 3 番目の列のデータを抽出し、配列として返します。
文法:
| 文法 | VALUE(tableData,col) | データセットtableData で列番号が col の列の値を返します。 |
|---|---|---|
| パラメータ1 | tableData | 必須項目 データセット名を指します。注意点として、ここで指定するのは「帳票データセット」または「サーバデータセット」の名前であり、データベース内のテーブル名ではありません。 |
| パラメータ2 | col | 必須項目 列の番号,整数型; |
3.注意事項
value 関数のパラメータ設定には複数の形式があり、関数内に直接入力することも、セルやテンプレートパラメータを参照することもできます。
例:
value("ds1",1,2) は、データセットds1の1列目で、2行目のデータを抽出します。
value("ds1",A1,A2) は、データセットds1のセルA1の値が示す列と、セルA2の値が示す行のデータを抽出します。
value('ds1',1,2,"牛肉") は、データセットds1で、1列目のデータを抽出し、2列目のデータが「牛肉」である場合、その1列目の対応するデータを返します。「牛肉干」はセルのデータに置き換えることができます。
value($p1,1,$p2) は、データセットp1で1列目のp2行目のデータを抽出します。本例では、p1とp2はテンプレートパラメータであり、p1にはデータセット名が設定されます。
現時点では、value("データセット", 1, -1) の形式はサポートされておらず、-1 は無効です。もし特定の列の最後の行のデータを抽出したい場合は、次のような式を使用して代替できます: VALUE('ds1', COUNT(value("ds1", 3, 4, "America")))
二.応用シーン
サンプルデータ: ビルトインデータ「CUSTOMER」
1.テンプレートの作成
新規テンプレートを作成し、新しいデータベースクエリds1を作成します:SELECT * FROM CUSTOMER。以下の図のように:

2.数式を使用してデータを抽出する
それぞれのセルに以下の数式を入力します:
| 入力数式 | 返す値 | 効果 | 数式の書き方 | 書き方の説明 |
|---|---|---|---|---|
| = value("ds1",3,2) | テーブルcustomer の第3列第2行のデータ Washington を返します | ![]() | Value(tabledata,col,row) | TableData の中で列番号が col、行番号が row の値を返します |
=value("ds1",3) 注意1:返されるのは配列であるため、セル属性の展開設定を縦方向にします。 | データテーブルの第3列のデータを返します | ![]() | Value(tableData,col) | TableData の中で列番号が col の列の値を返します |
=value("ds1",3,4,"America") 注意2:返されるのは配列であるため、セル属性の展開設定を縦方向にします。 | データテーブルの第3列の要素で、その列の要素に対応する第4列の要素の値が America であるすべてのデータを返します | ![]() | Value(tableData,targetCol,orgCol,element) | TableData の中で targetCol 列の要素で、その列の要素に対応する orgCol 列の値が element である要素を返します |
| =value("ds1",3,4,"America",1) | データテーブルの第3列の要素で、その列の要素に対応する第4列の要素の値が America であるすべてのデータの中で最初の値を返します | ![]() | Value(tableData,targetCol,orgCol,element,idx) | Value(tableData, targetCol, orgCol, element) 配列の第 idx の値を返します |