Share via


Exemple : Limiter le nombre d'éléments affichés dans un graphique

 

Date de publication : janvier 2017

S’applique à : Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Les rapports graphiques sont limités à 15 points de données. L'ensemble de données doit limiter l'ensemble de résultats aux 15 premières lignes pour la valeur du graphique. En outre, une 16e « autre » valeur de point de données est facultative. Cette valeur représente un regroupement de toutes les lignes du domaine. La 16e valeur est toujours en bas de l'ensemble de résultats. Cela ajoute un niveau de complexité aux rapports contenant une fonctionnalité d’extraction appropriée pour certains rapports.

Notes

Le nombre de points de données et de longueur d'intitulé peut devoir être réduit pour afficher correctement le contenu du graphique.

Exemple

Vous trouverez ci-dessous un exemple de requête SQL qui génère les 15 premiers points de données, plus un 16e autre point de données pour un graphique :

INSERT INTO @AcctTopTbl SELECT Top 15 accountid FROM FilteredAccount ORDER BY Revenue Desc

SELECT AcctTop.accountid, AcctTop.name, AcctTop.Revenue, 1 As SortOrder FROM (SELECT Top 15 accountid, name, Revenue FROM FilteredAccount ORDER BY Revenue Desc) AS AcctTop
UNION
SELECT Null As accountid, 'Other' As name, Sum(Revenue) As Revenue, 2 As SortOrder FROM FilteredAccount 
WHERE accountid NOT IN (Select accountid FROM @AcctTopTbl)
ORDER BY SortOrder Asc, Revenue Desc

Exemple

L'exemple suivant montre comment limiter le nombre de points de données répertoriés dans une table à l'aide de la requête FetchXML. Vous devez fournir deux ensembles de données avec une requête FetchXML par ensemble de données. Les résultats de la requête du premier jeu de données sont passés via les paramètres à valeurs multiples au deuxième jeu de données pour filtrer les résultats de la requête.Dataset1 récupère les 15 premiers enregistrements classés par le revenu et Dataset2 récupère le « TotalRevenue » en agrégeant tous les comptes sauf les comptes de DataSet1.

DataSet1:
<fetch count="15">
  <entity name="account" >
    <attribute name="accountid" />
    <attribute name="name" />
    <attribute name="revenue" />
    <order attribute="revenue" descending="true" />
  </entity>
</fetch>

DataSet2:
<fetch aggregate="true">
 <entity name="account">
    <attribute name="revenue" aggregate="sum" alias="TotalRevenue" />
    <filter>
       <condition attribute="accountid" operator="not-in" value="@TopAccountIds"/>
     </filter>
  </entity>
</fetch>

Report Parameter:

<ReportParameter Name=" TopAccountIds ">
      ...
      <MultiValue>true</MultiValue>
      <Hidden>true</Hidden>
      <DefaultValue>
            <DataSetReference>
                  <DataSetName>DataSet1</DataSetName>
                  <ValueField>accountid</ValueField>
            </DataSetReference>
      </DefaultValue>
</ReportParameter>

Voir aussi

Exemples de rapports
Exemple : Affichage des X premières valeurs
Création de rapports et analyses avec Dynamics 365

© 2017 Microsoft. Tous droits réservés. Copyright