Loading

Encontrar el número coincidente más cercano en un conjunto de datos

Fecha de publicación: Oct 26, 2022
Tarea
Encontrar el número de coincidencia más cercano en un conjunto de datos de una selección.

Por ejemplo, si quiere seleccionar cualquier número en un intervalo, pero faltan algunos números de ID en los datos, muestre el número de ID coincidente más cercano.
Pasos
El libro de trabajo de muestra, que se puede descargar desde el panel derecho de este artículo, usa un conjunto de datos de ejemplo para mostrar las siguientes instrucciones:
  1. Haga clic en la flecha abajo junto a Dimensiones en el panel Datos y seleccione Crear parámetro…
  2. En el cuadro de diálogo Crear parámetro, siga estos pasos y, a continuación, haga clic en Aceptar:
    • En el cuadro de texto Nombre, escriba el nombre. En este ejemplo, el parámetro se llama Select an ID (Seleccionar un ID).
    • En Propiedades, en la lista de tipo de datos, seleccione Entero.
    • En Valores permitidos, seleccione Rango.
    • Establezca los valores mínimos y máximos.
  3. Haga clic con el botón derecho sobre [Select an ID] en el panel de datos y seleccione Mostrar control de parámetro.
  4. Cree un campo calculado con un nombre como Diferencia más pequeña con un cálculo similar al siguiente:

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

    El cálculo anterior usa la función FIXED para el nivel de detalle (LOD) para devolver la diferencia absoluta más pequeña entre el valor de [Select an ID] y el valor del conjunto de datos [ID] seleccionados de todo el conjunto de datos.

  5. Cree un campo calculado con un nombre como "Nuevo ID" con un cálculo similar al siguiente:\

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

    La condición IF anterior devolverá el valor del conjunto de datos de [ID] si hay un valor que coincida con la selección del usuario.Si no hay un valor coincidente, la condición IF devolverá el valor de [ID] cuya diferencia absoluta coincida con la diferencia absoluta más pequeña en todo el conjunto de datos.

  6. Arrastre [New ID] al estante Filas.
  7. Haga clic con el botón derecho sobre Null  y seleccione Exclude.
Nota: Si hay dos valores de ID con la misma distancia desde la entrada del usuario, aparecerán los dos.

Variante: si hay varias coincidencias aproximadas, puede mostrar la coincidencia más baja
  1. Modifique [New ID] desde las instrucciones anteriores a lo siguiente:

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

Si se añade la expresión FIXED, solo devolverá una coincidencia para el resto del conjunto de datos. Esto siempre devolverá la coincidencia más baja porque la agregación está condicionada por MIN(). Para obtener la coincidencia más alta, use MAX() en lugar de MIN()
Recursos adicionales

Comente sobre este artículo... Foro de comentarios
Número del artículo de conocimiento

001458092

Archivos adjuntos

Show closest match_v2018.1.twbx

12 KB

 
Cargando
Salesforce Help | Article