跳到主要內容

集合分析

在應用程式中進行選取時,您會定義資料中的記錄子集。會根據此子集計算彙總函數,例如 Sum()Max()Min()Avg()Count()

換言之,您的選項定義彙總範圍;這定義進行計算的記錄集合。

集合分析提供定義範圍的方法,與由目前選項定義的記錄集合不同。此新範圍也可被視為替代選項。

若您想要比較目前選項與特殊值,例如去年的值或全球市場占比,則這會很實用。

集合運算式

集合運算式用於彙總函數內部,並以大括弧括住。例如︰

Sum( {$<Year={2021}>} Sales )

集合運算式包含以下元素的組合:

  • 識別碼。集合識別碼代表其他地方定義的選項。這也代表資料中的特定記錄集合。這可以是目前選項、來自書籤的選項或來自替代狀態的選項。簡單的集合運算式中包含單一識別碼,例如貨幣符號 {$},表示目前選項中的所有記錄。

    範例:$1BookMark1State2

    請參閱: 集合識別碼

  • 運算子。集合運算式可用來建立不同集合識別碼之間的聯集、差異或交集。以此方式,您可以建立由集合識別碼定義的選項子集或超集。

    範例:+-*/

    請參閱: 集合運算子

  • 修飾詞。集合修飾詞可新增至集合識別碼以變更其選項。修飾詞也能單獨使用,這將會修改預設識別碼。修飾詞必須以角括弧 <…> 括起。

    範例:<Year={2020}><Supplier={ACME}>

    請參閱: 集合修飾詞

合併元素以形成集合運算式。

集合運算式中的元素

集合運算式中的元素。

此集合運算式從彙總 Sum(Sales) 建置。

第一個運算元傳回目前選項的 2021 年銷售額,這由 $ 集合識別碼和包含 2021 年選項的修飾詞指示。第二個運算元傳回 SwedenSales,並忽略目前選項,這由 1 集合識別碼指示。

最終,運算式傳回包含記錄的集合,這些記錄屬於兩個集合運算元的任一個,由 + 集合運算子指示。

有關完整語法描述,請參閱 集合運算式的語法

範例

合併以上集合運算式元素的範例在下列主題中提供:

自然集合

通常,集合運算式代表資料模型中的記錄集合,以及定義此資料子集的選項。在此情況下,集合稱為自然集合。

含有或不含集合修飾詞的集合識別碼一律代表自然集合。

不過,使用集合運算子的集合運算式也代表記錄子集,但通常仍無法使用欄位值的選項來描述。這樣的運算式是非自然集合。

例如,{1-$} 提供的集合不可永遠由選項定義。因此這不是自然集合。可以載入下列資料、新增至表格然後使用篩選窗格進行選取,以顯示此。

Load * Inline [Dim1, Dim2, Number A, X, 1 A, Y, 1 B, X, 1 B, Y, 1];		 

Dim1Dim2 進行選取後,就會取得顯示在下列表格中的檢視畫面。

含有自然和非自然集合的表格

含有自然和非自然集合的表格。

第一個量值中的集合運算式使用自然集合:這對應至進行 {$} 的選項。

第二個量值則不同。這使用 {1-$}。無法選取對應至此集合的選項,因此這不是自然集合。

此差異會造成一些後果:

  • 集合修飾詞只能套用至集合識別碼。這些無法套用至任意集合運算式。例如,無法使用如下的集合運算式: 

    { (BM01 * BM02) <Field={x,y}> }

    在此,一般 (圓) 括弧暗示應在套用集合修飾詞之前評估 BM01BM02 之間的交集。因為沒有可以修改的元素集。

  • 您無法在 P()E() 元素函數內部使用非自然集合。這些函數傳回元素集,但無法從非自然集合推算元素集。

  • 若資料模型有許多表格,使用非自然集合的量值無法一律歸類到合適的維度值。例如,在下列圖表中,一些排除的銷售數字歸類到正確的 Country,而其他則有 NULL 作為 Country

    含有非自然集合的圖表

    含有非自然集合的表格。

    是否正確進行指派取決於資料模型。在此情況下,若這涉及選項排除的國家,則無法指派數字。