Understøttelse af COUNT(DISTINCT) i FetchXML

Microsoft har lavet nogle forbedringer til forespørgselssproget FetchXML. Det er nu muligt at tælle (count) poster. Ændringen består i hovedtræk i, at det nu er muligt at tælle på basis af en kolonneangivelse i stedet for kun af kunne tælle på en samlet tabel (count(*)).

Det er endvidere blevet muligt at tælle på unikke kolonner (destinct). Hvis Destinct ikke specificeret i forbindelse med countcolumn, vil der blive returneret værdien false.

I følgende tabel opsummeres Fetch-funktionaliteten vedrørende tæl (count) i sammenligning med tilsvarende SQL forespørgsel.

CRM Fetch XML

SQL

<attribute name='address1_city' aggregate='count' alias='citycount' />

SELECT COUNT(*) AS 'citycount' FROM Account

<attribute name='address1_city' aggregate='countcolumn' alias='citycount' />

SELECT COUNT(address1_city) AS 'citycount' FROM Account

<attribute name='address1_city' aggregate='countcolumn' alias='citycount' distinct='true' />

SELECT COUNT(DISTINCT address1_city) AS 'citycount' FROM Account

Eksempler

Eksemplet viser hvordan man tæller alle Accounts, som har tilknyttet et land (country) i deres adresse.

   1: Query to return a count of all Accounts which have a county specified in their address.
   2: <fetch aggregate='true'>
   3:     <entity name='account'>
   4:         <attribute name='address1_county' aggregate='countcolumn' alias='countyAccounts' />
   5:     </entity>
   6: </fetch>

Følgende eksempel viser hvordan man tæller på Account, altså får returneret alle Accounts ved brug af nøgleordet distinct.

   1: <fetch aggregate='true'>
   2:     <entity name='account'>
   3:         <attribute name='address1_stateorprovince' aggregate='countcolumn' alias='countStates' distinct='true' />
   4:     </entity>
   5: </fetch>

 

Om Henrik Jensen

Jeg har altid fingeren på pulsen når det drejer sig om Microsofts produkter & teknologier, og især når det handler om Microsoft Dynamics CRM.

Henrik Jensen

Jeg har arbejdet professionelt i IT-branchen mere end 16 års, deraf 12 år med CRM-systemer, og samtidig indehaver af mere end 30 Microsoft-certificeringer.

Jeg er ansat som Microsoft Dynamics CRM-arkitekt hos Logica.

Læs mere...

Downloads, værktøjer og installation

Downloade komponenter til MS CRM:
    • Microsoft Dynamics CRM 4.0
    • Microsoft Dynamics CRM 2011

Liste over Opdateringspakker (Rollups):
    • Microsoft Dynamics CRM 4.0
    • Microsoft Dynamics CRM 2011

Værktøjer til MS CRM 2011:
    • Liste med værktøjer til MS CRM 2011

Krav vedrørende installation:
    • Installation: Krav og opsætninger

Månedsliste

Forbehold

Alt hvad du læser på denne blog er alene udtryk for mine egne holdninger og meninger, og kan ikke henføres til andet end som så.

De løsninger jeg fremstiller på denne blog er ikke nødvendigvis testet i et driftsmiljø. Hvis du gør brug af mine løsninger er det på eget ansvar.