2017-02-16 14 views
0

私はc#でfetchxmlを使用してダイナミクスCRMデータにアクセスしています。次のクエリを実行しようとすると、私は下にエラーが発生しています。CRM fetchxml - AggregateQueryRecordLimitが超過

AggregateQueryRecordLimitを超えました。この操作は実行できません。これを解決する方法

<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false' aggregate='true'> 
    <entity name='productclass'> 
    <attribute name='classificationidid' groupby='true' alias='classidid'/> 
    <attribute name='productidid' aggregate='count' alias='ProductCount' /> 
     <filter type='and'> 
     <condition attribute='classidid' operator='in'>" + cIds + @"</condition> 
     </filter> 
    </entity> 

答えて

0

これは、エンティティproductclassには、AggregateQueryRecordLimit設定の現在の制限より多くのレコードが含まれているためです。

あなたはここで説明するのPowerShellの拡張機能を使用してこれを変更することができます。設定のhttp://msdn.microsoft.com/en-us/library/2a4061cd-e6b4-4672-8c44-20a27c523718

完全なリストは、それがパフォーマンスに影響を与える可能性があり、この設定を変更しても忘れないでくださいhttp://msdn.microsoft.com/en-us/library/gg334634.aspx で利用可能です。

0

CRMは、不均衡な量のデータを窒息から救うために努力しています。

私は、プロセスを最適化しようとすると、cIdsの各要素に1つずつ(したがって、inからeq演算子、IIRCに切り替える)複数のクエリを実行することをお勧めします。各要素に1つの結果セットがあり、コードでマージすることができます(これはLINQでは簡単です)。

私が持っているもう1つの提案は、CRMをアップグレードすることです。最新バージョンでは、関連するレコードの集計を行うために正確に設計されたロールアップフィールドがあります。

関連する問題