1. 概述
1.1 函式作用
在製作報表時,我們可能需要根據某一儲存格的值對資料集進行檢索並傳回對應的值。
此情況時,可使用 map() 函式,根據資料集的名稱,找到對應的資料集,找到其中索引列的值為 key 所對應的回傳值。 map() 函式首先檢索範本資料集,再檢索伺服器資料集。
範例:
MAP(1001,"employee",1,2)傳回 employee 資料集,第 1 列中值為 1001 那條記錄中第 2 列的值。
MAP(1001,"employee","name","address")傳回 employee 資料集,name 列中值為 1001 那條記錄中 address 列的值。注:只傳回第一個找到的值。
1.2 使用說明
MAP(object,string,int,int):根據資料集的名稱,找到對應的資料集,找到其中索引列的值為 key 所對應的回傳值。
object:索引值,需要查詢的內容。
string:資料集的名稱,定義的資料查詢的名稱。
int:索引值所在列序號。
int:回傳值所在列序號。
注:後兩個參數也可以寫列名代替。根據資料集的名稱,找到對應的資料集,找到其中索引列的值為key所對應的回傳值。資料集的尋找方式是依次從報表資料集找到伺服器資料集。索引列序號與回傳值序列號的初始值為1。
2. 範例
2.1 報表設計
2.1.1 資料準備
建立資料查詢 ds1 ,SQL 語句如下SELECT * FROM 供應商,如下圖所示:
2.1.2 範本設計
建立普通報表,分別給 A1~A5 儲存格指派,按 A2 儲存格,右鍵選擇儲存格元素,選擇插入公式,公式如下:
MAP(A1, "ds1", "公司名稱", "供應商ID")傳回 ds1 資料集,“公司名稱”列中值為 A1 那條記錄中“供應商 ID”列的值。
MAP(A1, "ds1", 2, 1)傳回 ds1 資料集,第 2 列中值為 A1 那條記錄中第1列的值。
MAP("妙生", "ds1", "公司名稱", "供應商ID")傳回 ds1 資料集,“公司名稱”列中值為“妙生”那條記錄中“供應商 ID”列的值。
MAP("妙生", "ds1", 2, 1)傳回 ds1 資料集,第2列中值為“妙生”那條記錄中第1列的值。
2.2 效果預覽
1)PC端
儲存範本,點選分頁預覽,如下圖所示:
2)行動端
3. 範本下載
點選下載範本:Map函式.cpt