Search code examples
powerbidata-visualizationreportsubscription

PowerBI subscription error : there is no data for the field at position x


We have run a PowerBI subscription to generate visualisations report in PDF format we have get many errors like this

There is no data for the field at position x

The problem is we searched many times about it we found that it may occurred due to missing data in dataset.

But we have about 30 datasets with a query to oracle database we cannot figure out which is the missing data and the log does not mention which report causes the error.

Is there a way to figure out which field is missing?

Or is there a way to enrich the reports error log to give us which report failed?

A sample of exact error is repeated with different positions :

processing!ReportServer_0-8!1e18!02/07/2022-09:56:36:: e
ERROR: Throwing Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: , Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: There is no data for the field at position 29.;


Solution

  • Dears

    I found a solution help me. I will share it.

    The error is due to missing data, not missing values, which means the column name defined in the data set field has been changed in the database.

    note:

    When make the value equals null it will not give the same error; even if it is used in the report it will give a different error.

    about how to detect ?

    Simply install report builder in machine has connection to this database and open this report with report builder and make verify fields, it will give detailed error with the name of dataset fields not found so we tracked it in database we found it has been changed so fix it in either dataset or column name in database it fix the issue.

    New challenge we are going to handle it either column name exist or changed to e, never get error and give empty report better as there is some database the report will connect may not have the same column names so it should give empty part of report instead of error.

    thanks BR,