Loading

データ セット内で最も近い番号を見つける

公開日: Oct 26, 2022
タスク
選択したデータ セット内で最も近い番号を見つける方法。

たとえば、範囲から任意の番号を選択できるはずなのに、データに ID 番号がない場合、最も近い ID 番号を表示します。
ステップ
この記事の右側のペインからダウンロードできるワークブックの例では、サンプル データ セットを使用して、次の手順を示しています。
  1. データ ペインの [ディメンション] の隣にある下矢印をクリックし、[パラメーターの作成...] を選択します。
  2. [パラメーターの作成] ダイアログ ボックスで、次の操作を行い、[OK] をクリックします。
    • [名前] テキスト ボックスに名前を入力します。この例では、パラメーターに「Select an ID (ID の選択)」という名前を付けています。
    • [プロパティ] にあるデータ型リストで [整数] を選択します。
    • [許容値] は、[範囲] を選択します。
    • 最小と最大を設定します。
  3. データ ペインの [Select an ID (ID の選択)] を右クリックし、[パラメーター コントロールの表示] を選択します。
  4. 「Smallest Difference (最小差)」などの名前を付けて、次のような計算の計算フィールドを作成します。

    { FIXED : MIN(ABS([Select an ID] - [ID]))}

    上記の計算では、詳細レベル (LOD) 関数 FIXED を使用して、選択した [Select an ID (ID の選択)] の値と、データ セット全体のデータ セット値 [ID] の最小絶対値差を返します。

  5. 「New ID (新しい ID)」などの名前を付けて、次のような計算の計算フィールドを作成します:\

    IF [ID] = [Select an ID]
    THEN [ID]
    ELSEIF ABS([Select an ID] - [ID]) = [Smallest Difference]
    THEN [ID]
    END

    上記の IF ステートメントは、ユーザーの選択に一致する値がある場合、[ID] のデータ セット値を返します。一致する値がない場合、IF ステートメントは、絶対差がデータ セット全体で最小絶対差と一致する [ID] の値を返します。

  6. [New ID [新しい ID)] を [行] シェルフまでドラッグします。
  7. [Null] を右クリックし、[除外] を選択します。
注: 2 つの ID 値がユーザー入力から等距離にある場合、両方の値が表示されます。

バリエーション: 最も近い値が複数ある場合、低い方の値を表示します
  1. [New ID (新しい ID)] を上記の手順から次のように変更します。

    { FIXED : MIN(
    IF [ID] = [Select an ID]
    THEN [ID]
    ELSEIF ABS([Select an ID] - [ID]) = [Smallest Difference]
    THEN [ID]
    END
    )}

FIXED 式を追加すると、データ セット全体に最も近い値が 1 つだけ返されます。この式では、集計 MIN() を使用しているため、常に最小の最も近い値が返されます。 最大の最も近い値を返すようにするためには、MIN() の代わりに MAX() を使用します。
その他のリソース

この記事についてディスカッションする... フィードバック フォーラム
ナレッジ記事番号

001458092

添付ファイル

Show closest match_v2018.1.twbx

12 KB

 
読み込み中
Salesforce Help | Article