這個範例原本是在說明另一種使用Chart Object 呈現像multibox選擇條件的方式
但是其中使用了一項控制方式特別拿出來跟大家說明一下
因為這樣的應用再進階一點可以控制到使用維度的互動,或是User 可用的維度呈現控制
箭頭下方的Multibox Fields 即為維度清單列表, 使用者勾選了那些表格則會在上方呈現欄位供使用者條件選擇.接下來我們來拆解這個小丿步吧!
首先 1: 在語法裡必需要新增一個自定的維度清單TABLE
Multibox:
LOAD * INLINE
[
%Multibox
Year,
Name,
City,
Country,
Product,
Salesperson
];
動作 2: 建立一變數名稱為eMultiboxShow
公式: Index('|' & Concat(%Multibox, '|') & '|', '|' & $1 & '|') > 0
Concat(%Multibox, '|') 指是的選擇欄位的合併, 例如: 選了year , name
則資料的組成就會變為 year|name
那整個公式的測試請改為下列 , 例如 'Year' ; 有發現嗎原本公式是$1 但現在用'Year'取代 了, 這個的意思是$1是傳入的參數的第一位,只是我們現在直接用Year 來使用
*替代語法* Index('|' & Concat(%Multibox, '|') & '|', '|' & 'Year' & '|')
{Examples index() 找出字串位置 :
index( 'abcdefg', 'cd' ) returns 3
index( 'abcdabcd', 'b', 2 )
returns 6
index( 'abcdabcd', 'b', -2
) returns 2}
運用了Index() 查字串的特性,所以會得到>0 的位置
動作 3: 啓動條件 在Chart Object
在啟用條件式用填入 $(eMultiboxShow('Year'))
$() 是使用變數的意思,eMultiboxShow 是我們剛剛設的變數名稱,需要傳入值來取代$1 這數是傳用'Year' 這個就會和*替代語法*一樣了, 有發現嗎
以上很簡單的方式就能控制條件了。
而原本的Multibox 改進的方式可參考國外網站