How to Do VLOOKUP in Power BI

Cody Schneider••8 min read

If you're coming from an Excel background, one of your first questions in Power BI is likely: "Where is VLOOKUP?" It's a fair question, as VLOOKUP is the trusty workhorse for millions of spreadsheet users. While Power BI doesn’t have a function called VLOOKUP, it offers more powerful and robust ways to achieve the same result. This article will guide you through the best methods for looking up values and merging data in Power BI, from the user-friendly interface of Power Query to the versatile DAX functions LOOKUPVALUE and RELATED.

GraphedGraphed

Build AI Agents for Marketing

Build virtual employees that run your go to market. Connect your data sources, deploy autonomous agents, and grow your company.

Watch Graphed demo video

Excel vs. Power BI: A Quick Mindset Shift

First, it helps to understand why there’s no VLOOKUP in Power BI. Excel is a giant grid of cells. VLOOKUP is designed to scan a specific range of these cells to find a value and return something from a corresponding cell. It’s a very cell-centric way of thinking.

Power BI, on the other hand, operates on a data model built from tables and relationships, much like a database. Instead of looking up individual cells, you think in terms of entire columns and tables that are linked together. This approach is far more efficient and scalable for handling large datasets. The methods we'll cover lean into this relational model, making your reports faster and more reliable.

Free PDF · the crash course

AI Agents for Marketing Crash Course

Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.

Method 1: The Easiest Approach - Merge Queries in Power Query

The most intuitive method for Excel users is using Power Query’s Merge Queries feature. Think of this as performing a VLOOKUP before your data even hits the Power BI report canvas. You are adding the necessary columns to your table during the data preparation stage. This is the best method when you want to permanently combine information from two tables.

Scenario: You have a Sales table with ProductID, OrderDate, and UnitsSold. You also have a Products table with ProductID and ProductName. The goal is to bring the ProductName into your Sales table so you can analyze sales by product name.

Step-by-Step Guide to Merging Queries

  1. Open Power Query Editor: In Power BI Desktop, click on the Transform data button on the Home ribbon. This opens the Power Query Editor, which is the backstage area for cleaning and shaping your data.
  2. Select Your "Left" Table: In the Queries pane on the left, select your main table. In our case, this is the Sales table. This is the table you want to add columns to.
  3. Start the Merge: On the Home ribbon inside Power Query, click the Merge Queries icon. A dropdown will appear, if you want to add columns to your existing table, click Merge Queries. If you’d prefer to create an entirely new, merged table, choose Merge Queries as New.
  4. Configure the Merge: The Merge window will appear.
  5. Expand the New Column: After you click OK, you’ll see a new column has been added to the Sales table. It will be named after the table you merged (e.g., "Products"), and every cell will simply say "Table". Don’t worry, this is correct! Click the expand icon (two arrows pointing in opposite directions) in the column header.
  6. Select Columns to Add: A dropdown list of all the columns from the Products table will appear. Deselect all columns except the one(s) you need. In our case, we only want ProductName. It's good practice to also uncheck the "Use original column name as prefix" box to avoid column names like Products.ProductName.
  7. Close & Apply: Click OK. The ProductName column will now appear in your Sales table! Final step: click Close & Apply in the top-left corner of the Power Query Editor to load your transformed data back into the main Power BI model.

Now your Sales table is enriched, and you can build visuals slicing UnitsSold by ProductName.

Method 2: Using the LOOKUPVALUE DAX Function

Sometimes, merging tables isn't practical, or you need to perform a lookup dynamically within your report using a calculated column. For this, DAX (Data Analysis Expressions) is your tool. The LOOKUPVALUE function is DAX's most direct answer to VLOOKUP.

When to use LOOKUPVALUE: Use it when you need to fetch a single value from another table, and there is no active relationship between the two tables in your data model. It works by matching values in columns you specify.

Syntax

LOOKUPVALUE(
    <result_columnName>,
    <search_columnName>,
    <search_value>
)
  • result_columnName: The column containing the value you want to return (e.g., Products[ProductName]).
  • search_columnName: The column in the other table you'll be searching through (e.g., Products[ProductID]).
  • search_value: The value you're looking for, which is usually a column in your current table (e.g., Sales[ProductID]).
GraphedGraphed

Build AI Agents for Marketing

Build virtual employees that run your go to market. Connect your data sources, deploy autonomous agents, and grow your company.

Watch Graphed demo video

Step-by-Step Guide to Using LOOKUPVALUE

  1. Go to the Data View: In Power BI Desktop, click on the table icon on the far left to switch to the Data view.
  2. Select the Right Table: From the Fields pane on the right, select the Sales table.
  3. Create a New Column: On the ribbon at the top, under "Table Tools," click New Column.
  4. Write the DAX Formula: The formula bar will appear. Type in the following DAX expression and press Enter:
Product Name = 
LOOKUPVALUE(
    Products[ProductName],
    Products[ProductID],
    Sales[ProductID]
)

Instantly, Power BI will go through each row of the Sales table, take the ProductID, find the matching ProductID in the Products table, and return the corresponding ProductName. It's a VLOOKUP, just with a different name and syntax!

Method 3: The Power BI Best Practice - The RELATED Function

The RELATED function is the most efficient and recommended way to perform lookups in DAX. However, it comes with one important prerequisite: you must have a relationship set up between your tables.

In our scenario, there is a natural many-to-one relationship: many sales records can be associated with one product. The Sales table is the "many" side, and the Products table is the "one" side.

When to use RELATED: Use this whenever possible. If you've modeled your data correctly with relationships, RELATED is simple, fast, and easy to read.

Step-by-Step Guide to Using RELATED

  1. Confirm Your Relationship: Go to the Model view (the third icon on the left pane in Power BI Desktop). Confirm there is a line connecting the ProductID column in your Sales table to the ProductID in your Products table. If not, drag the ProductID field from one table and drop it onto the other to create the link.
  2. Create a New Column: Like with LOOKUPVALUE, go to the Data view, select the Sales table, and click New Column.
  3. Write the DAX Formula: The RELATED syntax is much simpler:
Product Name = RELATED(Products[ProductName])

Because the relationship exists, Power BI already knows how to navigate from a Sales record to its corresponding Products record. This formula leverages the power of the data model and is much more performant on large datasets than LOOKUPVALUE, which has to perform its search from scratch every time.

Free PDF · the crash course

AI Agents for Marketing Crash Course

Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.

Which Method is Right for You?

Choosing the right method depends on your goal:

  • Use Merge Queries (in Power Query) when you're in the data setup phase and want to create a wider, more descriptive table before you start building visuals. It physically adds the data, making it part of that table from the beginning. This is ideal for cleaning and shaping your data.
  • Use LOOKUPVALUE (DAX) when you can't or don't want to create a formal relationship between tables but still need to pull in a value for a specific calculation. It is less efficient but offers flexibility.
  • Use RELATED (DAX) as your default choice for calculated columns. It is faster, more efficient, and promotes a well-structured data model. If you find yourself unable to use RELATED, it's often a sign that your data model's relationships could be improved.

Final Thoughts

Letting go of Excel's VLOOKUP can feel strange at first, but Power BI’s alternatives are built for the world of business intelligence. Merging queries helps you build a solid foundation during data prep, while DAX functions like LOOKUPVALUE and RELATED give you the flexibility to add analytical insights directly within your data model. Mastering these tools will unlock more reliable, scalable, and faster reporting.

Learning the right syntax and data modeling practices is a powerful skill. But sometimes, especially when you're trying to prove ROI or track campaign performance, you just need a straightforward answer without becoming a DAX expert. At Graphed, we built our tool for exactly this scenario. You can connect your data sources like Google Analytics, Shopify, and various ad platforms in just a few clicks. Then, instead of writing formulas or setting up query merges, you can just ask in plain English: "Show me my top 10 products by units sold this month." We handle the technical side to instantly generate the visuals and reports you need, letting you focus on the insights, not the setup.

Related Articles