輪替狀態機

描述

您可以使用輪替狀態機執行多組不同資料項目之間的比較分析,例如進行購物籃分析。一個狀態可以保留一組選項。

QlikView 開發人員可以在 QlikView 文件中建立多個狀態,並且將這些狀態套用至文件內的特定物件。使用者可以複製這些物件 (伺服器物件),然後使這些物件進入不同的狀態。

分離輪替狀態機兩者之間最大的差別在於,指定狀態中的所有物件將回應至使用者在該狀態中選取的選項。使用者在其他狀態中選取的選項不影響指定狀態中的物件。

載入指令碼中並無法存取輪替狀態機功能。

備註: 輪替狀態機是 QlikView 開發人員啟用的功能,應該謹慎使用,以免造成使用者混淆,因為畫面不會自動指示該物件或運算式處於或參考輪替狀態。QlikView 開發人員可以使用 StateName() 函數,決定向使用者提供這些資訊。
備註: 若資料位於區段存取或資料減少之下,則輪替狀態選項的視覺化可能會失敗。若使用者取用區段存取之下的 QlikView 文件時,無法存取資料,則輪替狀態選項無法視覺化。

設定輪替狀態機

進行下列作業,啟用並設定輪替狀態機:

  1. 按一下輪替狀態機...,位於 文件屬性:一般標籤。
    隨即會開啟輪替狀態機對話方塊。
  2. 按一下新增...以建立多個狀態,並為這些狀態命名。這些名稱將做為狀態識別碼之用。
  3. 按一下確定關閉對話方塊。

QlikView 開發人員現在可以從畫面物件建立新的輪替狀態機。

從 QlikView Server 存取 QlikView 文件的使用者可以使用輪替狀態機,但是無法建立輪替狀態機。

將狀態指派給物件

進行下列作業,將狀態指派給物件:

  1. 開啟屬性對話方塊,並選取一般標籤。
  2. 輪替狀態機設定為要用於物件的狀態識別碼。

物件現在將獨立於文件的其他部份之外,無法加以選取,只有在將其他物件設定為相同的狀態,才能進行選取。

有兩個狀態一律可以使用:預設狀態繼承預設狀態是大部分使用 QlikView 時所處的狀態,而且以 $ 表示。QlikView 文件一律處於預設狀態。物件可以繼承較高層級物件的狀態,例如工作表和容器。這表示狀態的繼承順序是:文件 - 工作表 - 工作表物件。除非 QlikView 開發人員覆寫,否則工作表和工作表物件一律處於繼承狀態。

比較輪替狀態機

您可以比較同一個物件的兩個狀態。例如,您可以建立折線圖,並使用集合分析在運算式中指派狀態,以同一軸顯示資料的兩個狀態。

Example:  

若您已定義狀態 Group1 Group2,您可以比較欄位的平均 Adj.Close用於群組,方法是在折線圖中顯示這兩個運算式:

Avg({[Group1]} [Adj.Close])

Avg({[Group2]} [Adj.Close])

使用輪替狀態機的邏輯行為

清除按鈕將影響所有狀態。
在 Internet Explorer 外掛程式中,有一個功能表項目已經新增到清除按鈕下拉式功能表,以便使用者清除選取的特定狀態。Ajax 用戶端沒有這個功能表,但是建立一個動作按鈕連接特定狀態的 [清除] 按鈕,也可達成相同的功能。

返回往前按鈕將影響所有狀態。特定狀態則沒有可以來回移動的機制。

鎖定解除鎖定按鈕將影響所有狀態。特定狀態無法使用這些按鈕鎖定和解除鎖定。可以在特定狀態中使用清單方塊的快顯功能表,以鎖定狀態中的特定欄位。

選項功能表中的功能表項目可套用至所有狀態。此功能表中沒有可以影響特定狀態的機制。

輪替狀態機可用於連結物件。狀態可套用至物件的所有執行個體。變更連結物件的狀態將使得其他連結物件進入相同的狀態。

變數屬於預設狀態。其他狀態的變更不會影響變數值。

備註: 將在所有狀態中發出觸發程序。

可以在特定狀態中設定要發生的動作。一個已知例外是指執行巨集動作。其可以設定在特定狀態中執行,不過巨集會在所有狀態中發出。

使用遺失狀態 (開發人員已移除此狀態) 的物件,將會透過輪替狀態機下拉式清單還原為預設狀態,其中將顯示下列資訊:
AlternateStateName <unavailable>

備註:

您只能以狀態引數搭配輪替狀態機使用欄位函數。

欄位函數