示例:限制显示在图表中的项数

 

发布日期: 2017年1月

适用于: Dynamics 365 (online),Dynamics 365 (on-premises),Dynamics CRM 2016,Dynamics CRM Online

图表报表最多只能显示 15 个数据点。 数据集必须限制结果集,以使其显示图表值的前 15 行。 此外,第 16 个“其他”数据点值是可选的。 此值代表域中所有其他行的聚合。 第 16 个值总是排列在结果集的底部。 对于包含适用于某些报表的钻取功能的报表,这会增加报表的复杂程度。

备注

可能必须减少数据点的数目和标签长度,才能正确显示图表的内容。

示例

下面是一个 SQL 查询示例,它为图表生成前 15 个数据点以及第 16 个“其他”数据点:

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

示例

以下示例演示如何使用 FetchXML 查询限制表中显示的数据点数。 您必须提供两个数据集,每个数据集一个 FetchXML 查询。 从第一个数据集查询的结果将通过多值参数传递到第二个数据集以筛选查询的结果。Dataset1 检索按收入排序的前 15 个记录,Dataset2 检索集合除 DataSet1 的账户以外的所有账户的”TotalRevenue“。

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>

另请参阅

示例报表
示例:显示前 X 个值
使用 Dynamics 365 报告和分析

© 2017 Microsoft。 保留所有权利。 版权