Power BI desktop march Resume

Hi everybody, today we speak about some interesting new features on power bi desktop. This upgrade is very interesting. IN particular this month:

Report view

  • Report theming preview: When you import a theme, all your charts will automatically update to use the theme colors, and you’ll have access to the theme colors from the color palette.You can upload a theme file using the Import Theme option under the Switch Theme button.clip_image004A theme file is a JSON file that includes all the colors you want us to use in your report. Se my Next article where i explain how to use it.
  • New matrix visual preview: new version of the matrix as a separate visual Once you turn on the preview by selecting New matrix visual under File > Options and settings > Options > Preview features, you will see the new matrix in the visualization pane. Benefits of this new matrix include:
    • Performance improvements
    • Drilling into hierarches
    • Stepped layout
    • Cross highlighting and filtering from matrix headers and cell contents
  • Textbox font color: added the ability to change font color of your text in textboxes
  • Numeric range slicer preview: adding a preview of a new type of slicer, the numeric range slicer. You can use this slicer type with any numeric column in your data model. You can choose to filter your data between two values, less than or equal to a value, or greater than or equal to a value
  • Percent of total on pie and donut chart data labels: added percent of total as another data label option for pie and donut charts
  • Cross-highlight using multiple series: you can now multi-select multiple series in a chart when cross-highlighting.


  • Clustering is now generally available

Data connectivity

  • New Connector: Azure Analysis Services : adding a new connector to allow you to import data or connect live to your Analysis Services instances running on Azure.
  • Azure Data Lake Store connector is now generally available
  • DB2 connector: option to specify package collection . The DB2 connector dialog now exposes a new option to specify the package collection to connect to, within a given DB2 server.
  • Combine binaries: ability to specify sample file to use. exposing a new control in the file preview dialog to select one of the files available in the selected folder. Default selection is the first file found, but this can now be easily customized by you.

Query editing

  • Split column by delimiter: automatic detection of delimiter character

Connecting from Power BI Mobile to SSRS

Last week, Guy in a Cube shows how to configure Active Directory Federated Services (ADFS) and the Web Application Proxy (WAP) role in Windows 2016, so that you can connect from Power BI mobile to SQL Server Reporting Services using OAuth. See the video, it’s very interesting.

Ataira Analytics BI – Collaboration for SharePoint Power BI Groups Support

During my browsing online about Power Bi i found an interesting solution to Sharepoint power bi. His Name is Ataira Analytics +BI  and with their solution can view your Power BI items within a convenient SharePoint web part. You can also send notifications to your corporate groups and add follow-up actions for your team to more tightly collaborate on your business intelligence efforts in one location. Continua a leggere

Power BI Mobile February 2017 Update

Here we are with the news about Power Bi Mobile:

  • Power BI app for Android tablets is now available globally
  • New dashboard tile actions (All): To access this menu, just tap and hold on a tile in a dashboard, or tap the ellipsis (…). The menu allows you to navigate directly to the underlying report, expand the tile, or even manage an alert for the tile if the type supports it.


  • SSRS – multi server support (iOS): you can connect to up to five different SQL Server Reporting Services servers at the same time. All the servers you connect to will be available under the settings screen.
  • Scrolling Improvements: added the ability to scroll in any Cartesian chart (Bar, Colum etc.) by touching the chart itself, rather than touching the scroll bar. This new interaction is available in any visual in a report, report focus mode, phone report, or Q&A tile.

How to: Integrate Power BI reports in SharePoint Online

In these days Microsoft has announced the introduction of a new web part that enables SharePoint authors to embed Power BI reports directly in SharePoint Online pages with no code required.

This is a easy e short guide to how to integrate power bi report on sharepoint online. We start from requirements:

  • This solution works only with Sharepoint Online
  • The web part requires new SharePoint features to be enabled. Your tenant needs to be enrolled in the Set up the Standard or First Release options in Office 365 program to use this feature.
  • The Power BI (Preview) web part for SharePoint Online requires Modern Pages.
  • The creator and the user of power bi report must have Power BI Pro license

If you have all the 4 requirements, we can start from Power BI service site where you have published your Report.

  1. Open your Report online and
  2. select File menu item
  3. Select Embed in SHarePoint Online
  4. Copy The url From Dialog Box

Now we can pass to our Sharepoint website and follow these steps:

  • Open the desired page or created a new one in SharePoint Online and select Edit.

    • Select + and select the Power BI (Preview) web part and Select Add report.

  • Past the report URL into the property pane. This is the URL you copied from the steps above. The report will load automatically.

  • Select Publish to make the change visible to your SharePoint Online users.


Embedding a report in SharePoint Online does not automatically give users permission to view the report. The permissions to view the report are set within the Power BI service. There are two ways to provide access to the report within the Power BI service:

  • If you are using an Office 365 Group you list the user as a member of the group workspace within the Power BI service. This will make sure that users can view the contents of that group.
  • Alternatively, you can grant users access to your report by Adding a tile from the report to a dashboard. Share the dashboard with the users that need access to the report.

Power BI Embedded in sharepoint support data security through Power BI’s Row Level Security features. Users viewing the report embedded in a SharePoint Online page will see the same data they would via PowerBI.com. This makes building secure internal portals to disseminate critical business insights easy and trustworthy.

Web part parameters

Property Description
Page name Sets the default page that is shown by the web part. Select a value from the drop down. If no pages are displayed, either your report has one page, or the URL you pasted contains a page name. Remove the report section from the URL to select a specific page.
Display Option to adjust how the report is fit within the SharePoint Online page.
Show Navigation Pane Shows or hides the page navigation pane.
Show Filter Pane Shows or hides the filter pane.


Power bi February News

Today Microsoft Team has released a new version of  Power BI Desktop. Here the summary of the news

Report View

  • Word wrap on matrix row headers: You’ll see a word wrap toggle under the Row headers card. Once you turn word wrap on, the row headers will word wrap to fill the space they have
  • X- and Y-axis font size control: you’ll now find the text size slider under the X-Axis and Y-Axis cards in the formatting pane.
  • Cartesian chart minimum category width: If you want to guarantee that your data labels show, you can now set the minimum width of categories and the font size in  You’ll find the setting under the X-axis card for column, line, and waterfall charts, and under the Y-axis for bar charts.
  • Line chart line thickness and join type controls: Under the Shapes card in the formatting pane, you can use the stroke width feature to make your lines thicker.


  • 2 new Quick Calcs: Percent of row total & percent of column total: Under Show value as, you’ll see Percent of column total and Percent of row total in addition to the Percent of grand total we released a while ago.


Data connectivity

  • ODBC and OLE DB connectors: support for selecting related tables: enabled the Select Related Tables button in the Navigator dialog when using the ODBC and OLE DB connectors.
  • Enhanced Folder connector: support for combining binaries from the Preview dialog: You can choose to combine multiple files from the folder preview dialog within the Get Data flow, bypassing the Query Editor.
  • Unified text & CSV connectors: Converted the importing Text and CSV files into a single Text/CSV entry point. This new entry point can be found in the Get Data dialog, under the Files category.
  • PowerApps Common Data Service connector: Now you can pull your Common Data Service data into Power BI and build reports to share with others. You can show Near-real time data, use the Security roles defined in the Common Data Service. Also you can Auto-generated semantic models, which present data by subject area automatically updated when entities are extended in the Common Data Service
  • Query editing improvements:
    • Specify the desired column type and locale in column headers type menus
    • Easily insert steps in existing queries


  • Solution Templates and Partner Showcase quick access: Solution templates let you use a wizard to very quickly and easily create a working end-to-end enterprise-ready Power BI solution. The Partner Showcase lets you browse our certified partners, see their work, and reach out if you are interested in working with them.clip_image035

Python: Clean SQL views for Documentation

One of the most tedious tasks of working with databases is to write and maintain documentation, in particular writing reports from tables and views.

So why not try to make this task a bit less heavy by using Python?

Step0-The input and the output

The script requires that the views are created using create view.

Right click on view


Copy view


Output view after python script


Step1 – Extract Columns Function
def extract_columns(in_txt):
    """Simple function to extract columns between select and from"""
    # Splitting by select i only choose text after select
    out_view = re.split(r'(?i)\bselect\b',in_txt)[1]
    # Splitting by from i only choose text before from
    out_view = re.split(r'(?i)\bfrom\b',out_view)[0]
    # Cleaning extra spaces and tabs
    return out_view

Let’s start by defining a function with the purpose of extracting only the columns from the script of a view. Thus ignoring everything before the Select statement and everything after the From statement.

Step2 -Let’s start from the variables
import re

# We open the file containing the view
view = extract_columns(open('input.txt','r',encoding='utf-8').read())
# Now we insert text into the list and we create a new list
view_l = view.split('\n')
out_l = []

Now we declare the variables we are going to use.

  • view: contains the input text
  • view_l: is a list created by splitting text by line
  • out_l: is the output list

Step3-Main Code
# Now we loop through all the lines of the view
for num,line in enumerate(view_l):
    # Clean extra spaces
    line = line.strip()
    # Remove Comments
    line = line.split('--')[0]
    # Remove Commas
    line = line.replace(',','',1)
    # Substitute Tabs with Spaces
    line = line.replace('\t',' ')
    # While two spaces are in line we substitute the with one space
    while '  ' in line:
        line = line.replace('  ',' ')
    # Remove [ and ]
    line = line.replace ('[','').replace(']','')
    # If line is not empty
    if len(line)>0:
        # If line is not a comment
        if line[0]!='-':
            # We add the new line to out_l

Finally we come to the main code.
The first part is a For loop, using the list we created in step2.
For each line the script removes useless characters and comments and then adds the line to the new list.

Step4-Output Text
# Open output file
with open('out.txt','w') as out_txt:
    # For line in output list
    for line in out_l:
        # Try / Except to output all the values to the file separated by ','
        if len(line)>1:

In the last part we write to an external file using a Try/Except to avoid IndexErrors.

Power BI Service February News

  • Power BI admin role:  Power BI Admin portal will have access to tenant-wide usage metrics, and be able to control tenant-wide usage of Power BI features.
  • Power BI audit logs globally available
  • Public preview: Email subscriptions With Power BI e-mail subscriptions, you can quickly subscribe to emails of the report pages that matter most. Once subscribed, Power BI will regularly send screenshots of that report page directly to your inbox whenever the data changes. The image in your inbox will show up exactly as it does in Power BI, and include a link to the report where you can drill into any interesting findings.
  • New APIs available for custom visuals developers: released version 1.4 of our developer tools and custom visual APIs.
  • Real-time streaming generally available: announced the general availability of our real-time streaming feature set, which allows users to easily stream data to Power BI and announce that Azure Stream Analytics will now output to Power BI streaming datasets.


  • Push rows of data to Power BI using Flow: Simply create a Flow with the “push rows to streaming dataset” action and Flow will automatically push data to that endpoint, in the schema that you specify, whenever the Flow is triggered.
  • New Microsoft Azure AD content pack:Quickly and easily understand how your employees and partners are using Azure AD. Use that information to plan your IT infrastructure and maximize business value.


Power BI: how to unslice your data

This is a very interesting use of power bi Slicer. The original article is here. it’s writed by Art Tennick. Here the complete article:

A normal slicer can be tedious when you want to show everything apart from just one or two entries in your filtered tiles – don’t take your finger off the Ctrl key! You could always turn on Select All, then unselect the items. But you may not want Select All enabled, and it’s not available for chiclets. Or you could use Visual/Page/Report level filters, but these are not available in dashboards or publish-to-web. So you may be interested in an anti-slicer? There are many ways to do this, this is one approach.Immagine 035.png

If you want to reproduce my example you need to import DimGeography, DimCustomer, and FactInternetSales from Adventure Works DW. Check all three tables are related. Then make a copy of DimGeography in Power Query and rename it to Country. Make sure it has no relationships to any other table. The normal chiclet slicer is based on DimGeography, the two chiclet anti-slicers are based on Country. All three use the EnglishCountryRegionName column. Finally, add the DAX measures shown below (the last three are optional) and build the three tiles (as per the screenshots, and use EnglishCountryRegionName from the DimGeography table not the Country table):

Sales = SUM(FactInternetSales[SalesAmount])

Anti-Sales (single) = CALCULATE([Sales], FILTER(DimGeography, ‘DimGeography'[EnglishCountryRegionName] <> VALUES(Country[EnglishCountryRegionName])))

Number countries to show = COUNTROWS(ALL(‘Country'[EnglishCountryRegionName])) – COUNTROWS(VALUES(Country[EnglishCountryRegionName]))

Anti-Sales (multiple) = IF([Number countries to show] = 0, CALCULATE([Sales]), CALCULATE([Sales], EXCEPT(VALUES(DimGeography[EnglishCountryRegionName]), VALUES(Country[EnglishCountryRegionName]))))

Slicer value/s = CONCATENATEX(VALUES(DimGeography[EnglishCountryRegionName]), DimGeography[EnglishCountryRegionName], “, “)

Anti-slicer single value = IF(NOT(ISBLANK([Anti-Sales (single)])), CONCATENATEX(VALUES(Country[EnglishCountryRegionName]), Country[EnglishCountryRegionName], “, “))

Anti-slicer multiple value/s = IF(NOT(ISBLANK([Anti-Sales (multiple)])), CONCATENATEX(VALUES(Country[EnglishCountryRegionName]), Country[EnglishCountryRegionName], “, “))