cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
SophieBoucher
Frequent Visitor

change primary key power bi

Hello,

 

Anyone can tell me how we can change a colomn of Primary key in Power BI,

I have a table with 2 Colomn, i like to add an Index colomn and specify it to primary can, i can't do it.

 

Thank you 

12 REPLIES 12
Amrjot
Regular Visitor

Power BI seems to be saving the column/field name, as THE primary key, on which joins are made and a model created successfully.

 

Any changes made to the source thereafter still seems to use the same column as the primary key. If there are duplicates that violate and prevents creating the model, it will not apply any changes to the data source. It seems to be like a deadlock 😞

 

I have run into this issue and even tried suggestion given by @odanovich but it did not work.

 

Following is what worked and resolved this issue:

  1. Filter the query with the exact same value which was causing the problem
    • This helps reduce the size of the model
  2. Create a join to the other sources, using any other column. In your case any other other column than "Campaign"
    • It could be any column it does not matter
  3. Try compiling the by Close & Apply
    • This will again fail
  4. Now go back again and delete  or remove the column for which Power BI was reporting the error in your case it would be "Campaign"
  5. Compile the model by Close & Apply
  6. This model will compile successfully
    • Your visual might display error due to missing column you just delete but do not worry
  7. Go back to Transform data and add the column again (in your case it would be "Campaign")
  8. Compile the model again

The issue should be resolved now.

 

Smizmar
Regular Visitor

In Query Editor:

1. Do your Unpivoting work.

2. Add Column; Index Column; From 0 or 1.  Call it Index.

3. Create a copy of the column that the editor thinks is your primary key.  Call it "Primary - Copy".

4. Delete the column that the editor thinks is your primary key (so delete "Primary" column in this example.) This will force the editor to assume a different primary key.  It will choose the Index column as your new primary key.

5. Apply your changes.

6. Go back and rename the "Primary - Copy" to its orignial name.

tharris
Frequent Visitor

I was having the same issue and this worked! Thank you!

It works but instead of duplicate the column I deleted it, created the index column, refresh the model and them erase the step of deleting.  All in the Query Editor.

v-yuezhe-msft
Microsoft
Microsoft

Hi @SophieBoucher,

Could you please post the full error message in English and share sample data of your scenario?

Generally, we will need to create/define Primary key at data source level and then import it into Power BI.  Another option is to use DAX in Power BI to combine several columns so that each row has unique values.


Thanks,
Lydia Zhang

Community Support Team _ Lydia Zhang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Why do you want to do this?  A primary key in Power Pivot is used to join a lookup table to a fact table.  There is no point doing this unless the key exists in both tables.  So it is not as simple as just adding a key.  The key must match, so an Index column alone wont help you.



* Matt is a Microsoft MVP (Power BI) and author of the Power BI Book Supercharge Power BI.

Primary Keys have more uses than for relationships, for exmple to avoid circular dependencies when using CALCULATE in a calculated column.

I want to change the primary key column to another column, because i applied an unpivot on my table and primary key has became not primary with duplicated values, and i need a colomn with identified values like Index, is it clearer?

PrtScr capture_2.jpg

That is the problem who appears

I'm receiving this same error... I made edits to my query and now I cant change the data model to resolve it because the data model is waiting for the query changes to be applied... but those cant be changed due to the error that the column is considered the Primary Key of the table....

 

error.PNG

To get around this issue, I added a Step in my Query to remove duplicates on the particular column... this allowed me to successfully apply the query.  Then I loaded the data model, deleted the relationship.  Next I went back in and removed my Query Step: Removed Duplicate to bring back to the original table and now I am reapplying the proper relationship.   Phew!  Problem solved. 🙂

It is likely because of the cardinality of your table relationship.  Try changing either from Many:One to One:Many (or vice versa).  

 

Also, make sure the cross filter direction is set to single instead of both.  The direction should be Dim > Fact.

Helpful resources

Announcements
PBI User Groups

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group!

MBAS on Demand

2021 Release Wave 2 Plan

Power Platform release plan for the 2021 release wave 2 describes all new features releasing from October 2021 through March 2022.

July 2021 Update 768x460.png

Check it out!

Click here to read more about the July 2021 Updates

Top Solution Authors
Top Kudoed Authors