Forum Discussion

jcmunt's avatar
jcmunt
New Member
1 year ago
Solved

PBIP Files with Direct Connection to SSAS Cube Fail to import - due to missing pbiModelDatabaseName

RuiRomanoMS - I believe this is a question/bug specifically for you. 


We have recently converted many of our PBIX files to PBIP and are using this module do deploy via Azure Pipelines in DevOps - we are running into an issue where when we attempt to import items that have a direct connection to a SSAS cube.

I am using the FabricPS-PBIP module from here - Analysis-Services/pbidevmode/fabricps-pbip at master · microsoft/Analysis-Services

When we attempt to import this pbip using this module we get this error - Exception: LRO API Error: 'InvalidConnectionInformation' - Semantic model byConnection.pbiModelDatabaseName is not representing

The definition file looks like this -
"version": "4.0",
"datasetReference": {
"byConnection": {
"connectionString": "Data Source=CubeServer.mycompany.com;Initial Catalog=CubeName;Cube=Model",
"pbiServiceModelId": null,
"pbiModelVirtualServerName": null,
"pbiModelDatabaseName": null,

"name": "EntityDataSource",
"connectionType": "analysisServicesDatabaseLive"
}
}
}

It seems it have an issue with the pbiModelDatabaseName name being null - I have an example of an instance of a pbiModelDatabaseName not being null and that is for a report that uses an existing semantic model in the Power BI Service.

Substituting in other values for the pbiModelDatabaseName result in similar errors - such blank or a dummy string (00000000-0000-0000-0000-000000000000) Exception: LRO API Error: 'PowerBIEntityNotFound' - An error occurred in the Entity Framework
It seems to need a legit existing semantic model - but for this type of data connection it is not needed.

I also tried using a blank semantic model and it overrides the analysisServicesDatabaseLive connection type. 


I believe either this is a bug in the module, where it needs to include something to handle the connection type of analysisServicesDatabaseLive instead of defaulting to pbiServiceXmlaStyleLive when the definition file has datasetReference. Or this is a or a bug in the PBIP creation - I don't believe it should be datasetReference when the pbip is generated from the original pbix. 

 

Let me know if you need addtional info or have questions. If there is a work around for importing these types of PBIP files with direct SSAS connections let me know, thanks!

 

  • What do you mean by "embedded Python"? Are you referring to a Power Query query that uses a Python script? That should typically work—I’m unable to reproduce the issue on my end. If you're still experiencing problems, I recommend opening a support ticket so the team can take a closer look at your specific scenario.

    Please check if you dont have any identation issue in your M code.

8 Replies

  • RuiRomanoMS's avatar
    RuiRomanoMS
    Microsoft Employee

    Thank you for your feedback. Support for reports connected to Analysis Services (AS) when saved as PBIP files will be fully available soon. Currently, the connection string to AS is stored in the definition.pbir file.

    In the future, PBIP will behave like PBIX files: when published to the service, it will create both a report and a semantic model folder. The semantic model folder will contain only a reference (connection string) to the AS database.

    This behavior aligns with what happens today when you publish a PBIX file — it always creates a report and a semantic model in the workspace, even if the semantic model is simply a reference to the AS database.


    In the meantime this is what you can do:
    - Publish the PBIX to service and get the id of the created semantic model

    - Change the definition.pbir and configure the "pbiModelDatabaseName" with the id of the semantic model

    - API publish should work now

     

     

  • RuiRomanoMS Thank you for your quick response - do you have a timeline for this fix? 

    I have another scenario for you - when attempting to deploy a PBIP that has embedded python we get the following error - 

    LRO API Error: 'Dataset_Import_FailedToImportDataset' - Dataset Workload failed to import the dataset with dataset id 00000000-0000-0000-0000-000000000000. Failed to save modifications to the server. Error returned: '{"error":{"code":"DatasourceAnalysisFailedWithUnknownFunctions","pbi.error":{"code":"DatasourceAnalysisFailedWithUnknownFunctions","parameters":{"AnalysisErrorMessage":"Query contains unknown function name: Python.Execute"},"details":[],"exceptionCulprit":1}}}
    At C:\AzurebuildAgent\_work\1329\s\modules\FabricPS-PBIP.psm1:285 char:13
     
     


    Any suggestions on a work around for this type of deployment? Or should we just stick with manual deployment of the PBIX or PBIP? Thanks!
    • RuiRomanoMS's avatar
      RuiRomanoMS
      Microsoft Employee

      What do you mean by "embedded Python"? Are you referring to a Power Query query that uses a Python script? That should typically work—I’m unable to reproduce the issue on my end. If you're still experiencing problems, I recommend opening a support ticket so the team can take a closer look at your specific scenario.

      Please check if you dont have any identation issue in your M code.

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi jcmunt,

    Thanks for reaching out to the Microsoft fabric community forum.

    As RuiRomanoMS already responded to your query and we haven’t heard back from you, so just following up to your previous message. I'd like to confirm if you've successfully resolved this issue or if you need further help. 

    If yes, you are welcome to share your workaround and mark it as a solution so that other users can benefit as well. If you find a reply particularly helpful to you, you can also mark it as a solution.

     

    I would also take a moment to thank RuiRomanoMS, for actively participating in the community forum and for the solutions you’ve been sharing in the community forum. Your contributions make a real difference.

     

    If I misunderstand your needs or you still have problems on it, please feel free to let us know.  

    Best Regards,
    Hammad.
    Community Support Team

     

    If this post helps then please mark it as a solution, so that other members find it more quickly.

    Thank you.

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hi jcmuntm,

      As we haven’t heard back from you, so just following up to our previous message. I'd like to confirm if you've successfully resolved this issue or if you need further help.

      If yes, you are welcome to share your workaround and mark it as a solution so that other users can benefit as well. If you find a reply particularly helpful to you, you can also mark it as a solution.


      If you still have any questions or need more support, please feel free to let us know. We are more than happy to continue to help you.
      Thank you for your patience and look forward to hearing from you.

    • jcmunt's avatar
      jcmunt
      New Member

      The solution provided - which was publish the report as a PBIX - then manually copy the semantic model ID, them manually edit the defintion file, then use the api to import is at its core very silly. You would have already deployed the report to the service with a PBIX - this renders the PBIP and import process essentially just a duplicate step. 
      So the work around is not a viable solution. Im hoping to get a timeline for this fix and generally when the module/pbip fix will be put in. 

       

      RuiRomanoMS another temporary solution would be to add logic to the module that if the  "connectionType" =  "analysisServicesDatabaseLive" do not treat it like a datasetreference but instead use the connection string like you would from a semantic model, but I don't know if that's worth it if a fix is already underway. 

       

      • Anonymous's avatar
        Anonymous
        Not applicable

        Hi jcmunt,

        As RuiRomanoMS already mentioned that support for reports connected to Analysis Services (AS) when saved as PBIP files will soon be available and in the meantime you can raise a support ticket so that the support team can understand your issue clearly and in depth.

         

        Best Regards,

        Hammad.