Loading

Trouver le nombre correspondant le plus proche dans l'ensemble de données

Date de publication: Oct 26, 2022
Tâche
Comment trouver le nombre correspondant le plus proche dans l'ensemble de données pour une sélection.

Par exemple, si vous pouvez sélectionner tout nombre dans une plage, mais qu'il manque des numéros d'ID dans les données, affichez le numéro d'ID correspondant le plus proche.
Étapes
L'exemple de classeur, qui peut être téléchargé dans le volet supérieur droit de cet article, utilise l'ensemble de données de l'exemple Superstore pour démontrer les instructions suivantes :
  1. Cliquez sur la flèche bas à côté de Dimensions dans le volet Données et choisissez Créer un paramètre…
  2. Dans la boîte de dialogue Créer un paramètre, procédez comme suit et cliquez sur OK.
    • Dans la zone de texte Nom, entrez un nom. Dans cet exemple, le paramètre est intitulé Sélectionner un ID.
    • Sous Propriétés, dans la liste Type de données, sélectionnez Entier.
    • Dans Valeurs autorisées, sélectionnez Plage.
    • Définissez le minimum et le maximum.
  3. Faites un clic droit sur [Sélectionner un ID] dans le volet Données et sélectionnez Afficher la commande de paramètre.
  4. Créez un champ calculé appelé par exemple Différence la plus petite et comportant un calcul du type suivant :

    { FIXED : MIN(ABS([Sélectionner un ID] - [ID]))}

    Le calcul ci-dessus utilise la fonction de niveau de détail (LOD) afin de retourner la différence absolue la plus petite entre la valeur [Sélectionner un ID] et la valeur de l'ensemble de données [ID] dans tout l'ensemble de données.

  5. Créez un champ calculé appelé par exemple « Nouvel ID » comportant un calcul du type suivant :

    IF [ID] = [Sélectionner un ID]
    THEN [ID]
    ELSEIF ABS([Sélectionner un ID] - [ID]) = [Différence la plus petite]
    THEN [ID]
    END

    L'instruction IF ci-dessus retourne la valeur de l'ensemble de données [ID] si une valeur correspond à la sélection de l'utilisateur. Si aucune valeur ne correspond, l'instruction IF renvoie la valeur [ID] dont la différence absolue correspond à la différence absolue la plus petite dans tout l'ensemble de données.

  6. Faites glisser [Nouvel ID] vers l'étagère Lignes.
  7. Faites un clic droit sur Null et sélectionnez Exclure.
Remarque : si deux valeurs d'ID sont à la même distance de l'entrée utilisateur, les deux valeurs s'afficheront.

Variation : s'il y a plusieurs correspondances les plus proches, affichez la correspondance plus faible
  1. Modifiez [Nouvel ID] dans les instructions ci-dessus sur ce qui suit :

    { FIXED : MIN(
    IF [ID] = [Sélectionner un ID]
    THEN [ID]
    ELSEIF ABS([Sélectionner un ID] - [ID]) = [Différence la plus petite]
    THEN [ID]
    END
    )}

L'ajout de l'expression FIXED retourne uniquement la correspondance la plus proche pour tout le jeu de données. Cette commande retournera toujours la correspondance proche la plus faible en raison de l'agrégation MIN(). Pour renvoyer la correspondance proche la plus élevée, utilisez MAX() au lieu de MIN()
Ressources supplémentaires

Discuter de cet article... Forum de commentaires
Numéro d’article de la base de connaissances

001458092

Pièces jointes

Show closest match_v2018.1.twbx

12 KB

 
Chargement
Salesforce Help | Article