空セット保持フラグ
一部の外部 set 数式の先頭に & 記号 (空セット保持フラグ) を使用すると、ユーザー分析中に [暗黙的な選択セットのクリア] をオーバーライドできます。空セット保持フラグを使用すると、長い高度な set 数式を書き直さずに、ユーザーが選択を行うときに集計が計算および表示される方法を変更できます。
たとえば、次の set 数式では、空セット保持フラグが使用されています。
{&<Country*={'Sweden', 'Denmark'}>} {<ProductCategory={'shirts'}>} Sum( Sales )
背景
使用条件
空セット保持フラグは、次のいずれかの構成要素を持つ set 数式で使用できます。
-
少なくとも 1 つの内部 set 数式と 1 つの外部 set 数式
-
2 つ以上の外部 set 数式
暗黙的な選択セットのクリア を回避する場合は、空セット保持フラグを使用します。
暗黙的な選択セットのクリア
暗黙的な選択セットのクリアは、複雑な set 数式のチェーンが使用されている場合に、エンド ユーザーの分析にとって望ましくない可能性がある内部動作です。使用条件 に従って構造化された set 数式では、暗黙的な選択セットのクリアが発生する可能性があります。
望ましくない動作は次のとおりです。
-
チェーン内の 1 つ以上の外部 set 数式 (具体的には、最初 (または唯一) の外部 set 数式と、最後を除く後続のすべての外部 set 数式) によってデータ セットが定義されます。例: Country*={'Sweden', 'Denmark'}>}
-
これらの外部 set 数式の構成要素の 1 つ以上で、何らかの理由により空のセットが生成される場合があります。もっとも一般的な理由は、アプリ内で矛盾する選択が行われることです。
-
空セットの場合、これらの数式によって定義されたセットは、数式が評価されるとクリアされます。つまり、集計に使用されるデータは定義されたセットに限定されなくなり、すべてのデータが使用されることになります。
一方、空でないセットを生成する外部 set 数式で定義されたセットと、チェーン内の最後の外部 set 数式は、評価中に尊重されます。
この動作により、集計値が予期しないものとなり、一貫性のない分析につながる可能性があります。暗黙的な選択セットのクリアを回避するには、空セット保持フラグを使用できます。「解決策: 空セット保持フラグの使用」を参照してください。
解決策: 空セット保持フラグの使用
暗黙的な選択セットのクリアをオーバーライドするには、& 記号 (空セット保持フラグ) を使用します。このフラグを使用すると、チェーン内の最初の外部 set 数式で定義されたセットがクリアされず、代わりに式全体の評価を通して尊重されるようになります。
空セット保持フラグを使用することで、次のような利点があります。
-
高度で長い set 数式を書き直さずにそのまま保持できるため、柔軟性が高く、作業時間の節約にもつながります。
-
複雑なユース ケースに応じて、集計ロジックを柔軟に変更できる機能を提供します。
構文
外部 set 数式では、空セット保持フラグは、数式の先頭、つまり set 修飾子、set 識別子、set 演算子の前に、単一の & 文字として配置されます。
式 | 空セット保持フラグのない数式 |
---|---|
{&<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) |
詳細と例
さらに詳しい情報については、「複数の外部および内部の set 数式のチェーン」を参照してください。