Categories
Hints & Tips Microsoft Power Apps Power BI

Power BI – New features February 2023 Version

Microsoft Power BI has introduced a plethora of new features that are designed to improve the user experience and help organizations improve their return on investment (ROI). These new features include everything from improved data modelling capabilities (new DAX functions) to new visualization tools and advanced analytics integrations.

In this blog post, now that we’ve had a bit of time to test them out and play around with them, we will take a closer look at some of the new features. In doing so, we will look at how they can help organizations get more value from their Power BI investments.

1. Smart Narratives -visual summary icon features

Smart Narratives is a new feature that automatically generates natural language descriptions of charts and graphs in Power BI reports. This feature is designed to help non-technical users understand the insights and trends represented in data visualizations. By providing easy-to-understand explanations of complex data, Smart Narratives helps organizations make more informed decisions based on data-driven insights. This can ultimately lead to better business outcomes and improved ROI.

Smart Narrative visual summary icon

In the February 2023 version, Microsoft has added an optional icon to the visual header that generates an on-demand summary of the visual contents. You can empower it in the format pane for individual visuals or add it to your custom theme file for the visual styles you choose.

Select the visual and in the Format pane under General options Header icon. you can turn on the Smart Narrative icon under Icons.

features

When your audience hover the visual, they will find the Smart Narrative icon above the visual, and if they click on the icon, Power BI will provide the information.

In this example Smart Narrative shows some sales stats.

2. Custom Themes features – Update your base theme in Power BI

Power BI’s Custom Themes features allow users to create customized themes that can be applied to all reports and dashboards. Custom Themes is an ideal feature for organizations that want to ensure their reports and dashboards are on-brand and aligned with their visual identity. By providing users with the ability to create custom themes, Power BI helps organizations save time and improve efficiency.  Organizations can also ensure that By ensuring that reports and dashboards are on-brand. This will improve the user experience. Therefore, they will see increased adoption and improved ROI.

Update your base theme in Power BI

In the February 2023 version Microsoft has added an easy and efficient way to update your current theme.

Many changes to visuals and reports have been added, including new standard defaults for formatting settings. This has been added as a part of a new base theme so it will not to interfere with existing reports.

When you open the Custom Theme dialog box, you will find the Update Theme option top right.

3. New DAX functions: LINEST and LINESTX feature

In the February 2023 version Microsoft are introducing two new statistical DAX functions: LINEST and LINESTX. These two functions make linear regression, leveraging the Least Squares method, to calculate a linear line that find the best fits for given factual data sets and return a table describing that line. These functions are especially useful in forecasting unknown values (Y) given known values (X).

Both functions can return slopes (the gradient), intercepts, standard errors, and the coefficient of determination. The functions return the equation for a linear line: Y = Slope1 * X1 + Slope2 * X2 + …+ Intercept.

The difference between LINEST and LINESTX is that LINEST expects columns of known X and Y values to be given. Whereas LINESTX (array function) requires a table and expressions to be calculated for each row of the table to achieve the X and Y values.

 

  1. New Visualization Tools

Power BI’s new visualization tools enable users to represent data in more effective and compelling ways. These new visualization tools include Visualizations (third party visuals) Balance Sheet Visual by K Team Solutions, Gantt Chart by MAQ Software, Supermetrics Charts – Tile grid map, Tachometer, valQ – Collaborate, Zebra BI Charts, Beeswarm Chart, Cumulative by sio2Graphs, DoubleYaxis, swUniaxialScatterPlot, swBoxPlot,  sw3D_StackedBarDiagram, PictureThis, Milestone Trend Analysis Chart by Nova Silva. You can find all these new third party visuals in AppSource.

Milestone Trend Analysis Chart has been updated. Microsoft have enjoyed a lot of positive feedback about this visual.

Milestone Trend Analysis (MTA) is a straightforward way to identify deadline trends proactively, and will raise the deadline understanding of all project participants and stakeholders.

Key revises in the Milestone Trend Analysis Chart are:

Easy navigation through time by Zoom slider support

New different marker icons

Direct labelling to replace legend

Details Tooltip to include overlapping markers

Microsoft are providing users with more visualization options. In doing so, Power BI helps organizations create reports and dashboards that are more engaging and informative. This can ultimately lead to improved decision-making and increased ROI.

In conclusion, Microsoft have designed several new features to improve the user experience. Organisations can improve their ROI by implementing them. New smart Narratives options, Custom Themes improvement, and new DAX functions help organizations save time and improve efficiency.

 

Categories
Data Visualisation Hints & Tips Microsoft Power BI

Power BI – Advanced options to make forecasting models

Finally, there are new advanced options to create forecasting models in Power BI. Microsoft introduced the LINEST function and LINESTX function in the Power BI desktop February 2023 version.

function

The LINEST function in Excel has always been an important tool for perform linear regression, leveraging the Least Squares method, to calculate a straight line that best fits the given data. The functions are especially useful in predicting unknown values (Y) given known values (X) and can work with any number of X columns.

In this blog post, we will use the LINEST function as our example. The LINEST function creates a table with a single row explaining the line and additional statistics. The table includes the columns slopes, intercepts, standard errors, and the coefficient of determination.

All the information needed for the equation of the fitted line can be constructed: Y = Slope1 * X1 + Slope2 * X2 + …+ Intercept.

In this example the data set is sales data. It include total monthly sales, how many sales reps, monthly marketing expenses, and monthly number of sales calls.

The Power BI report should visualise how future changes in number of sales reps, sales calls, and marketing budget will affect the future sales.

Funciton

The LINEST function

Syntax

LINEST ( <columnY>, <columnX>[, …], [<const>] )

Parameters

To create the LINEST table click New Table on the Modelling tab. In this example, we will use three X values.

Linest result = LINEST(‘sales stats'[Sales],’sales stats'[Marketing Expenses],’sales stats'[sales calls],’sales stats'[Sales reps])

 

This DAX return a single row table including a lot of statistics, but in this blog post, you will only see how the y-intercept and sloop is used for predictions.

The linear regression equation:

Y = Slope1 * X1 + Slope2 * X2 + …+ Intercept.

The DAX will look like this in this model:

Predictions = sum(‘Linest result'[Intercept])+SUM(‘Linest result'[Slope1])*SUM(‘sales stats'[Marketing Expenses])+sum(‘Linest result'[Slope2])*sum(‘sales stats'[sales calls])+SUM(‘Linest result'[Slope3])*SUM(‘sales stats'[Sales reps])

 

The DAX measure is added to the matrix to give an indication of the accuracy.

To give the audience an option to predict how changes will affect the sales, parameter tables can be used. Click New parameter on the Modelling tab, add the parameters, and click OK.

Function

The New Parameter tool creates a table with the parameter values and a slicer. Therefore, the audience can select the parameters.

Next step will be to write the DAX to show the prediction based on selected parameters.

Again, the linear regression equation:

Y = Slope1 * X1 + Slope2 * X2 + …+ Intercept.

The sloop values and the intercept are in the Prediction table the LINEST function created earlier in this blog post and the X values will come from the three parameter slicers.

The DAX will in this example look like this:

Predictions based on parameters = sum(‘Linest result'[Intercept])+SELECTEDVALUE(‘Marketing Budget'[Marketing Budget])*SUM(‘Linest result'[Slope1])+SELECTEDVALUE(‘Number of sales calls'[Number of sales calls])*sum(‘Linest result'[Slope2])+SELECTEDVALUE(‘Number of Sales reps'[Number of Sales reps])*sum(‘Linest result'[Slope3])

 

We can use the SELECTEDVALUE function to return the selected values from the slicers.

 

The measure is here added to a Card visual to visualise the result.

Function

In a forecast model like this it could be useful to investigate how much or if the X values (marketing budget, number of  sales calls, and number of sales reps) affect the sales.

You can find a particularly useful Quick Measure, which can tell you this, the Correlation Coefficient quick measure.

You will here see how the correlation is calculated between the Sales and Marketing Budget.

The DAX will look like this, but you will not need to write it yourself.

Sales and Marketing Expenses correlation for Month =

VAR __CORRELATION_TABLE = VALUES(‘sales stats'[Month])

VAR __COUNT =

COUNTX(

KEEPFILTERS(__CORRELATION_TABLE),

CALCULATE(

SUM(‘sales stats'[Sales])

* SUM(‘sales stats'[Marketing Expenses])

)

)

VAR __SUM_X =

SUMX(

KEEPFILTERS(__CORRELATION_TABLE),

CALCULATE(SUM(‘sales stats'[Sales]))

)

VAR __SUM_Y =

SUMX(

KEEPFILTERS(__CORRELATION_TABLE),

CALCULATE(SUM(‘sales stats'[Marketing Expenses]))

)

VAR __SUM_XY =

SUMX(

KEEPFILTERS(__CORRELATION_TABLE),

CALCULATE(

SUM(‘sales stats'[Sales])

* SUM(‘sales stats'[Marketing Expenses]) * 1.

)

)

VAR __SUM_X2 =

SUMX(

KEEPFILTERS(__CORRELATION_TABLE),

CALCULATE(SUM(‘sales stats'[Sales]) ^ 2)

)

VAR __SUM_Y2 =

SUMX(

KEEPFILTERS(__CORRELATION_TABLE),

CALCULATE(SUM(‘sales stats'[Marketing Expenses]) ^ 2)

)

RETURN

DIVIDE(

__COUNT * __SUM_XY – __SUM_X * __SUM_Y * 1.,

SQRT(

(__COUNT * __SUM_X2 – __SUM_X ^ 2)

* (__COUNT * __SUM_Y2 – __SUM_Y ^ 2)

)

)

 

You just need to click Quick Measure on the Home tab and then add the parameters from your tables. In this example it will look like this, Power BI desktop will write the DAX:

Function

You will see here that this Correlation Coefficient measure returns 0.28. This means that we have a positive correlation. That is to say our sales have improved when we have spent more money on marketing. However, the number is disappointing. There is an almost non-existent relationship between Sales and the Marketing budget . It is suggested here that when your company spends more money on Marketing, the sales increase comparatively poorly.

The correlation between Sales and Number of Sales calls, and the Correlation between Sales and  Number of Sales reps are also calculated in this model and these results are much more satisfying.

Based on the correlation between the X values I would remove the Marketing Budget from my Prediction measures to get a more accurate result, or I would find a better way of using the budget.

We can visualise correlation measures  on Scatter charts, and it is obverse that the relationship between Sales and calls are much closer than the relationship between Sales and Marketing Expenses.

Function

I will end this blog post by also create a dynamic text DAX measure to describe the prediction displayed in the card. This text DAX text result will appear in a text box.

The DAX

Explain the prediction = “The card above shows sales predictions based on a marketing budget of ” & SELECTEDVALUE(‘Marketing Budget'[Marketing Budget]) & “, ” & SELECTEDVALUE(‘Number of sales calls'[Number of sales calls]) &  ” number of sales calls, and ” & SELECTEDVALUE(‘Number of Sales reps'[Number of Sales reps]) & ” sales reps.”

 

By adding this DAX to the title of a Text box, you will create a dynamic Text box, which will show selected values from the slicers.

You can find the dynamic Text box to the right just under the Card with the prediction. The text box will display the values you can see, and you can select them from the slicers.

Function

Conclusion

I have missed some more advanced data analysis tools in Power BI desktop. I really appreciate that we now getting more options. It was possible to calculate the slope and intercept before we got the LINEST function, but it was a nightmare. I did ones calculate the slope, but the DAX  was a endless number of DAX and very time consuming. Well done Microsoft and please keep on the good work.