PeerSpot user
Senior Consultant | Architect at DHL
Consultant
We have the ability to connect separate services like CRM, NAV, Facebook, Exchange, etc. and make data integration and transformation based on these data connections in a few clicks.

What is most valuable?

Firstly there was the wow effect, as when I saw the number of connectors which were made for this product/service. It is quite fantastic to have the ability to connect separate services like CRM, NAV, Facebook, Exchange etc. and make data integration and transformation based on these data connections in a few clicks. Also, the ability to download new visuals is quite nice. The effect of new graphics for higher management is magical and this is the good way not only for a pre-sale/sale or up-sale, but also for good impressions. Another great feature is, for example, the collecting of data in concrete folder on disk. If there is, for example, 100 csv files from other information systems, these should be automatically merged, analyzed and transformed into great graphical report.

How has it helped my organization?

Because the product is based the ability to quickly produce BI insights and reports, it’s really useful on a daily basis. Another improvement is definitely the possibility of browsing the dashboards on smartphone using an app, and another is the ability to quickly produce reports.

What needs improvement?

Well definitely the connectors, which is always a huge space for improvement in configurations, especially the amount of connectors etc. Also, the graphic designs of the reports needs work as they are still really strictly defined, and with the amount of output, there isn’t space for such a design realization. 

For how long have I used the solution?

I have used this solution since it was released (a few years ago) and I am using it on a daily basis at work and at university where I work as a researcher and am a PhD student. I use it on mobile, laptop and tablet as well. Also, it has its own app for viewing the reports and dashboards, own app for creating and editing.

Buyer's Guide
Microsoft Power BI
May 2024
Learn what your peers think about Microsoft Power BI. Get advice and tips from experienced pros sharing their opinions. Updated: May 2024.
771,170 professionals have used our research since 2012.

What was my experience with deployment of the solution?

There have been no issues with the deployment.

What do I think about the stability of the solution?

There was no issue with stability.

What do I think about the scalability of the solution?

We have been able to scale it for our needs.

Which solution did I use previously and why did I switch?

Personally, I used Excel Services/Visio Services.

How was the initial setup?

Really straightforward. The most complex part is defining the data gateways between the cloud part and the on premises part of the infrastructure. Another bigger task is to define security model of all the datasets and reports with correct audience, data refresh etc.

What was our ROI?

It's too soon to calculate. I think, that for the correct ROI value, you need to have it in place for more than three years. But, it saves a lot of time and not only developers time, but also management time etc. Things are easier when there are functionalities like “quick insight” for auto-creating of data based on machine learning algorithms, or Q&A for using natural query language. 

Which other solutions did I evaluate?

I played with Tableau. I see many similarities in Power BI to other products, so there is no reason to combine many different vendors/third parties to build such a complex BI solution.

What other advice do I have?

It's a tool for a new kind of business intelligence from Microsoft. Tool for quick modeling of data structures and for visualizing almost everything you have in mind at the moment. There is still a lot of room for improvement and there is also a huge space for new functionalities. But it’s a simple and great tool for everyday use. 

You should get it and implement it. However, you should get a trial version, and contact a partner who can provide some sales presentation with the live session (CIE for example) and show, what the possibilities are of Power BI.


Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
it_user7845 - PeerSpot reviewer
Consultant at a tech consulting company with 501-1,000 employees
Consultant
My 30 tips for building a Microsoft BI solution, Part V: Tips 21-25
I might just get all 30 done before summer vacation :)

#21: Avoid using discretization buckets for your dimension attributes

Discretization buckets lets you group numerical attributes into ranges. Say you have a customer dimension including the age of the customer you can use this feature to group them into age clusters such as 0-5, 6-10 and so on. While you can tweak how the algorithm creates groups and even provide naming templates for the groups you still have relatively limited control over them. Worst case scenario: A grouping is removed / changed by the algorithm which is referenced in a report. A better way of grouping these attributes is by doing it yourself either in the data source view or a view in the database (there will be a separate tip on this). This way you have complete control over the distribution of values into groups and the naming of the groups.

#22: Do not build a SSAS solution directly on top of your source system

SSAS has a couple of features that enable it to source data directly from a normalized data model typically found in business applications such as ERP systems. For instance you can “fake” a star schema through queries in the data source view. You can also utilize proactive caching to eliminate any ETL to populate your cube with data. This all sounds very tempting but unfortunatly I have never seen this work in reality. Unless you are working with a very small source system with impeccable data quality and few simultanous users you should avoid the temptation for all the usual reasons: Proactive caching will stress your source system, data quality will most likely be an issue, integrating new data sources will be nearly impossible,etc. There is a reason BI projects spend 70-80% of their time working with modelling and integrating data.

#23: Deploy SSAS cubes with the deployment tool

If you are working with multiple environments (dev/test/prod) do not use the deployment functionality of visual studio to deploy to another environment. This will overwrite partitions and roles that may be different between the environments. Use the deployment wizard.

#24: Remember that your SSAS cubes are a single point of failure

Keep in mind that most client tools do not cope well with changes to SSAS data models. Any renames or removals you do in the model will most likely cause clients that reference those entities to fail. Make sure you test all your reports against the changed model before deploying it to production. Also, if you allow ad-hoc access to your SSAS solution be aware that users may have created reports that you do not know about. Query logging may help you a little here (it gives you an indication of which attribute hierarchies are in use). The best way to avoid all of this is to thoughtfully design your cube and the naming of your SSAS objects so that there is no need to change or remove anything in the first place.

#25: Avoid “real time”

“Real time” means different things to different people. Some interpret it as “simultaneous to an event occurring” while others have more leeway and have various levels of tolerance for delays. I prefer the term “latency”: How old can the data in the BI solution get before it needs to be refreshed?. The lowest latency I have ever implemented is two hours. That is hours not minutes. I know this does not sound very impressive but that is honestly the best I have been able to do at a reasonable cost. When doing “real time” you need to consider a lot of factors: Partitioning, changes to dimensions, ROLAP vs MOLAP / direct query vs xVelocity, source system access, how to administer it, etc., etc. These things add up quickly to a point where the value simply does not justify the cost.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
Buyer's Guide
Microsoft Power BI
May 2024
Learn what your peers think about Microsoft Power BI. Get advice and tips from experienced pros sharing their opinions. Updated: May 2024.
771,170 professionals have used our research since 2012.
it_user7845 - PeerSpot reviewer
Consultant at a tech consulting company with 501-1,000 employees
Consultant
My 30 tips for building a Microsoft BI solution, Part IV: Tips 16-20
A note about the SSAS tips: Most tips are valid for both dimensional and tabular models. I try to note where they are not.

#16: Implement reporting dimensions in your SSAS solution

Reporting dimensions are constructs you use to make the data model more flexible for reporting purposes. They usually also simplify the management and implementation of common calculation scenarios. Here are two examples:

  • A common request from users is the need to select which measure to display for a given report in Excel through a normal filter. This is not possible with normal measures / calculations. The solution is to create a measure dimension with one member for each measure. Expose a single measure in your measure group (I frequently use “Value”) that you assign the correct measure to in your MDX script / DAX calculation based on the member selected in the measure dimension. The most frequently used measure should be the default member for this dimension. By doing this you not only give the users what they want, but you also simplify a lot of calculation logic such as the next example.
  • Almost all data models require various date related calculations such as year to date, same period last year, etc. It is not uncommon to have more than thirty such calculations. To manage this effectively create a separate date calculation dimension with one member for each calculation. Do your time based calculations based on what is selected in the time calculation dimension. If you implemented the construct in the previous example this can be done generically for all measures that you have in your measure dimension. Here is an example for how to do it tabular. For dimensional use the time intelligence wizard to get you started.

#17: Consider creating separate ad-hoc and reporting cubes

Analysis Services data models can become very complex. Fifteen to twenty dimensions connected to five to ten fact tables is not uncommon. Additionally various analysis and reporting constructs (such as a time calculation dimensions) can make a model difficult for end users to understand. There are a couple of features that help reduce this complexity such as perspectives, role security and default members (at least for dimensional) but often the complexity is so ingrained in the model that it is difficult to simplify by just hiding measures / attributes / dimensions from users. This is especially true if you use a “reporting cube” which I talked about in tip #16. You also need to consider the performance aspect of exposing a large, complex model to end user ad-hoc queries. This can very quickly go very wrong. So my advice is that you consider creating a separate model for end users to query directly. This model may reduce complexity in a variety of ways:

  • Coarser grain (Ex: Monthly numbers not daily).
  • Less data (Ex: Only last two years, not since the beginning of time).
  • Fewer dimensions and facts.
  • Be targeted at a specific business process (Use perspectives if this the only thing you need).
  • Simpler or omitted reporting dimensions.

Ideally your ad-hoc model should run on its own hardware. Obviously this will add both investment and operational costs to your project but will be well worth it when the alternative is an unresponsive model.

#18: Learn .NET

A surprisingly high number of BI consultants I have met over the years do not know how to write code. I am not talking about HTML or SQL here but “real” code in a programming language. While we mostly use graphical interfaces when we build BI solutions the underlying logic is still based on programming principles. If you don’t get these, you will be far less productive with the graphical toolset. More importantly .Net is widely used in Microsoft based solutions as “glue” or to extend the functionality of the core products. This is especially true for SSIS projects where you quite frequently have to implement logic in scripts written in C# or VB.net but also applies to most components in the MS BI stack. They all have rich API’s that can be used for extending their functionality and integrating them into solutions.

#19: Design your solution to utilize Data Quality Services

I have yet to encounter an organization where data quality has not been an issue. Even if you have a single data source you will probably run into problems with data quality. Data quality is a complex subject. Its expensive to monitor and expensive to fix. So you might as well be proactive from the get-go. Data Quality Services is available in the BI and Enterprise versions of SQL Server. It allows you to define rules for data quality and monitor your data for conformance to these rules. It even comes with SSIS components so you can integrate it with your overall ETL process. You should include this in the design stage of your ETL solution because implementing it in hindsight will be quite costly as it directly affects the data flow of your solution.

#20: Avoid SSAS unknown members

Aside from the slight overhead they cause when processing, having unknown members means that your underlying data model has issues. Fix them there and not in the data model.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
it_user7845 - PeerSpot reviewer
Consultant at a tech consulting company with 501-1,000 employees
Consultant
My 30 tips for building a Microsoft BI solution, Part II: Tips 6-10

# 6: Use a framework for your Integration Services solution(s) because data is evil

I know how it is. You may have started your ETL project using the SQL Server import / export wizard or you may have done a point integration of a couple of tables through data tools. You might even have built an entire solution from the ground up and been pretty sure that you thought of everything. You most likely have not. Data is a tricky thing. So tricky in fact that I over the years have built up an almost paranoid distrust against it. The only sure thing I can say is that it will change (both intentionally and unintentionally) over time and your meticulously crafted solution will fail. Best case scenario is that it simply will stop working. Worst case scenario is that this error / these errors have not caused a failure technically but have done faulty insert / update / delete operations against your data warehouse for months. This is not discovered until you have a very angry business manager on the line who has been doing erroneous reporting up the corporate chain for months. This is the most likely scenario. A good framework should have functionality for recording data lineage (what has changed) and the ability to gracefully handle technical errors. It won’t prevent these kinds of errors from happening but it will help you recover from them a lot faster. For inspiration read The Data Warehouse ETL Toolkit.

#7: Use a framework for your Integration Services solution(s) to maintain control and boost productivity

Integration Services is a powerful ETL tool that can handle almost any data integration challenge you throw at it. To achieve this it has to be very flexible. Like many of Microsoft’s products its very developer oriented. The issue with this is that there are as many ways of solving a problem as there are Business Intelligence consultants on a project. By implementing a SSIS framework (and sticking with it!) you ensure that the solution handles similar problems in similar ways. So when the lead developer gets hit by that bus you can put another consultant on the project who only needs to be trained on the framework to be productive. A framework will also boost productivity. The up-front effort of coding it, setting it up and forcing your team to use it is dwarfed by the benefits of templates, code reuse and shared functionality. Again, read The Data Warehouse ETL Toolkit for inspiration.

#8: Test and retest your calculations.

Come into the habit of testing your MDX and DAX calculations as soon as possible. Ideally this should happen as soon as you finish a calculation, scope statement, etc. Both MDX and DAX get complicated really fast and unless you are a Chris Webb you will loose track pretty quickly of dependencies and why numbers turn out as they do. Test your statements in isolation and the solution as a whole and verify that everything works correctly. Also these things can have a severe performance impact so remember to clear the analysis services cache and do before and after testing (even if you have cache warmer). Note that clearing the cache means different things to tabular and dimensional as outlined here.

#9: Partition your data and align it from the ground up.

Note that you need the enterprise version of SQL Server for most of this. If you have large data sets you should design your solution from the ground up to utilize partitioning. You will see dramatic performance benefits from aligning your partitions all the way from your SSIS process to your Analysis Services cubes / tabular models. Alignment means that if you partition your relational fact table by month and year, you should do the same for your analysis services measure group / tabular table. Your SSIS solution should also be partition-aware to maximize its throughput by exploiting your partitioning scheme.

#10: Avoid using the built-in Excel provider in Integration Services.

I feel a bit sorry for the Excel provider. It knows that people seeing it will think “Obviously I can integrate Excel data with my SSIS solution, its a MS product and MS knows that much of our data is in Excel”. The problem is that Excel files are inherently unstructured. So for all but the simplest Excel workbooks the provider will struggle to figure out what data to read. Work around this by either exporting your Excel data to flat files or look at some third party providers.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
it_user4014 - PeerSpot reviewer
it_user4014Developer at a tech consulting company with 51-200 employees
Consultant

Hi Peter !

Let's discuss from point 6 to 10 in here;

#6: I totally agree with you, never trust or undermine the fact that data will be coming in the format as suggested by the ETL Team. There is always a possibility of wrong data types, bad data, switched data, all kind of data to be appear as source data, so as a ETL developer you need to make sure you put data validation checks for each and every case you have in mind. Still you might miss out some cases. The good thing about MS SQL Server 2012 is now they have provided the TRY_CAST function which can be used to avoid casting errors. A craftily designed framework would be handy to have where ETL developers need to know about the framework, so invest on building a framework which can be used across multiple ETL projects. I strongly agreed with your point that data is evil and sometimes is such hard to load single files which have all kind of these bad data validation errors.

#7: Definitely, by having a framework you can save time by not spending your time on writing same piece of code again and again. While designing your ETL, please beware of the data types which you are using, for some people there is slight difference between Float, Decimal & Numeric data type but if you have been writing ETL solutions you know what kind of a mess it would create if you don\t pick up the right data type, same for Date & DateTime data types.

#8: MDX calculation needs to be tested again and again which is called regression testing. All these years i have been building end to end BI solutions, which involves writing complex ETL's, it is like impossible for QA agents to identify the problem in calculations, so while you assign someone task of verifying MDX calculation or just verifying the BI Dashboard output, make sure he has enough knowledge of Data Analysis. He would be proficient enough to query the database and be able to browse the Cube and also perform cross Data Verification. As a BI Consultant I invest much time in training my QA agents to be able to perform this regression testing.

#9: Partition is always a good practice when you are sure that data influx might going to be run into billions of rows. But if you are designing a BI Solution for an organization which might not have this big amount of data under Analysis then you may avoid partitioning.

#10: Strongly recommended, built in Excel provider is going to make you crazy really soon by having it own data type sensing ability, although you can try to turn it off by setting the property of Type Guess = 0, but there are so many problem with excel provider it always sense the data types for each source column.

One thing I need to mention, is carefully designed ETL with customized logging process can save you tons of time while analyzing the cause of data failure. And it's always good to have the ETL logging process which can be shared with your client as well.

Regards,
Hasham Niaz

it_user7845 - PeerSpot reviewer
Consultant at a tech consulting company with 501-1,000 employees
Consultant
My 30 tips for building a Microsoft BI solution, Part I: Tips 1-5

Having worked with Microsoft BI for more than a decade now here are the top 30 things I wished I knew before starting development of a solution. These are not general BI project recommendations such as “listen to the business” or “build incrementally” but specific lessons I have learned (more often than not the hard way) designing and implementing Microsoft based Business Intelligence solutions. So here are the first five:

#1: Have at least one SharePoint expert on the team.

The vast majority of front-end BI tools from Microsoft are integrated with SharePoint. In fact, some of them only exist in SharePoint (for instance PerformancePoint). This means that if you want to deliver Business Intelligence with a Microsoft solution, you will probably deliver a lot of it through SharePoint. And make no mistake: SharePoint is very complex. You have farms, site collections, lists, services, applications, security… the list goes on and on. To make matters worse you may have to integrate your solution with an already existing SharePoint portal. There is a reason there are professional SharePoint consultants around, so use them.

#2: Do not get too excited about Visio integration with Analysis Services.

Yes, you can query and visualize Analysis Services data in Visio. You may have seen the supply chain demo from Microsoft which looks really flashy. You might think about a hundred cool visualizations you could do. Before you spend any time on this or start designing your solution to utilize it, try out the feature. While its a great feature, it requires a lot of work to implement (at least for anything more than trivial). Also, it (currently) only supports some quite specific reporting scenarios (think decomposition trees).

#3: Carefully consider when to use Reporting Services.

Reporting Services is a great report authoring environment. It allows you to design and publish pixel perfect reports with lots of interactivity. It also provides valuable services such as caching, subscriptions and alerts. This comes at a cost though. The effort needed to create SSRS reports is quite high and needs a specialized skill set. This is no end user tool. There are also issues with certain data providers (especially Analysis Services). But if you need any combination of multiple report formats , high scalability (caching, scale-out), subscriptions or alerts, you should seriously consider Reporting Services.

#4: Use Nvarchar / unicode strings throughout the solution.

Unless you live in the US (and are pretty damn sure you will never have “international data”) use unicode. Granted, varchars are more efficient but you do not want to deal with collations / codepages. Ever. Remember this is not only an issue with the database engine but also with other services such as Integration Services.

#5: Check if it exists on codeplex.

Do not build anything before you have checked codeplex. Chances are someone has already done the same or something similar that can be tweaked. If you are skeptical of including “foreign” code in your solution (like me) use the codeplex code as a cheat-sheet and build your own based on it. There is a lot stuff there including SSAS stored procedures, SSIS components and frameworks and much more.

Disclosure: The company I work for is a Microsoft Partner
[Syndicated from www.peterkollerbi.wordpress.com]

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
it_user4014 - PeerSpot reviewer
it_user4014Developer at a tech consulting company with 51-200 employees
Consultant

Hi Peter !

Let’s talk about the difficulties you have faced during your BI career;

#1: I do agree with you partially, that having a dedicated Share Point resource would be handy because you might be going to run into performance or security issues somewhere along the project, but my idea is to have a Single Share Point resource which can be share between multiple BI projects. Because from my experience what i have seen is, it’s not that much hard to configure the Performance Point Services, Power View & Reporting Services on Share Point. With some help BI consultant can do this on his own, and as a BI consultant one should take the ownership of the project and try to resolve issues on his own. This will give them more of a learning curve and hands on other front end tools. You can't always rely on someone else to fix the issues for you.

#2: I haven't yet to see any BI Consulting firm delivering their solutions through Microsoft Visio integration with SSAS. All I could say is Microsoft has done investment in lot of tools to see which tool become a real contender for replacing all other BI stack, or get most popular response from the market. This is more of a market strategy to see which product / tool gets more response.

#3: SSRS has been the greatest thing Microsoft has delivered for Reporting apart from PPS lately. I still feel there is still lot of areas where SSRS need to be improved, like SSRS don't have alters, or its very restricted when it comes to dynamic dashboard or interactive reporting. If you have seen PPS, as a BI Consultant i want to show my client how much interactive my BI Solution is. Still there are areas like you mentioned Subscription & caching are great from SSRS. Additionally SSRS is designed to keep in mind that developers will be using it for building reports. For End User Microsoft Excel is best they can have where they can slice & dice and with Power Pivot included there is a lot End User can do with SSAS Cube.

#4: Use navarchar / varchar will always be a debate between developers. It's more of a choice thing. But if you are developing a BI Solution which is going to be used across multiple regions, consider using nvarchar but keep in mind the overhead of extra storage that you will be paying as a developer.

#5: CodePlex is a great community, but most of the clients want things to be customized and be their own proprietary. This is what we are paid for as a BI Consultant to provide them solution which fulfills organization needs and you might agree every management has different needs. But still good idea to look on CodePlex and peer sites for reference.

When choosing between tools, there is no single tool which can meet all of your customer requirements, so keep in mind that you might be using some tool which you have rejected in your initial analysis, and believe me this will save you big time facing problem against clients, because one you communicate that we won't be using this tool, and then you go back and say now we are providing this particular report using the tool which you have discarded in your earlier review.

So my point is as a BI Consultant, one needs to be flexible, adaptive & responsive to be a successful BI Consultant.

Regards,
Hasham Niaz

Carlos Mardinotto Junior - PeerSpot reviewer
BI Expert at a financial services firm with 1,001-5,000 employees
Real User
Top 5
Fast and user friendly
Pros and Cons
  • "You don't need much support with Microsoft Power BI because it has such a large base of users who can answer your questions on their forums. There are also many video tutorials and webinars available online that offer solutions to whatever problems you may have."
  • "Microsoft is behind IBM when it comes to security features."

What is our primary use case?

I've used it for work I did with three clients in the Brazilian banking sector: 
Bank Bradesco, B&B Bank, and the Regional Bank of Brazil.

What is most valuable?

It's very fast and user-friendly.

What needs improvement?

Microsoft is behind IBM when it comes to security features.

For how long have I used the solution?

I've used Microsoft Power BI for about three years with different clients.

How are customer service and support?

You don't need much support with Microsoft Power BI because it has such a large base of users who can answer your questions on their forums. There are also many video tutorials and webinars available online that offer solutions to whatever problems you may have.

Which solution did I use previously and why did I switch?

I use Cognos Analytics 11 for some projects, but many of my clients prefer Microsoft Power BI because it is less expensive.

Which deployment model are you using for this solution?

On-premises
Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
Software developer
Real User
Stable solution, but interface could be improved
Pros and Cons
  • "The stability is good."
  • "The interface could be improved."

What needs improvement?

The interface could be improved.

For how long have I used the solution?

I have been using this solution for three years.

What do I think about the stability of the solution?

The stability is good.

What do I think about the scalability of the solution?

The scalability is good.

What other advice do I have?

I would rate this solution 8 out of 10.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
Consultant en Business Intelligence
Consultant
Free software which is very intuitive and easy to use
Pros and Cons
  • "Very intuitive and easy to use."
  • "Capacity could be improved."

What is our primary use case?

Our primary use case of this solution is as a reporting tool. We implement it for our clients. I'm a consultant in business intelligence and we are customers of Microsoft BI.

What is most valuable?

I like this product because it's a free software, very intuitive and very easy to use.

What needs improvement?

The capacity of the solution could be improved. If you don't need all the data it offers then don't download it because the software slows down. 

For how long have I used the solution?

I've been using this product for the last year. 

What do I think about the stability of the solution?

It's a stable solution. 

How was the initial setup?

The initial setup is quite straightforward. 

What other advice do I have?

I rate this solution an eight out of 10. 

Which deployment model are you using for this solution?

Public Cloud
Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
Buyer's Guide
Download our free Microsoft Power BI Report and get advice and tips from experienced pros sharing their opinions.
Updated: May 2024
Buyer's Guide
Download our free Microsoft Power BI Report and get advice and tips from experienced pros sharing their opinions.