空集合保留旗標
您可以在某些外部集合運算式的開頭使用 & 符號 (空集合保留旗標),以覆寫使用者分析期間的隱含選取集合清除。空集合保留旗標可讓您變更使用者進行選取時彙總的計算和呈現方式,而無需重寫很長的進階集合運算式。
例如,在下面的集合運算式中,使用了空集合保留旗標:
{&<Country*={'Sweden', 'Denmark'}>} {<ProductCategory={'shirts'}>} Sum( Sales )
背景
使用條件
空集合保留旗標可用於具有下列任一元件的集合運算式:
-
至少一個內部集合運算式和一個外部集合運算式
-
兩個或多個外部集合運算式
當您想要避免使用 隱含選取集合清除 時,請使用空集合保留旗標。
隱含選取集合清除
隱含選取集合清除是一種內部行為,當使用複雜的集合運算式鏈結時,有時可能不利於最終使用者分析。對於依照 使用條件 結構化的集合運算式,可能會發生隱含選取集合清除。
不必要的行為如下:
-
鏈結中的一個或多個外部集合運算式 (具體而言,第一個 (或唯一一個) 以及除了最後一個之外的任何後續外部集合運算式) 定義資料集。例如︰ Country*={'Sweden', 'Denmark'}>}
-
某些狀況發生,導致其中一個或多個外部集合運算式元件產生空集合。最常見的情況是,應用程式中出現了衝突的選取。
-
對於空集合,在評估運算式時,會清除這些運算式定義的集合。這表示,彙總中使用的資料不再減少為定義的集合,而是使用所有資料。
另一方面,在評估過程中,會採用任何產生非空集合的外部集合運算式中定義的集合以及鏈結中的最後一個外部集合運算式。
這種行為可能會導致彙總值出現意外,並導致分析不一致。若要繞過隱含選取集合清除,可以使用空集合保留旗標。請參閱 解決方案:使用空集合保留旗標。
解決方案:使用空集合保留旗標
使用 & 符號 (空集合保留旗標) 來覆寫隱含選取集合清除。此旗標確保不會清除鏈結中第一個外部集合運算式中定義的集合,而是會在整個運算式的評估過程中採用。
空集合保留旗標提供:
-
若您希望完整保留很長的進階集合運算式,而不是重寫,這可以實現靈活性並節省時間。
-
能夠變更彙總邏輯以適應進階使用情況。
語法
在外部集合運算式中,空集合保留旗標會作為單一 & 字元放置在運算式的開頭,亦即集合修飾詞、識別碼和運算子之前。
範例:
運算式 | 沒有空集合保留旗標的運算式 |
---|---|
{&<Country*={'Sweden', 'Denmark'}>} {<ProductCategory={'shirts'}>} Sum( Sales ) | {<Country={'Sweden'}>} {<ProductCategory={'shirts'}>} Sum (Sales) |
{& <Year=, Product={XI345}>} {<Region={Europe}>} Sum (Sales) | {<Year=, Product={XI345}>} {<Region={Europe}>} Sum (Sales) |
詳細資訊和範例
如需更深入的資訊,請參閱多個外部和內部集合運算式的鏈結。