Forum Discussion

RichCopenhagen's avatar
RichCopenhagen
Frequent Visitor
8 years ago
Solved

DataSource.Error: exceeded 100000 distinct who/what's

Hi folks,

 

I am attempting to query our Salesforce instance to bring data into PowerBI Desktop Version 2.59.5135.601 64-bit (June 2018). Most object imports (opportunity, lead, account) are working fine, but when I attempt to bring in the Task object I get the following error at the Navigation step.

 

DataSource.Error: exceeded 100000 distinct who/what's

Details:
  List

 

I have not seen any other discussions about this particular error, but I'm hoping someone can point me in the right direction to resolve. I am unclear as to how I would reduce the incoming data prior to the Navigation step.

 

Automatically generated query appears as follows:

 

let
Source = Salesforce.Data(),
Task1 = Source{[Name="Task"]}[Data]
in
Task1

 

Thanks,

 

Rich

9 Replies

    • RichCopenhagen's avatar
      RichCopenhagen
      Frequent Visitor

      Thank you Lydia, this is immensely helpful. I am not in an admin profile, so I will pursue this to resolve.

       

      Thanks,

       

      Rich

    • MostlySunny's avatar
      MostlySunny
      Frequent Visitor

      I realize this was 4 years ago, but do you have cliff notes on what the links you provided advise? It looks like the sites are no longer hosted.

  • Hi, I'm getting this issue as well and also can't reach the links above. Anyone knows what to do?

    • aylan's avatar
      aylan
      New Member

      Hello,

       

      I'm facing the same problem, have you found any solution, please?

       

      thank you

  • Hi, for me it worked to get Admin profile in Salesforce and the error dissapeared.

  • Hi, was this issue ever solved? As a workaround, SF data can be pulled through external connectors, I've used this option for a while and I've never had this kind of issue. I've tried windsor.ai, supermetrics and funnel.io. I stayed with windsor because it is much cheaper so just to let you know other options. In case you wonder, to make the connection first search for the Salesforce connector in the data sources list:

     

     

    After that, just grant access to your Salesforce account using your credentials, then on preview and destination page you will see a preview of your Salesforce fields:

     

     

    There just select the fields you need. It is also compatible with custom fields and custom objects, so you'll be able to export them through windsor.  Finally, just select PBI as your data destination and finally just copy and paste the url on PBI --> Get Data --> Web --> Paste the url. 

     

  • Hi RichCopenhagen,

     

    That "exceeded 100000 distinct who/what's" error is a Salesforce governor limit specific to Task and Event objects - both have polymorphic WhoId/WhatId fields, and Salesforce blocks the query when those references exceed 100K distinct values. Admin permission doesn't help here - it's an API limit, not a security one. The fix is to apply a filter before the query hits Salesforce - via Salesforce.Data Advanced Option → Select Query with hand-written SOQL (e.g. WHERE LastModifiedDate >= LAST_N_DAYS:30).

     

    If you'd rather not write SOQL by hand, Power BI Connector for Salesforce on AppExchange handles filtering through a UI inside Salesforce:

     

    Why it might fit:

    Happy to set up a quick demo on the Task object specifically. Just reach out via the support link.

     

    Cheers,

    Metrica Team.

  • For those still wondering, the Salesforce.Data built-in connector in Power Query folds queries, so you can include a filter in your query, which allows you to at least see what columns etc. are available. You can refine the filter after.

     

    Here is what worked for me: 

     

    let

    Source = Salesforce.Data(

    "https://login.salesforce.com/",

    [

    ApiVersion = 48,

    CreateNavigationProperties=true

    ]

    ), 

    Table = Source{[Name="Task"]}[Data],

    Filtered = Table.SelectRows(

    Table,

    each [CreatedDate] >= #datetime(2026, 6, 1, 0, 0, 0)

    in 

    Filtered