跳到主要內容

輸入欄位

在此頁面

輸入欄位

QlikView 支援特殊類型的輸入欄位,完全不需要執行指令碼即可變更。

輸入欄位就和 QlikView 的其他任何欄位一樣,差別只在於不需要再次執行指令碼,往後即可變更在指令碼中讀取的值。輸入欄位的使用方式,和所有類型的工作表物件中其他任何的欄位一樣。

使用輸入欄位時,指令碼會建立各個欄位值的預留位置,日後編輯即可包含新的資料。在指令碼的inputfield 陳述式中列出尚未在 LOADSELECT 陳述式中出現的任何欄位,即可將任何欄位轉換為輸入欄位。

在列表框儲存格、表格方塊儲存格和表格圖表運算式儲存格中,可以變更輸入欄位的值。只有包含輸入欄位的列表框和表格資料行才可供編輯。將滑鼠暫留在可編輯的儲存格上,即可看見輸入圖示。按一下該圖示,即可將該儲存格設為輸入編輯模式。處於輸入編輯模式時,可使用向上鍵/向下鍵,在儲存格之間移動。每當輸入新的值時,整份 QlikView 文件就會自動重新計算。

表格圖表運算式儲存格可能包含特殊輸入欄位彙總函數,並仍將開啟以供輸入。這項變更將按照預先定義的演算法重新散佈到基礎欄位值,例如「平均分散」或「依比例分散」。

可以指定相關變更。

備註: 使用分佈模式作為運算式的一部分時,相關變更發揮作用。

適用下列語法 (n 是數字):

輸入語法
語法 描述
%+n 目前值增加 n% 
%-n 目前值減少 n% 
+=n 目前值增加 n 
-=n 目前值減少 n 
*=n 目前值乘以 n 
/=n 目前值除以 n 

Example:  

%+10 會將目前值增加 10%。

+=56 會將目前值增加 56。

*=2 會將值乘以 2。

/=2 會將值除以 2。

/=0 不變。

另外也有自動化 API 可透過程式設計的方式擷取和設定值。

限制

  • 計算後的欄位和索引鍵欄位無法做為輸入欄位。輸入欄位功能將自動停用。
  • 輸入欄位不適用於大量資料,因為這些欄位儲存資料的效率遠低於一般欄位。
  • 輸入欄位和邏輯欄位之間的索引鍵必須為唯一,不可包含任何重複的值。

輸入欄位範例

此範例將輸入欄位新增至資料並顯示您可以如何以互動方式更新值。

  1. 在載入指令碼中載入下列資料。

    Inputfield Value;

     

    Table1:

    LOAD * INLINE

    [

    Key, Attribute, Value

    Bob, Jan, 100

    Bob, Feb, 200

    Bob, Mar, 300

    Kate, Jan, 400

    Kate, Feb, 500

    Kate, Mar, 600

    ];

  2. 載入資料後,建立表格方塊並新增全部三個欄位。
  3. 建立連續表圖表並新增 Key 作為維度。新增以下運算式:

    • Sum(Value)
    • InputSum(Value)

    兩個運算式將顯示相同的值,但您只能更新連續表中的 InputSum(Value),無法更新 Sum(Value)

您現在可以在表格方塊中以互動方式變更 Value。連續表中運算式的彙總值將會據此更新。

您也可以在連續表中更新 InputSum(Value) 運算式的值。將會在表格方塊中更新基礎值。該變更會同等發佈至所有值,但您可以透過 InputSum() 函數變更發佈模式。