The Customer Data and Analytics (CDnA) team at Microsoft enables strategic data insights that shape the entire organization, from high-level leadership policies to small product decisions. At its core, CDnA creates and monitors indicators, known as “Power Metrics,” for some of the key divisions and businesses in Microsoft. CDnA delivers Power BI dashboards to several teams, including the Windows and Devices Group (WDG), Office, Bing, Cortana and Microsoft CEO Satya Nadella’s Senior Leadership Team (SLT). The SLT leverages the Power BI dashboards to monitor progress on strategic initiatives at the company.
Both CDnA and the Power BI product have mutually benefited from a close relationship since the Power BI public preview in 2015. In fact, the early and ongoing input from this internal Microsoft team and its users has helped make Power BI the “enterprise ready”, robust, and feature-rich platform it…
Power BI was first made generally available in July 2015. Since then, Microsoft’s driving vision for Power BI has been to enable users across roles, disciplines and industries to sign up for the service in seconds and get business value by drawing insights from their data within minutes. Microsoft’s relentless focus to drive access to insights at scale has helped Power BI reach more than 200,000 organizations, and the breadth of this global community continues to directly contribute to Power BI’s evolution – to date more than 400 features have been added to the service as the result of input from more than 50,000 users.
Introducing Power BI Premium
Today Microsoft is taking the next step in its commitment to empower people and organizations with access to critical intelligence: introducing Power BI Premium. Power BI Premium builds on the existing Power BI…
Introduction – Part 2
Part 1 of this post focused on the first category of how the Analysis Services Multidimensional (MD) duplicate attribute key error can arise. It reflects the perspective of an atomic attribute – an attribute having no attribute relationships other than with the dimension key attribute.
This post focuses on the second category of this error, which can arise when an attribute does have attribute relationships besides the (required) one with the dimension key attribute.
As is well known, creating attribute relationships is a best practice in Analysis Services MD for improving query performance. The most common reason attribute relationships are created is to support a natural hierarchy – so your data model has to have one for this to arise. The next most common reason is to support attribute properties, such as a sort order – i.e. when the…
Managing the editable properties of your custom objects in SQL Server Integration Services (SSIS) is a great way to improve their usability, but how can you? By properties, I mean the common fields exposed on the Properties tool window in Visual Studio, any time you’re working with a visual designer, and which you’ve probably used any time you wanted to make a precise change, or a quick change.
In SSIS, you can create your own class to handle all of the following types:
Data Flow / Pipeline Components
Control Flow Tasks
For Each Enumerators (for the for each loop task)
For the most part, these custom classes can be directly modified when editing SSIS packages in Visual Studio, and so anything properties you expose on the class can be edited right from Visual Studio without opening up any new UIs. For simple objects especially, these can…
You’re using the new One Designer cross-versioning in SQL Server Integration Services, and everything breaks when you try to downgrade to SQL Server 2012. The little icon that indicates that everything has gone wrong shows up,
or when you try to interact with any custom components or tasks you get the following error, or something similar:
Now, there are three things worth checking:
Are your UpgradeMapping files set up correctly? They should point to a valid strong-named assembly, and use the same alias, for both versions of SQL Server that you’re attempting to deploy to. If not, fix this issue first and try again.
After migrating your custom objects, navigate to the UserComponentTypeName property (for PipelineComponents) or to the CreationName field of the corresponding DTS:Executable in the package XML.
These should contain either the alias (typically the qualified name of the class, i.e. Sample.SSIS.CustomTask),
or the strong-name associated with…
Historical reporting is common enough, but what are some ways to slice through your historical data in SQL Server Analysis Services (SSAS) Tabular? Tracking and including historical data or Slowly Changing Dimensions (SCDs) is common enough in data warehousing, and Business Intelligence as a whole, but putting it into an easily-digested form is always a new set of issues.
In this post, I will walk through some strategies we’ve used for integrating historical data into reporting and analytics solutions with SSAS Tabular, as well as some ways you can restrict this information to give your users a cleaner experience.
At Microsoft leaders across the company have committed to fostering a data culture and are often asked how to drive this type of change. An internal program designed to drive adoption of Power BI internally has been at the center of this cultural shift.
Through a combination of training, a comprehensive communication strategy, and user-centric features and design, BI@Microsoft drives adoption of Microsoft data culture with Power BI. This program enables Microsoft employees to use data visualization, business intelligence and statistical analysis in their day-today jobs. Employees were previously limited by a mindset that they didn’t have the technical skills or time necessary to model data. Or they thought the data was not available or accessible. The BI@Microsoft program has proven that data driven decisions are possible at every level of the organization, while also creating loyal fans that influence their…
With bidirectional filtering in SQL Server Analysis Services (SSAS) Tabular 2016, it’s easier than ever to build many-to-many relationships into your model. But what are some ways to avoid trouble when building them? This post covers two topics: (1) a scenario that can cause Tabular to match completely unrelated groups across a many-to-many relationship, and (2) some strategies for automating your bridge tables (including where they might need some brains!). If you’re already comfortable with this topic, and just want to see some DAX, feel free to skip right to the calculated bridge tables.
Otherwise, let’s say you’ve built up your many-to-many relationship based on a bridge or relationship table someone generated in the database, and have measures based on one or both of the tables connected by the bridge. When looking at the results, you see that a number of the results…
When I first wrote custom objects for SQL Server Integration Services (SSIS), distributing my DLL for use and for installation on servers seemed troublesome. Of course, I had to set up an installer. But after the deprecation of the normal setup/installer project included with Visual Studio, which tool could be used that would be easily shared and maintained, and still meet all of the needs for distributing the custom SSIS objects?
Ultimately, I chose the WiX Toolset, as it is already integrated with the Visual Studio gallery and makes a simple job of product versioning, Global Assembly Cache (GAC) / assembly installation, and install path selection. In this tutorial, I will walk through the construction of a skeleton custom SSIS Task and a corresponding WiX installer, that can locate the correct version of SQL Server, install to both the DTS folders and…
Defining relationships is central to data analytics, but how can you use SQL Server Analysis Services (SSAS) Tabular to keep them from being overlooked? Often, you can run into the situation where you really just need to say what is missing from a data set or report. Usually, you can work around this conflict of expectations versus reality by building a factless fact. This type of fact table is really just a list of relationships, where the “fact” is really the existence of the row.
Typically, this type of table is built directly into a data warehouse, and helps to materialize calculations that would otherwise be too expensive or awkward to calculate. Think about the steps that you might need to take in order to highlight gaps in data (such as a student missing class), if you were not provided a tidy checklist of…