> ## Documentation Index
> Fetch the complete documentation index at: https://docs.creditbenchmark.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Portée et résultats vides

> Comment les paramètres « scope » et « result_filter » restreignent les requêtes de l’API Credit Benchmark Analytics, et pourquoi une requête réussie peut tout de même renvoyer un ensemble de résultats vide.

Les analyses séparent **la sélection des entrées** de **la mise en forme des sorties**.

* **`scope`** définit quelles entités sont prises en compte dans l’analyse.
* « **`result_filter`** » (Sélection de la structure de données) détermine les lignes renvoyées à l’issue de l’analyse.

Pour la sélection des routes, consultez [Choix d’un itinéraire](/api-reference/analytics-endpoints). Pour `metric` et `rating_scale`, consultez [Indicateurs et échelles](/api-reference/metrics-and-rating-scales).

## Portée

`scope` est évaluée avant que le point de terminaison ne calcule son résultat.

<Tabs>
  <Tab title="Portée du portefeuille">
    Utilisez `scope.portfolio` lorsque vous connaissez déjà les entités.

    ```json theme={null}
    {
      "scope": {
        "portfolio": {
          "CB_ID": ["CB0000022706", "CB0000022177"]
        }
      }
    }
    ```

    Les colonnes de portefeuille personnalisées peuvent être utilisées comme `facet_column` valeurs lorsque le point de terminaison prend en charge les facettes.
  </Tab>

  <Tab title="Portée du filtre">
    Utilisez `scope.filters` lorsque l’API doit constituer l’univers à partir des conditions de champ.

    ```json theme={null}
    {
      "scope": {
        "filters": [
          {
            "key": "CB_Country",
            "operator": "==",
            "values": "United States"
          },
          {
            "key": "CB_CCR_21_Notch",
            "operator": ">=",
            "values": 8
          }
        ]
      }
    }
    ```

    Si `filters_join` si celui-ci est omis, les filtres multiples sont combinés par « ET ».
  </Tab>

  <Tab title="Portefeuille et filtres">
    Lorsque les deux sont fournis, la route utilise l’**intersection**.

    ```json theme={null}
    {
      "scope": {
        "portfolio": {
          "CB_ID": ["CB0000022706", "CB0000022177"]
        },
        "filters": [
          {
            "key": "CB_Sector",
            "operator": "==",
            "values": "Banks"
          }
        ]
      }
    }
    ```

    Cela signifie les entités de votre portefeuille qui sont des banques, et non votre portefeuille plus l’ensemble des banques.
  </Tab>

  <Tab title="Syntaxe de jointure par filtre">
    Utilisez `filters_join` uniquement lorsque vous avez besoin d’une logique explicite « OU » ou « NON ». Elle est positionnelle et comporte un élément de plus que `filters`.

    ```json theme={null}
    {
      "scope": {
        "filters": [
          {
            "key": "CB_Country",
            "operator": "==",
            "values": "United States"
          },
          {
            "key": "CB_Sector",
            "operator": "==",
            "values": "Banks"
          }
        ],
        "filters_join": ["", "|", ""]
      }
    }
    ```
  </Tab>
</Tabs>

## Filtre de résultat

`result_filter` ne modifie pas l’univers d’entrée. Il permet uniquement de filtrer, trier ou limiter les lignes de sortie calculées.

| Mécanisme               | S’applique à                           |
| ----------------------- | -------------------------------------- |
| `scope.filters`         | Entités avant l’exécution de l’analyse |
| `result_filter.filters` | lignes après l’exécution de l’analyse  |
| `result_filter.sort`    | Ordre des lignes dans la réponse       |
| `result_filter.limit`   | Nombre maximal de lignes renvoyées     |

Utilisez `scope` pour définir le périmètre d’analyse. Utilisez `result_filter` pour déterminer le contenu renvoyé.

## Couverture MyRating

Avec `metric: "CCR"`, l’analyse utilise les entités du périmètre pour lesquelles il existe des données consensuelles.

Avec `metric: "MyRating"`, l’analyse utilise uniquement la partie de votre périmètre pour laquelle votre banque a soumis des notations pour la période demandée.

En d’autres termes, la sélection de `MyRating` peut réduire l’univers de « l’ensemble de la demande » à « les entités demandées **que votre banque a notées** ». Si votre banque n’a noté aucune entité dans le périmètre demandé, l’API renvoie une réponse réussie vide plutôt qu’une erreur.

| Portée demandée | Couverture de votre banque | MyRating utilise         |
| --------------- | -------------------------- | ------------------------ |
| 3 entités       | 3 entités notées           | 3 entités                |
| 3 entités       | 2 entités notées           | 2 entités                |
| 3 entités       | 0 entité notée             | Réponse de réussite vide |

Pour les routes MyRating de type agrégé, les champs « ex-me » sont calculés pour ce même sous-ensemble couvert. Ils ne constituent pas une référence à portée complète pour les entités que votre banque ne note pas.

Ne comparez pas `AGG_EntityCount` les `CCR` réponses « from » avec `AGG_ClientEntityCount` réponses. `MyRating` réponses comme si elles partageaient le même dénominateur.

## Réponse vide par route

| Itinéraire                                     | Réponse de réussite vide               |
| ---------------------------------------------- | -------------------------------------- |
| `getdata`                                      | `{}` ou des tableaux de colonnes vides |
| `aggregatetrend`                               | `{}`                                   |
| `creditbreakdown`                              | `{}`                                   |
| `entityratingchange`                           | `{}`                                   |
| `ratingdistribution` avec `metric: "CCR"`      | `{"ccr": {}}`                          |
| `ratingdistribution` avec `metric: "MyRating"` | `{"my_bank": {}, "ex_me": {}}`         |
