Top 10 Power BI Interview Questions & Answers

Share

Facebook
Twitter
LinkedIn

Recently, I interviewed a few people for Power BI roles and here are some questions I asked in the initial rounds to assess their skill level. I’ve included sample answers below so you know how to approach such questions.

Top 10 Power BI Interview Questions & Answers

Prefer video? See this...

I made a video with 10 questions and my (elaborate) answers to them. Watch to learn how to answer such interview questions.  See it below or on my YouTube channel.

1. What are the main differences between Power BI Desktop and Power BI Service?

Answer cues:

  • Power BI Desktop is the main tool for creating or authoring reports.
  • We use PBI desktop to clean up data, create data model, set up measures, build and refine charts and construct the reports.
  • We then use Power BI Service to share the reports with the audience.
  • Desktop = creation tool, Service = consumption tool

2. Explain the difference between a measure and a calculated column?

  • Measures:
    • calculate things on top of tables.
    • calculated in the run-time based on the evaluation context.
    • are usually aggregates.
    • example: Shipment Count = COUNTROWS(Shipments)
  • Calculated columns:
    • are part of the table.
    • are calculated at the time of creation based on the row-context.
    • have one value per row.
    • example: Discount Rate Row-wise calculation of discount rate based on order quantity
  • Both measures and calculated columns use the same DAX language.

3. Describe the steps you would take to connect multiple data sources in a Power BI report?

  • We can use Power Query to connect more than one source of data.
  • We can also use PQ to merge / append / combine the data as needed.
  • We can selectively load the data to Power BI and keep the rest in PQ level but customizing the load behaviour.

4. What do 1, * and arrow (â–¶) mean in the data model diagram?

Data model diagram (Power BI)
  • In a typical star-schema, we will have one to many relationship between dimension and fact table.
  • The one side is denoted with a 1 and many side is denoted with a *
  • The arrow indicates the direction of filter propagation.
  • Power BI allows us to customize the filter direction (uni or bi-directional) and also have many-to-many relationships.

5. What is DAX and give me an example of DAX you've recently used?

  • DAX stands for Data Analysis eXpressions. It is the main language of Power Pivot.
  • Give examples based on your experiences and tell why / how they helped you solve problems.

6. How do you optimize the performance of a slow Power BI report?

Performance Optimization in Power BI
  • Answer questions like this based on your experience. If you have never optimized something, be honest and say that. Then give theoretical answers. 
  • Key optimization startegies:
    • Reducing the data (filtering at PQ, Source level)
    • Removing unwanted visuals, interactions and bookmarks
    • Using performance profiler (Optimize ribbon in Power BI) to measure the performance of a page and identifying the problem areas.
    • Setting up aggregate tables, pre-calculated views.
    • [NEW] Using visual calculations instead of measures.
    • Upgrading the Power BI on-prem servers, database servers (for direct query)
    • Running time-consuming operations (such as PQ transformations) at low usage times (midnights, evenings)

7. How do you publish a Power BI Report to the service?

  1. Save and test the report. Make sure all calculations are correct and visuals represent the truth.
  2. Test any connections, refresh processes too.
  3. Publish the report (Publish button) and set the correct workspace.
  4. Test the report on the service view and make sure right people have access to the report.
  5. Optional, Send an email or share the report with the audience.

8. Explain RLS (Row Level Security) in Power BI?

  • Row Level Security allows us to provide access to the relevant data to right people.
  • For example, we can use RLS to show only USA data to the USA regional manager.
  • We can use “roles” option in Power BI to set and test the roles. 

9. What is a Slowly Changing Dimension (SCD) and how do you handle it in Power BI?

Type 2 SCD - Example (source: Oracle.com)
  • SCD (Slowly Changing Dimension) is a dimension (or aspect of a dimension) that changes slowly over time.
  • Give examples from your industry or previous work.
  • Example: In our product table, we have a feature called cocoa percentage. For certain products this is changed once in a while based on customer feedback. This is an example of SCD.
  • We can either replace the old values with new ones or create effective date based records. 

10. How would you handle missing data?

Missing values in Power Query
  • We can use either Power Query or Power Pivot to handle missing values in our data. 
  • Power Query shows missing values in a column thru Column Quality feature. We can use this to identify and deal with missing values.
  • The key strategies for dealing with missing data are:
    • Removing missing values
    • Going back to source and fixing the problem
    • Replacing missing values with an approximation (imputation)
    • Ignoring missing values

Need more help? Watch the video

I made a video with 10 questions and my (elaborate) answers to them. Watch to learn how to answer such interview questions.  See it below or on my YouTube channel.

Learn more: Power BI Weekend (2023)

My annual Power BI event – Power BI Weekend is happening this year on November 18 & 19. In this 4 hour event (2 hours on Saturday – Nov 18 & 2 more on Sunday – Nov 19), you will learn the Power BI Essentials to say yes to your next challenge.

Power BI Weekend 2023

The topics covered are,

  • What is Power BI? How to use it?
  • Power BI vs Power Query vs. Power Pivot
  • Understanding Power BI Visual interactions & customizing them
  • Data cleanup and transformations with PQ
  • Setting up a star schema data model
  • Creating and using DAX measures
  • Interactive storytelling in Power BI
  • Saving & publishing your work
  • Resources to learn more
  • Q&A with you

Tickets are on sale now. Book yours before they sell-out.

Facebook
Twitter
LinkedIn

Share this tip with your colleagues

Excel and Power BI tips - Chandoo.org Newsletter

Get FREE Excel + Power BI Tips

Simple, fun and useful emails, once per week.

Learn & be awesome.

Welcome to Chandoo.org

Thank you so much for visiting. My aim is to make you awesome in Excel & Power BI. I do this by sharing videos, tips, examples and downloads on this website. There are more than 1,000 pages with all things Excel, Power BI, Dashboards & VBA here. Go ahead and spend few minutes to be AWESOME.

Read my storyFREE Excel tips book

Overall I learned a lot and I thought you did a great job of explaining how to do things. This will definitely elevate my reporting in the future.
Rebekah S
Reporting Analyst
Excel formula list - 100+ examples and howto guide for you

From simple to complex, there is a formula for every occasion. Check out the list now.

Calendars, invoices, trackers and much more. All free, fun and fantastic.

Advanced Pivot Table tricks

Power Query, Data model, DAX, Filters, Slicers, Conditional formats and beautiful charts. It's all here.

Still on fence about Power BI? In this getting started guide, learn what is Power BI, how to get it and how to create your first report from scratch.

15 Responses to “Highlight Employees by Performance Rating – Conditional Formatting Challenge”

  1. Stephen says:

    While this might solve the question Shelly asked, there is another option that might be more useful - a pivot table could make a list of people who fall into the various categories, so, if you needed to simply see who got in the top bracket to give them a bonus, you would have that list

    Simply sorting by the rankings would work too, but you would knock them out of alphabetical order. 

  2. Darin Myers says:

    Normal
    0

    false
    false
    false

    EN-US
    X-NONE
    X-NONE

    /* Style Definitions */
    table.MsoNormalTable
    {mso-style-name:"Table Normal";
    mso-tstyle-rowband-size:0;
    mso-tstyle-colband-size:0;
    mso-style-noshow:yes;
    mso-style-priority:99;
    mso-style-parent:"";
    mso-padding-alt:0in 5.4pt 0in 5.4pt;
    mso-para-margin-top:0in;
    mso-para-margin-right:0in;
    mso-para-margin-bottom:10.0pt;
    mso-para-margin-left:0in;
    line-height:115%;
    mso-pagination:widow-orphan;
    font-size:11.0pt;
    font-family:"Calibri","sans-serif";
    mso-ascii-font-family:Calibri;
    mso-ascii-theme-font:minor-latin;
    mso-hansi-font-family:Calibri;
    mso-hansi-theme-font:minor-latin;
    mso-bidi-font-family:"Times New Roman";
    mso-bidi-theme-font:minor-bidi;}

     
    The solution I chose makes use of the percentile formula.
     
    The percentile formula returns the value representing the K-th percentile of a range of values. The range of values is the first criteria, and K is the second criteria in the formula.

    I applied Conditional Formatting according to the formulas in the order below:

    5%    =$C6>=PERCENTILE($C$6:$C$33,0.95)   Dark Blue
    15%  =$C6>=PERCENTILE($C$6:$C$33,0.85)   Light Blue
    65%  =$C6>=PERCENTILE($C$6:$C$33,0.1)     Green
    10%  =$C6>=PERCENTILE($C$6:$C$33,0.05)   Light Red
    5%    =$C6<PERCENTILE($C$6:$C$33,0.05)     Dark Red
     
    The issue I noted with this approach is that Zambi was not highlighted in my solution as it is in the solution provided. Unless I am mistaken, and I very well may be, the 10th percentile for this data set is at 2.21, so Zambi would fall above the 10th percentile with a PR of 2.3.
     
    The first step to this was figuring out the 'buckets'; what scores should fall into each range. In attempting to match the formatting of the spreadsheet, I determined the buckets below.
     
    5% = 95% to 100%
    10% = 90% up to but not including 95%
    65% = 10% up to but not including 90%
    10% = 5% up to but not including 10%
    5% = under 5%
     
    After that, it is a relatively simple matter to plug the necessary values into the conditional formatting formulas as shown above.

    One final consideration is that while the buckets above match the color banding on the spreadsheet, I believe that the original request suggests a different color banding with 6 buckets shown below.
     
    Top 5%    = 95 to 100%    Dark blue
    Top 10%  = 85 up to but not including 95%    Light blue
    Top 65%  = 35 up to but not including 85%    Green

    Bottom 10% = 10% down to but not including 5%   Light Red
    Bottom 5%   = 5% or under    Dark Red
     
    This leaves one final bucket of 10 to 35% (exclusive of both values) that is not highlighted and so would remain white.
     
    Thank you Chandoo and Shelly for an interesting and useful exercise. This is certainly a valuable technique to have in my reporting bag of tricks.
     

  3. PSG says:

    Use of PERCENTILE is a smarter way of doing it.  Below is my solution.
     
    First 5 % = Apply conditional formatting (Dark Blue) as highlight ">=" =PERCENTILE(C:C,0.95)

    Next 15% = Apply conditional formatting (Lighter Blue) as highlight between =PERCENTILE(C:C,0.95)-0.01 and  =PERCENTILE(C:C,0.8)

    Next 65% = Apply conditional formatting as highlight (Olive Green) between =PERCENTILE(C:C,0.8)-0.01 and  =PERCENTILE(C:C,0.15)

    Next 10% = Apply conditional formatting as highlight (Lighter Red) between =PERCENTILE(C:C,0.15)-0.01 and  =PERCENTILE(C:C,0.05)

    Bottom 5% = Apply conditional formatting (Red) as less than =PERCENTILE(C:C,0.05)

    • Shailesh says:

      I agree, this is a challenge faced by HR managers every year and use of percentile formulae is the most popular solution which permits further processing like making bell curve, applying increments based on segmentation etc.

  4. Mayank Bhatia says:

    Hi Chandoo,

    I came at the same solution as yours (not looking at yours first) but I have hard coded the conditions in the conditional formatting. For example:

    =AND($C6>=$D$10,$C6<$D$9)

    I have done the same thing 5 times for each condition.   This makes the formatting independent of the order of specification. I think it will work better across versions of excel.

    To copy the same thing in all sheets, Shelly can copy these formatted cells with format painter and apply it to the relevant cells in next sheet and so on! I know 700 sheets will be difficult but I dont know of any other way to apply conditional formating rules to the whole sheet.

      

  5. Sameer Srivastava says:

    First i have used percentile formula in the next column of "percentile Threshold" where E5, E6.. is input to colour code.
    The idea behind doing this is to replicate the formula for any range and any threshold

    =PERCENTILE($C$3:$C$30,1-E5)

    =PERCENTILE($C$3:$C$30,1-E6)

    =PERCENTILE($C$3:$C$30,1-E7)

    =PERCENTILE($C$3:$C$30,1-E8)

    =PERCENTILE($C$3:$C$30,1-E9)

    Now i have given logic to different employee by applying "if Formula"

    =+IF(J3>=$G$5,1,IF(J3>=$G$6,2,IF(J3>=$G$7,3,IF(J3>=$G$8,4,5))))

    where 'J"  referes to PR and "G" refers to percentile derived from above mentioned formula.
    once again it is replicable (just change reference points)

    Now comes the major part of Conditional Formatting, i have used "use a formula to determine which cells to be formatted" 
    Formula =$j=5, format "required colour" Applies to "$I$3:$J$30" 
    plus put tick on stop if true

    This solves the query, important point that this is repeatable and can be done for n number of departments

    Thanks !

  6. Deepa says:

    I had done some reading on it and in Excel 2010 a new function has been introduced, percentile.exc. Attaching a video which also talks why the old percentile function shouldn't be used as it acts erroneous at times. Might be worth a watch Chandoo,
    http://www.itechtalk.com/thread10579.html

    • Hui... says:

      @Deepa

      Quit correct.

      Where ever you use statistical spreadsheet functions and are using excel 2010 you should use the new versions of the functions as MS did a lot of work to speed up and fix errors in the old functions.

      Warning: If you use the new Excel 2010 statistical functions in Named Formulas most of them will crash excel so do keep that in mind.

  7. Kishore says:

    Hello Chandoo,
    When i first read the challenge file, i thought, the color that need to be applied for a given rule, also need to be picked dynamically as given in rule set. But in the solution file, i found that color is hard Coded. So in case, someone has same data, but wants different colors, he/she needs to goto manage rules and change colors.
    Let me know if my understanding is correct, and if yes, can we also make the color to be applied dynamic?
     
    Thanks
    Kishore

  8. Roger L Moreno says:

    HI I ALSO USED THE PERCENTILE FUNCTION. HOWEVER, I WENT A STEP FURTHER AND USING THE SMALL() FUNCTION I SORTED THE DATA BY PERCENTILE SO THE COLOSCHEME WOULD BE GROUPED BASED ON THE VALUE. THIS WAY IT IS BETTER AND EASIER TO VIEW.

  9. [...] recently posted a challenge to help a reader with a [...]

    • Balraj says:

      Hi, i have got doubt regarding to the percentages that has been put in chandoo's spreadsheet, i cant understadn how he put directly. can some one please explain how chandoo put the percetages straight way that i stated below..

      5%

      15%

      60%

      10%

      5%

  10. I have stumbled on this post as the solution has been already given so I have taken the liberty to record a video where I show the implementation of it as well as adding a filtering feature which I hope can prove to be useful.

    Thank you

    http://www.xlninja.com/2012/06/28/how-to-use-excel-to-highlight-employee-performance-rating/  

  11. [...] scriu nici macar un cuvant din urmatorul articol. Astazi mi-am citit mailul si hopa challenge de la Chandoo. Cum puteam sa refuz asa ceva si m-am apucat de citit, iar dupa 5 min i-am spus sotului ca pe asta [...]

  12. Yves S says:

    Question for Chandoo:
    I came to your site late but am totally loving these challenges 🙂

    I guess it all boils down to how the bins are set up.
    I agree with the PERCENTILE.INC function.

    pls help me understand where I am wrong.

    I have determined following the bins:

    bottom 5% <=2.00 (F6:F33 <=PERCENTILE(range,.05))
    lower 15% (5+10) <= 2.40 (F6:F33 <=PERCENTILE(range,.15))
    lower 80% (5+10+65) <=3.46 (F6:F33 <=PERCENTILE(range,.80))
    lower 95% (5+10+65+15) <=4.00 (F6:F33 =PERCENTILE(range,.95))
    top 5% <=4.20 (F6:F33 <=PERCENTILE(range,1.00))

    I find that only Tom is highest scorer and unique top 5% achiever.

    I notice that Chandoo has included Christy and Daniel in top 5% achievers. How can there be 3 people in top 5% out of a population of 28 (5% of 28 = 1.4, i.e. only one person can achieve that status)?

    I tried different ways but cannot get to that distribution.

    Rest of the work is simply organizing the conditional formatting rules with Stop If True box checked.

    Thanks for your insights

Leave a Reply