Forum Discussion

SivaMani's avatar
SivaMani
Resident Rockstar
1 year ago
Solved

Refresh Power BI Metadata

Hello,

 

I have a situation where I need to add new attributes to the Power BI Semantic Model (published to Service). Is there a way to refresh the metadata of a semantic model using an API or programmatically?

 

A little background: The table is structured with attributes and their values, which must be pivoted based on the requirement.

TypeValue
ID1
TitleText
Date

2024-09-04

 

IDTitleDate
1Text2024-09-04

 

I need to ensure that any new attributes added to the data source are included as new columns in the model without having to refresh it on the desktop and publish it every time.

Example,

TypeValue 
ID1 
TitleText 
Date

2024-09-04

 
Is Completedyes

yes

Completed Date

2024-09-06

 
  • lbendlin's avatar
    lbendlin
    1 year ago

    That's what ALM Toolkit does.  Or you can go rogue and craft your own XMLA.

11 Replies

  • Hi SivaMani ,

     

    I think pivot will be able to handle it.Can you check once -

    PivotedTable = Table.Pivot(RemoveDuplicates, List.Distinct(RemoveDuplicates[Type]), "Type", "Value")

     

    Thanks,

    Sai Teja 

     

     

  • aj1973's avatar
    aj1973
    Community Champion

    Hi SivaMani 

    • Use dynamic data sources in Power BI. This involves setting up your data source query to dynamically adapt to changes in the schema. For example, using SQL queries that select all columns (SELECT *) can help ensure new columns are automatically included.
    • In Power Query, avoid hardcoding column names. Instead, use functions like Table.ColumnNames to dynamically reference columns.
    • Set up data alerts and monitoring to notify you when new columns are added to the data source. This can help you stay informed and take necessary actions if needed.
    • lbendlin's avatar
      lbendlin
      Super User

      As a side note - Power Query HATES data source changes. It will punish you with endless "Evaluating..."  dialogues that you can either sit out or cancel (which will make it worse).  So think twice before you go that route.