Подсчитать агрегат в отчете FetchXML

Попытка создать отчет FetchXML для CRM 2016 с помощью VS2012, следуя инструкциям здесь: Создайте новый отчет с помощью инструментов данных SQL Server. Я просто хочу найти количество дел, созданных между двумя датами.

В инструкциях говорится о копировании / вставке загруженного FetchXML из процесса поиска CRM Advanced.

FetchXML, сгенерированный процессом расширенного поиска для перечисления всех случаев (по номеру заявки):

<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
  <entity name="incident">
    <attribute name="incidentid" />
    <attribute name="ticketnumber" />
    <order attribute="ticketnumber" descending="false" />
    <filter type="and">
      <filter type="and">
        <condition attribute="createdon" operator="on-or-after" value="2015-07-01" />
        <condition attribute="createdon" operator="on-or-before" value="2016-06-30" />
      </filter>
    </filter>
  </entity>
</fetch>

Я не могу найти способ агрегирования с помощью расширенного поиска, но инструкции здесь: Используйте Агрегация FetchXML, похоже, указывает на то, что пару изменений атрибутов XML - это все, что необходимо.

Итак, я изменил свой FetchXML в блокноте ++ на:

<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false" aggregate="true" >
      <entity name="incident">
        <attribute name="incidentid" />
        <attribute name="ticketnumber" aggregate="count" alias="casecount" />
        <order attribute="ticketnumber" descending="false" />
        <filter type="and">
          <filter type="and">
            <condition attribute="createdon" operator="on-or-after" value="2015-07-01" />
            <condition attribute="createdon" operator="on-or-before" value="2016-06-30" />
          </filter>
        </filter>
      </entity>
    </fetch>

Это приводит к ошибке:  Fetch- ›Ошибка песочницы

Либо я что-то делаю не так, либо страница агрегирования FetchXML неверна.

Может ли кто-нибудь показать мне, как создать отчет fetchXML, в котором учитываются дела, открытые между двумя датами?


person mcalex    schedule 07.09.2016    source источник


Ответы (1)


Вы не можете выбрать атрибут (incidentid), одновременно выполняя агрегирование.

Кроме того, упорядочивание не имеет смысла при агрегировании.

Я удалил эти две строки, после чего FetchXML может работать:

<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false" aggregate="true" >
  <entity name="incident">
    <attribute name="ticketnumber" aggregate="count" alias="casecount" />
    <filter type="and">
      <filter type="and">
        <condition attribute="createdon" operator="on-or-after" value="2015-07-01" />
        <condition attribute="createdon" operator="on-or-before" value="2016-06-30" />
      </filter>
    </filter>
  </entity>
</fetch>

В качестве примечания, вы можете использовать FetchXml Tester в XrmToolBox для быстрого редактирования и выполнения FetchXML.

person Henrik H    schedule 07.09.2016
comment
Спасибо. Это сработало, как только я воссоздал отчет в VS. Я не уверен, как был выбран incidentid, я просто использовал расширенный поиск, и он дал мне эти поля. - person mcalex; 08.09.2016