cancel
Showing results for 
Search instead for 
Did you mean: 

Fabric is Generally Available. Browse Fabric Presentations. Work towards your Fabric certification with the Cloud Skills Challenge.

Reply
stijnwingens
New Member

Power BI Custom Connector - How to manipulate existing data from navigation table

Hi,

 

I've built a custom connector with a OAuth2 authorization code flow. The custom connector retrieves data from a REST API. My goal is to manipulate data based on the result of the REST request;

 

The API returns a record and a transaction on that record:

 

{
  [
     {
        "key": {
           <the-record>
        },
        "tranaction": "added"
     },
     {
        "key": {
           <other-record>
        },
        "tranaction": "deleted"
     }
  ]
}

 

 

This way, only the added, updated and deleted records need to be transferred. Then, the custom connector should add, update or delete the specified record to the dataset. I have no idea where to start. Right now, a navigation table is used calling GetFromApi("some-entity-type");

 

shared GetTableFromApi = (query as text) => 
    let
        subId = clientId,
        json = Json.Document(Web.Contents(base_url & "/sync/" & api_version & "/" & query & "?subscriptionId=" & subId))
    in
        Table.FromRecords(json);

 

How do I get this function to read the transaction type and add, update or delete the record in the existing dataset?

3 REPLIES 3
stijnwingens
New Member

So if I understand correctly, you are saying this is not possible. I would then have to look at using the api to push the data, which is also a possibility if I understand correctly? Or is this also confined to flush and fill? Thanks.

Sort of. While you can push individual rows you cannot modify rows that you have already pushed.  For that you need to  - you guessed it - delete all rows and push them again,

lbendlin
Super User
Super User

 

Then, the custom connector should add, update or delete the specified record to the dataset. 

 

Any connector, be it custom or not, is confined to the "flush and fill"  paradigm.  Power Query presents a table to Vertipaq, and Vertipaq incorporates that table in its data model.  That's it.  No adds, deletes, or updates.  Just flush and fill.  (ignoring self referencing datasets for a second).  Even incremental refresh is fundamentally flush and fill, just on partition level rather than table level.

 

If this is important to you please consider voting for an existing idea or raising a new one at https://ideas.fabric.microsoft.com/?forum=2d80fd4a-16cb-4189-896b-e0dac5e08b41

Helpful resources

Announcements
PBI November 2023 Update Carousel

Power BI Monthly Update - November 2023

Check out the November 2023 Power BI update to learn about new features.

Community News

Fabric Community News unified experience

Read the latest Fabric Community announcements, including updates on Power BI, Synapse, Data Factory and Data Activator.

Dashboard in a day with date

Exclusive opportunity for Women!

Join us for a free, hands-on Microsoft workshop led by women trainers for women where you will learn how to build a Dashboard in a Day!

Power BI Fabric Summit Carousel

The largest Power BI and Fabric virtual conference

130+ sessions, 130+ speakers, Product managers, MVPs, and experts. All about Power BI and Fabric. Attend online or watch the recordings.

Top Solution Authors