PowerBI: Import Vs Direct query

 While creating a PowerBI report, one of the first dilemma that a developer faces is whether to use Import or Direct query option when connecting to data set.

In this article I am trying to explain various aspects that can help with the decision making.

Real-Time data - Direct query

If you are creating a report that needs to show real time data (or almost real time), Direct query is a better option. With Import, you can refresh the data only a limited number of times.

However, there are other factors to consider as well:

You should also consider whether your data gets updated regularly or not. Even if you need real time data, there is no point using direct query if your data gets updated only few times a day, you should consider the Import option. There are lots of disadvantages of using direct query and you may want to avoid some of them if possible.

You should also look for the cost associated with each query. Your datasource provider may charge you per transaction. In such cases, it might be beneficial to compare the cost of having direct query with the inconvenience of having  data which is few hours old.

One of the important things to note is that with direct query you can use only one data source. This may limit your reports capability to provide complete view in your report.

I have provided a feature comparison, which might be helpful in making decision.



Custom code in PowerBI Online Dashboard

 PowerBI dashboards are very powerful tools for the management team members. It can provide mobile friendly view from multiple reports and help drive decision making.

However there are always few things that can not be reported easily using PowerBI reports. You can easily find this data collated for you in another website and you might just want to show it on your dashboard.

For this kind of user story, dashboards provide a good option. You can show web content in dashboard, which allows you to add embedded code. Many websites and content provided give you iframe based embed code which can be easily used here. In the example below, I am showing how this can be done.

  1. Create a dashboard on PowerBI online service and then click on add tile 


  2. In the tiles settings page choose web content


  3. You will see an option for Embed code. 


  4. Insert the following code in the box. Set the other properties and Apply
                

This is how your final tile will look like:


You can use most of the basic HTML codes in this tile. But if you plan to use scripts or advanced HTML coding, you might be disappointed. I think for security reasons, Microsoft has limited the kind of HTML tags that can be used here.

Hope this article helps you create better dashboard.


SharePoint Modern list showing classic form only

 Another strange behaviour by SharePoint list recently required us to contact Microsoft support.

The list in question was created in a modern SharePoint Online site with default behaviour to show modern form. The list worked fine for a while.

And then suddenly it started showing the classic forms when creating or editing the list items instead of the modern forms.

Modern form:



Classic form:



First settings we checked was in the -> List Settings -> Advanced Settings to see if the list has reverted to Classic setting. All the settings were as expected. The settings were explicitly changed to 'New Experience' and default multiple times but it did not solve the problem.



Next thing to check was the -> List Settings -> Form Settings. Here it was noticed that the setting was default one, however it seemed that there was a PowerApps form published to the site at one time and then reverted to default form. Choosing the published powerapps form completely broke the list which basically indicated that it may be the cause of our ongoing issues.



Did contact MS support to help us revert the changes and as per them once the form is published, you can not revert this setting back. This later turned out to be incorrect as we showed MS on other lists that this is possible.

Next suggestion from support was to talk to PowerApps teams, which was a bit weird as this setting is in Microsoft.

While MS was trying to bounce our ticket back and forth between their engineers, we have tried to delete the PowerApps form (which was not recommended by MS), and IT WORKED. The list is now as good as new.

The link to delete the form is the last link in second option of the Form Settings.

Hope this helps and saves your time !!





Microsoft 365 Governance

 Microsoft provides a variety of tools within it's Microsoft365 suite that can improve the productivity.

With the new features users can have a lot of freedom. But this comes with a price. You will soon notice a lot of teams popping up with same name. A lot of complaints and some weird looking sites. Here are some of the major reasons:


If you are facing similar problems as above, its right time to start looking at your requirements. Its very important to come up with right requirement so that you can choose the right solution. Below , I am showing a sample of requirement:


A part of requirement will also be identifying the benefits as it will help you convince the funding associated with your solution. A sample of benefits below:


Once you have worked on your requirement and benefits the next task would be to identify right tools. Due to ever changing nature of MS365, it is difficult to get a right tool to fulfil all your needs.

Here are some of the solution options you can go with:

  1. Admin controlled environment - You can achieve some of these requirements by closing the environment for end user. This will slow down the growth and put more control. MS provides option to opt out of certain features. But this option is not user friendly and also discourages end user to use the tools. I would not recommend this if you want improved productivity.
  2. Power Platform - One of the available tools with MS365 is Power platform tools, PowerApps, Power Automate and PowerBI. All the requirements mentioned above can be achieved using these tools. However , this option is only good when you have no budget and team available to develop the tools. This option will have a regular indirect maintenance cost as MS releases new version of 365
    regularly, hence you need a team who can look into improving/updating the developed products.
  3. 3rd Party Tool - In the market, you will find numerous tools available who can fulfil some or all your requirements. you have to carefully check the requirements fulfilled by the tool and compare cost with benefits achieved. Below is a comparison for few of the tools available in market.



Syskit, Avepoint, ShareGate etc. are very popular tools and have been in this space for quite some time. 

Hope this analysis helps you manage your Microsoft 365 environment in a better way.

You can contact me if you need further assistance with this.

Creating Modern Pages in Classic SharePoint sites

The SharePoint estate in my organization still has a lot of content in Classic sites. Over past few years Microsoft has updated a lot of pages to modern look and feel. For example, the site content page or modern lists, all are available in the classic sites.

However the content pages created in classic site are still the same. This gives a very bad user experience as user can keep jumping back and forth between these templates.

Best option is to migrate all your content to a modern site. However it may not always be feasible to migrate everything as of now and I wanted to create few modern pages within the classic sites. 

First thing you should do to make this happen is to enable the site pages feature in the site. Before you try to do that, check if you have a site pages library in the site content. If its there, the feature may already be activated. If not, go to Site Settings -> Manage Site Features and select the Site pages feature as shown below:

Once this is done go back and check if you have Site Pages library

Here in the New Item menu, you can see an option to create a site page. When you click on create site page , it creates a page with modern look.

 

It may so happen that even though you have Site Pages in the new menu, you don't see any site page option. All the options available may be classic site page templates.

In such cases the work around is to create a page using this URL:

https://<yourtenant>/sites/Testsite/_layouts/15/createsitepage.aspx

This creates the page in Site pages library in the modern view.

Hope this article helps all the SharePoint developers stuck with a classic site :)