Tag Archives: Windows

New File Share Witness Feature in Windows Server 2019

This blog discusses a new feature in the upcoming release of Windows Server 2019.  Currently, Windows Insiders receive current builds of Server 2019.  We urge you to become an Insider and play a part in making Windows Server 2019 the best that it can be.  To do so, go to this link and sign up.

One of the quorum models for Failover Clustering is the ability to use a file share as a witness resource.  As a recap, the File Share Witness is designated a vote in the Cluster when needed and can act as a tie breaker in case there is ever a split between nodes (mainly seen in multi-site scenarios).

I don’t want to go through the list of all the requirements but do want to focus on one in particular.

  • The Windows Server holding the file share must be domain joined and a part of the same forest.

The reason for this is that Failover Cluster utilizes Kerberos for the Cluster Name Object (CNO) to connect and authenticate the share.  Therefore, the share must reside on a domain member that is in the same active directory forest.

There are scenarios where this is not possible.  These scenarios are:

  1. No or extremely poor Internet access because of a remote location, so cannot use a Cloud Witness
  2. No shared drives for a disk witness. This could be a Storage Spaces Direct hyper-converged configuration, SQL Server Always On Availability Groups (AG), Exchange Database Availability Group (DAG), etc.  All of which do not utilize shared disks.
  3. A domain controller connection is not available as the cluster has been dropped behind a DMZ
  4. A workgroup or cross-domain cluster where there in no active directory CNO object

We have had a lot of requests over the years for how to get around these scenarios and there wasn’t a good story for it.  Well, I am here to tell you we listened, and we produced something better than a workaround.

In comes Windows Server 2019 and the new File Share Witness feature to the rescue.

We can now create a File Share Witness that does not utilize the CNO, but in fact, simply uses a local user account on the server the FSW is connected to.

This means NO kerberos, NO domain controller, NO certificates, and NO Cluster Name Object neededWhile we are at it, NO account needed on the nodes.  Oh my!!

The way it works is that on the Windows Server you wish to place the FSW, create a local (not administrative) user account, give that local account full rights to the share, connect the cluster to the share.

Let’s take for example, I have a server called SERVER and a share called SHARE I want to utilize as the File Share Witness.  For creating this type of File Share Witness can only be done through PowerShell.  The steps for setting this up are:

  1. Log on to SERVER and create a local user account (i.e. FSW-ACCT)
  2. Create a folder on SERVER and share it out
  3. Give the local user account (FSW-ACCT) full rights to the share
  4. Log in to one of your cluster nodes and run the PowerShell command:

Set-ClusterQuorum -FileShareWitness \SERVER\SHARE -Credential $ (Get-Credential)

  1. You will be prompted for the account and password for which you should enter SERVER\FSW-ACCT and the password.

Viola!!  You are done as we just took care of all the above scenarios.  The cluster will keep the name and password encrypted and not accessible by anyone.

Just as an FYI, the original demo of this feature was using a USB thumb drive holding the share plugged into an SMB router.  Not that we would recommend doing it, but does show how far you could take this.

Please try out this new feature and provide feedback through the Feedback Hub app.

Thanks,
John Marlin
Senior Program Manager
High Availability and Storage

Let’s block ads! (Why?)

Clustering and High-Availability

Power BI Feature Spotlight: Using Bookmark Buttons to Create Pop-Up Windows

Hello P3 Nation, welcome back to another exciting month of Power BI updates! This month’s release saw quite a few new updates and enhancements to the Power BI Universe. It’s like Christmas each month for us here at PowerPivotPro, where we get to open the latest updates article and see what the Microsoft Santa brought us this month. Data enthusiasts like us (and you!) can easily get swept up in all the bells and whistles features each month.

That’s where we come in. We’ll pass on to you our favorite new features each month. Before I discuss my favorite feature(s) this month, let me first give a nod to the honorable mention updates. One really useful update was the new DAX function COMBINEVALUES(). It’s a great move forward for Direct Query Models where multi-key relationships weren’t part of query folding previously…but now they can be! It’s also a great way to write a cleaner version of a nested CONCATENATE() DAX function. More about that feature can be read here.

Alright, let’s get to the good stuff…namely the important feature(s) this month! Specifically, there’s been some really cool updates to the Bookmarks Feature. Bookmarks have been around for about half a year now and started out as a way to add a button that acted as a slicer macro. Every few months it kept getting cooler and cooler though! A few months later they added the ability for any bookmarks to show/hide objects in the report! In fact, we wrote an article in December that covered those features!

Button Button thumb 2 Power BI Feature Spotlight: Using Bookmark Buttons to Create Pop Up WindowsFast forward to today, and they added another set of key features to Bookmarks. The first one I want to discuss is the inclusion of built-in buttons. Now those of us who’ve been using bookmarks the last 3-6 months probably know that you’ve been able to add “buttons” with bookmarks since day one of its release. While that’s true, there were no button templates in Power BI Desktop. Most people found clever ways to make buttons in PowerPoint, Photoshop, or other image creation tool. It was EXTRA WORK to make them, plus it required some artistic talent, which not all of us have!
Power BI Button List thumb 1 Power BI Feature Spotlight: Using Bookmark Buttons to Create Pop Up WindowsThankfully Microsoft added a BUTTON button on the ribbon, making it MUCH easier to add them to a report. While it doesn’t include every type of button you’d potentially want to use when designing bookmarks, it certainly covers most of the bases. Most scenarios like navigation, information, or help are covered with the built-in buttons. The best part about these is that you can utilize them to make a Power BI report seem more and more like a webpage with pop-up windows, actions, and hidden parts!

In fact, I’m going to show you how to utilize the new button feature to add an information pop-up window. Imagine a scenario where you’d want to include some information, glossary, instructions, or other miscellanies text in a report. Historically, I’d put that on a secondary Information / Glossary page. Otherwise, it’d take up TOO MUCH ROOM on my report! However, with Bookmark buttons, you can create a small button to show/hide an information pop-up window!

Example Report with an information button (Zoomed Image For Callout):

Enlarged section of PBI Report Bookmark Button thumb 1 Power BI Feature Spotlight: Using Bookmark Buttons to Create Pop Up Windows

Clicking the information button brings up a text box, clicking the back button makes it hidden again (Zoomed Image For Callout):

Enlarged section of Information Box thumb Power BI Feature Spotlight: Using Bookmark Buttons to Create Pop Up Windows

It’s all well and good to see the result, but I know you want to see how to make it! So let’s get down to it. The first thing you’ll want to do is add the new information button on your page. Navigate to the button drop-down on the home ribbon and select the Information button. This will add a new button object to your page (see below).

Newly created information button:Info Box Step 1 Add Button thumb Power BI Feature Spotlight: Using Bookmark Buttons to Create Pop Up Windows

After you’ve created the information button, you can navigate to the View Ribbon to turn on the Bookmarks and Selection Pane. These will be needed to create the bookmarks for showing/hiding the information box that we’re creating. Next thing to do is to copy/paste the information button in the same spot where the current one is. When the text box is visible, this is going to be the back button! Also, the reason we’re copying/pasting is to ensure that the new button is the same size as the information button. To change to the back button, go the format settings on the newly copied icon, navigate to the Icon Settings, and change Shape to Back.

Changing the Icon from Information to Back:

Change to Back Button thumb Power BI Feature Spotlight: Using Bookmark Buttons to Create Pop Up Windows

Now it’s IMPORTANT the order these buttons are in regarding which is in front vs. back. You don’t want objects to accidentally be on top or behind each other when designing this stuff. You can change the object order by A) selecting Bring Forward / Send Backward under Visual Tools Ribbon, or B) use the up/down arrow on the Selection Pane (see below for both).

Visual Tools Ribbon OR Selection Pane to access object order:

Button Order thumb Power BI Feature Spotlight: Using Bookmark Buttons to Create Pop Up Windows

Next step will be to create the text box we’ll use to contain the information, glossary, etc.… There are a few steps involved in this one, so I’ll break it down as much as possible.

  1. Navigate to the home tab and add a new text box. The text box button is right next to the BUTTON button in the Insert section.
  2. In the text box options, turn on the background and set the transparency to 10%. The background color makes the text easier to read, and a slight transparency makes it seem MORE like a pop-up window! I typically just leave the color as White.
  3. Turn on Text Box Border
  4. MAKE SURE the text box is BELOW the back button on the Selection Pane! Otherwise, you’ll encounter issues if you ever click on the text box.
  5. Put any information you want in the text box. Added BONUS, you can hyperlink the text to a URL or Website too! I have my name link to the About Me page on PowerPivotPro.com

Text box setup instructions:

Setup Instructions For Text Box thumb 1 Power BI Feature Spotlight: Using Bookmark Buttons to Create Pop Up Windows

You can even add a bit of flare and put an image, company logo, etc… “inside” the pop-up window as well. For this example, I’ll go ahead and throw in a picture of yours truly, and the PowerPivotPro logo for good measure. The add image button is located right next to the Text Box button. Once both of those images are in there, I’ll now have something that looks like what you see below.

Example of the completed text box.  Notice I made sure the back button is on top of the other objects in the Selection Pane:

Information Box with Images Logo thumb Power BI Feature Spotlight: Using Bookmark Buttons to Create Pop Up Windows

After we’ve added everything to our “pop-up window” we’ll need to setup the Bookmarks. As a refresher, bookmarks can control multiple things. They can control both Data (E.g., slicers, filters, etc…) AND they can control Display (E.g., things showing/hidden on the Selection Pane). Now what we want to do is create two bookmarks, one that will make the text box pop up, and one to make the text box disappear. Let’s start with the bookmark that will be used to make the text box pop up! Here are the steps below:

  1. First, hide the InformationButton on the Selection Pane if our text box is visible (including the back button). We don’t want that other button showing in the background.
  2. Click Add on the Bookmarks Pane, and rename the Bookmark to something that mentions Info Showing.
  3. Make sure Data is NOT CHECKED! If checked, then it remembers your slicer/filter selection. We only want this bookmark to control what is visible. wlEmoticon smile Power BI Feature Spotlight: Using Bookmark Buttons to Create Pop Up Windows

Info Showing Bookmark setup instructions:

Create Info Showing Bookmark thumb Power BI Feature Spotlight: Using Bookmark Buttons to Create Pop Up Windows

The Info Hidden Bookmark is the almost the exact same steps as above, except the Selection Pane is reversed. It’ll be the same steps 1 through 3, but the only object you want visible (of the objects associated with this pop-up window) is the Information Button. Here are the steps below:

  1. First, hide everything EXCEPT FOR the InformationButton on the Selection Pane.
  2. Click Add on the Bookmarks Pane, and rename the Bookmark to something that mentions Info Hidden.
  3. Make sure Data is NOT CHECKED! If checked, then it remembers your slicer/filter selection. We only want this bookmark to control what is visible. wlEmoticon smile Power BI Feature Spotlight: Using Bookmark Buttons to Create Pop Up Windows

Info Hidden Bookmark setup instructions:

Create Info Hidden Bookmark thumb Power BI Feature Spotlight: Using Bookmark Buttons to Create Pop Up Windows

Now ALL that’s left, is to set up the buttons to associate them with the Bookmarks we just created! If you highlight the information button and then go to the Visualization Pane, there’s an option to set the Action. You’ll turn that on, set the type to Bookmark and set it to Info Showing. The same will be done to the Back Button, except that one will be set to Info Hidden. Once both are set up, you can test the way they’ll work once published, by holding the Control Key and clicking the buttons. It’s how they’ll work on Power BI.com, except when published you WON’T have to hold control.

Associating the Information Button with the Info ShowingBookmark:

Turn on Action For Button thumb Power BI Feature Spotlight: Using Bookmark Buttons to Create Pop Up Windows

Associating the Back Button with the Info Hidden Bookmark:

Turn on Action For Button Hidden thumb Power BI Feature Spotlight: Using Bookmark Buttons to Create Pop Up Windows

There you have it folks, your very own web-like pop-up window! Each time you a user clicks the Info Button, the pop-up window will appear, and clicking the back button will make it disappear…You can go ahead and add “web” designer to your LinkedIn now! wlEmoticon winkingsmile Power BI Feature Spotlight: Using Bookmark Buttons to Create Pop Up Windows

You’ll find the embedded Power BI report below. As with any of my reports, I love to throw in extra features in them. So if you’re curious about how I built the report, I’ve provided the article links to ALL the included features. Even better, now that we have these Bookmark Buttons I can include the links directly IN THE REPORT! Thanks for reading, and I’ll see you next time!

My Top 5 Power BI Practices: Transforming Good to GREAT: Article talks about a lot of the Formatting and Design Practices you see above, plus the DAX Formulas table.

Power BI: Transforming Good to GREAT: Video that is an updated discussion & walkthrough of the article above. Discusses Formatting, Design Practices, What If Scenarios, and Forecasting.

DAX Reanimator Series: Moving Averages Controlled by Slicer (Part 1): Article talks about the What If Scenario. Specifically,  the FCST & BUD Adjustment Slicers in this articles report.

Using SELECTEDVALUES To Capture Slicer Selections: Article talks about the Slicer Selection Cards you see on the right side of the Tooltips page.

How To Connect One Slicer To All Your Power BI Reporting Pages: Article talks about the Slicer Landing Page I created, that filters other reporting pages.

Power BI Spotlight: New & Improved Tooltips: Article talks about the Mini Report Visual Tooltips. Currently, these new tooltips DON’T WORK in Embedded Reports, so you’ll only see them when you download the PBIX file here.

Video Version of This Article Available Below

I have a video version of the blog post for anyone interested. I know some of you learn better by watching, rather than reading. wlEmoticon smile 1 Power BI Feature Spotlight: Using Bookmark Buttons to Create Pop Up Windows

You can access that here

We like to think that is no accident.  We’re different.  First of a new breed – the kind who can speak tech, biz, and human all at the same time.

Want this kind of readily-absorbable, human-oriented Power BI instruction for your team? Hire us for a private training at your facility, OR attend one of our public workshops!

Let’s block ads! (Why?)

PowerPivotPro

Introducing a Modern Get Data Experience for SQL Server vNext on Windows CTP 1.1 for Analysis Services

Starting with SQL Server vNext on Windows CTP 1.1, Analysis Services features a modern connectivity stack similar to the one that users already appreciate in Microsoft Excel and Power BI Desktop. You are going to be able to connect to an enormous list of data sources, ranging from various file types and on-premises databases through Azure sources and other online services all the way to Big Data systems. You can perform data transformations and mashups directly into a Tabular model. You can also add data connections and M queries to a Tabular model programmatically by using the Tabular Object Model (TOM) and the Tabular Model Scripting Language (TMSL). The modern Get Data experience is adding exciting data access, transformation, and enrichment capabilities to Tabular models.

In sync with the SQL Server vNext CTP 1.1 release, the December release of SSDT 17.0 RC2 for SQL Server vNext CTP 1.1 Analysis Services (SSDT Tabular) ships with a preview of the modern Get Data experience. You don’t necessarily need to deploy a CTP 1.1 instance of Analysis Services because the Integrated workspace mode in SSDT Tabular relies on and includes the same Analysis Services engine. You can choose that for taking a quick look at the new connectivity stack. To learn more about Integrated workspace mode, check out the blog article Introducing Integrated Workspace Mode for SQL Server Data Tools for Analysis Services Tabular Projects (SSDT Tabular).

Note that this SSDT Tabular release for CTP 1.1 is an early preview for evaluating the vNext capabilities of Analysis Services delivered with the 1400 compatibility level. It is not supported in production environments. Also, only install the Analysis Services, but not the Reporting Services and Integration Services components. Note also that upgrades from previous SSDT versions are not supported. Either install on a newly installed computer or VM or uninstall any previous versions first. Also, only work with Tabular 1400 models using this preview version of SSDT. For Multidimensional as well as Tabular 1100, 1103, and 1200 models, use SSDT version 16.5.

After downloading and installing the December release of SSDT that supports SQL Server vNext CTP 1.1, create a new Analysis Services Tabular Project. In the Tabular Model Designer dialog, make sure you select the SQL Server vNext (1400) compatibility level. The modern Get Data experience is only available at compatibility level 1400. Tabular 1200 models continue to use the legacy connectivity stack available with SQL Server 2016 and previous releases.

TabularModelDesigner 1016x1024 Introducing a Modern Get Data Experience for SQL Server vNext on Windows CTP 1.1 for Analysis Services

Figure 1   Creating a Tabular 1400 model to use the modern Get Data experience

Note: If you are using a previous version of Analysis Services as your workspace server or a previous version of SSDT Tabular in integrated workspace mode, you will not be able to create Tabular 1400 models or use the modern Get Data experience.

Once you’ve created a Tabular 1400 model, click the Model menu or right-click on Data Sources in Tabular Model Explorer and then click Import from Data Source. In Tabular Model Explorer, you can also click New Data Source. The difference between these two commands is that Import from Data Source leads you through both the definition of a data source and the import of data into one or multiple tables, while the New Data Source command only creates a new data source definition. In a subsequent step, you would right-click the resulting data source object and choose Import New Tables. Either way, the two commands display the same Get Data dialog box similar to the version you see in Power BI Desktop.

GetDataDlg 1024x674 Introducing a Modern Get Data Experience for SQL Server vNext on Windows CTP 1.1 for Analysis Services

Figure 2   Importing data into a Tabular 1400 model through the modern Get Data experience

Don’t be disappointed when you see a rather short list of data sources in the Get Data dialog box. CTP 1.1 is an early preview and exposes only a small set of tested options. Our plan for the SQL Server vNext release is to provide the same list of data sources that Power BI Desktop already supports, so the list will grow with subsequent CTPs.

The steps to create a data source are the same as in Power BI Desktop. However, an important difference is noticeable in the Query Editor window that appears when you import one or more tables from a data source. Apart from the fact that the Query Editor window features a toolbar consistent with the Visual Studio user interface, instead of a collection of ribbons, you might notice that the Merge Queries and Append Queries commands are missing. These commands will be available in a subsequent CTP when SSDT implements full support for shared queries.

queryeditor 1024x799 Introducing a Modern Get Data Experience for SQL Server vNext on Windows CTP 1.1 for Analysis Services

Figure 3   The Query Editor dialog box in SSDT Tabular when importing tables into a Tabular 1400 model

For now, each table you choose to import in the Navigator window translates into an individual query in the Query Editor window, which will result in a corresponding table in the 1400 model when you click on Import in the Query Editor toolbar. Of course, you can define data transformation steps prior to importing the data, such as split columns, hide columns, change data types, and so on. Or, click on the Advanced Editor button (right next to Import on the toolbar) to display the Advanced Editor window, which lets you modify the import query in an unconstrained way based on the M query language. You can resize and maximize the Query Editor and Advanced Editor windows if necessary. Just be careful with advanced query authoring because SSDT does not yet capture all possible query errors. For the CTP 1.1 preview, a better approach might be to create and test advanced queries in Power BI Desktop and then paste the results into the Advanced Editor window in SSDT Tabular.

advancedmashup 1024x643 Introducing a Modern Get Data Experience for SQL Server vNext on Windows CTP 1.1 for Analysis Services

Figure 4   The Advanced Editor window is available to define advanced M queries

If you choose to copy queries from Power BI Desktop, note how the Source statement in Figure 4 refers to the AS_AdventureWorksDW data source object defined in the Tabular model. Instead of referring to the source directly by using a statement such as Source = Sql.Databases(“<Name of SQL Server>”), M queries in Analysis Services can refer to a data source by using a statement such as Source = <Name of Data Source Object>. It’s relatively straightforward to adjust this line after posting a Power BI Desktop query into the Advanced Editor window.

Referring to data source objects helps to centralize data source settings for multiple queries and simplifies deployments and maintenance if data source definitions must be updated later on. When updating a data source definition, all M queries that refer to it automatically use the new settings.

Of course, you can also edit the M query of a table after the initial import. Just display the table properties by clicking on Table Properties in the Table menu or in the context menu of Tabular Model Explorer after right-clicking the table. In the CTP 1.1 preview, the Edit Table Properties dialog box immediately shows you the advanced view of the M query, but you can click on the Design button to launch the Query Editor window and apply changes more conveniently (see Figure 5). Just be cautious not to rename or remove any columns in the M source query at this stage. In the CTP 1.1 preview, SSDT doesn’t yet handle the remapping of source columns to table columns gracefully in tabular models. If you need to change the names, order, or number of columns, delete the table and recreate it from scratch or edit the TMSL code in the Model.bim file directly.

TableProperties 1024x674 Introducing a Modern Get Data Experience for SQL Server vNext on Windows CTP 1.1 for Analysis Services

Figure 5   Editing an existing table in a Tabular 1400 model via Table Properties

One very useful scenario for editing an M source query without changing column mappings revolves around the definition of multiple partitions for a table. For example, by using the Table.Range M function, you can define a subset of rows for any given partition. Table 1 and Figure 6 show a partitioning scheme for the FactInternetSales table that relies on this function. You could also define entirely different M queries. As long as a partition’s M query adheres to the column mappings of the table, you are free to perform any transformations and pull in data from any data source defined in the model. Partitioning is an exclusive Analysis Services feature. It is not available in Excel or Power BI Desktop.

Table 1   A simple partitioning scheme for the AdventureWorks FactInternetSales table based on the Table.Range function

Partition M Query Expression
FactInternetSalesP1 let

Source = AS_AdventureWorksDW,

dbo_FactInternetSales = Source{[Schema=”dbo”,Item=”FactInternetSales”]}[Data],

#”Kept Range of Rows” = Table.Range(dbo_FactInternetSales,0,20000)

in

#”Kept Range of Rows”

FactInternetSalesP2 let

Source = AS_AdventureWorksDW,

dbo_FactInternetSales = Source{[Schema=”dbo”,Item=”FactInternetSales”]}[Data],

#”Kept Range of Rows” = Table.Range(dbo_FactInternetSales,20000,20000)

in

#”Kept Range of Rows”

FactInternetSalesP3 let

Source = AS_AdventureWorksDW,

dbo_FactInternetSales = Source{[Schema=”dbo”,Item=”FactInternetSales”]}[Data],

#”Kept Range of Rows” = Table.Range(dbo_FactInternetSales,40000,20000)

in

#”Kept Range of Rows”

FactInternetSalesP4 let

Source = AS_AdventureWorksDW,

dbo_FactInternetSales = Source{[Schema=”dbo”,Item=”FactInternetSales”]}[Data],

#”Kept Range of Rows” = Table.Range(dbo_FactInternetSales,60000,20000)

in

#”Kept Range of Rows”

partitioning 1024x675 Introducing a Modern Get Data Experience for SQL Server vNext on Windows CTP 1.1 for Analysis Services

Figure 6   A simple partitioning scheme based on the Table.Range function

The modern Get Data experience is one of the key features of the 1400 compatibility level. Others are support for ragged hierarchies and detail rows. As long as your workspace server is at the CTP 1.1 level, you can upgrade Tabular 1200 models to 1400 in SSDT by changing the Compatibility Level in the Properties window, as illustrated in Figure 7. Just remember to take a backup of your Tabular project prior to the upgrade because the compatibility level cannot be downgraded afterwards.

upgrade 1024x1021 Introducing a Modern Get Data Experience for SQL Server vNext on Windows CTP 1.1 for Analysis Services

Figure 7  Upgrading a Tabular 1200 model to the 1400 compatibility level. Downgrade is not supported.

If you are planning to upgrade a Tabular 1103 (or earlier) model to 1400, make sure you upgrade first to the 1200 compatibility level. In the CTP 1.1 preview, SSDT is not yet able to upgrade these older models to 1400 directly. Like all other known issues, we plan to address this in one of the next preview releases. Also, be sure to see the Known Issues in CTP 1.1 section later in this article.

By default, SSDT creates modern data source definitions in Tabular 1400 models. On the other hand, if you upgrade a 1200 model, the existing data source definitions remain unchanged. For these existing data source definitions, known as provider data sources, SSDT currently continues to show the legacy user interface. However, the plan is to replace the legacy interface with the modern Get Data experience. Furthermore, importing new tables from an existing provider data source brings up the legacy user interface. Importing from a modern data source brings up the modern Get Data experience.

In the CTP 1.1 preview specifically, you can configure SSDT to enable the legacy user interface even for creating new data sources by setting a DWORD registry parameter called Enable Legacy Import to a value of 1, as in the following Registration Entries (.reg) file. This might be useful if you only want to try out certain tabular 1400 specific features such as detail rows without switching to modern data source definitions.  After setting the Enable Legacy Import parameter to 1, you can find additional commands in the data source context menu in Tabular Model Editor. You can use these commands to create and manage provider data sources (see Figure 8). Setting this parameter to any other value than 1 or removing it altogether disables these additional commands again.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server.0\Microsoft Analysis Services\Settings]

“Enable Legacy Import”=dword:00000001

legacyimport 1024x641 Introducing a Modern Get Data Experience for SQL Server vNext on Windows CTP 1.1 for Analysis Services

Figure 8   Enabling legacy data import commands in the CTP 1.1 preview release of SSDT Tabular

Regardless of the user interface, Table 2 lists the various data connectivity related objects that can coexist in a Tabular 1400 model. Ideally, you can mix and match any data source type with any partition source type, but there are limitations in the CTP 1.1 preview. For example, it should be possible to create a partition with an M expression over an existing provider data source. This does not work yet. Equally, it should be possible to have a partition with a native query over a modern data source. This can be accomplished programmatically or in TMSL, but processing such a query partition fails in SSDT with an error stating the data source is of an unsupported type for determining the connection string. This is an issue in the December 2016 release of SSDT Tabular, but processing succeeds in SSMS (see the Working with a Tabular 1400 Model in SSMS section later in this article). For the CTP 1.1 preview, we recommended you use query partitions over legacy (provider) data sources and M partitions over modern (structured) data sources. In a later preview release, you will be able to mix and match these resources more freely so you don’t have to create redundant data source definitions for models that contain both query and M partitions.

Table 2   Data Source and corresponding partition types supported in Tabular 1400 models

Level Data Source Type Partition Type Source Query Type
1200 and 1400 Provider Data Source Query Partition Native Query, such as T-SQL
1400 only Structured Data Source M Partition M Expression

SQL Server Management Studio (SSMS) does not yet provide a user interface for the modern Get Data experience, but don’t let that stop you from managing your Tabular 1400 models. Although you cannot yet change the settings of a modern data source in the Connection Properties dialog box or conveniently manage partitions for a table, you can script out the desired objects and apply your changes in the TMSL code (Be sure to also read the Working with TOM and TMSL section later in this article). Just right-click the desired object, such as a modern data source, click on Script Connection as, and then choose any applicable option, such as Create or Replace To a New Query Editor Window, as shown in Figure 9.

scriptout 1024x569 Introducing a Modern Get Data Experience for SQL Server vNext on Windows CTP 1.1 for Analysis Services

Figure 9   Scripting out a modern data source

You can also script out tables and roles, process the database or individual tables, and perform any other management actions as you would for Tabular 1200 models.

In addition to the metadata objects you already know from Tabular 1200 models, 1400 models introduce three important new object types: StructuredDataSource, MPartitionSource, and NamedExpression. The StructuredDataSource type defines the properties that describe a modern data source. MPartitionSource takes an M expression as the source query and can be assigned to the Source property of a partition. And, NamedExpression is a class to define shared queries. SSDT does not yet support shared queries, but the AS engine and TOM already do. Creating and using shared queries programmatically is going to be the subject of a separate article.

Editing the Model.bim file

Whenever you cannot perform a desired action in the user interface of SSDT, consider switching to Code View and performing the action at the TMSL level. For example, SSDT does not yet support renaming of modern data sources. If you don’t find the default name assigned to a data source intuitive, such as Query1, switch to Code View, and then perform a Find and Replace operation. Keep in mind that expressions in M partition sources refer to modern data sources by name, so don’t forget to update these expressions together with the data source name. Figure 10 shows an example. Also, as always, make sure you first backup the Model.bim file before editing it manually.

renamedatasource 1024x697 Introducing a Modern Get Data Experience for SQL Server vNext on Windows CTP 1.1 for Analysis Services

Figure 10   Updating the data source reference in an M expression

After changing data source properties and affected M expressions, switch back to Designer View and process the affected tables to ensure the model is still in a consistent state. If you receive an error stating “The given credential is missing a required property. Data source kind: SQL. Authentication kind: UsernamePassword. Property name: Password. The exception was raised by the IDbConnection interface.” you could switch back to Code View and provide the missing password although it is usually easier to use the user interface via the Edit Permissions command on the data source object in Tabular Model Explorer. If you prefer the Code View, use the following TMSL code as a reference to provide the missing password for a modern (structured) data source.

{

“type”: “structured”,

“name”: “AdventureWorks2014DWSDS”,

“connectionDetails”: {

“protocol”: “tds”,

“address”: {

“server”: “<Server Name>”,

“database”: “AdventureWorksDW2014”

},

“authentication”: null,

“query”: null

},

“credential”: {

“AuthenticationKind”: “UsernamePassword”,

“kind”: “SQL”,

“path”: “<Server Name>”,

“Username”: “<User>”,

          Password “: “<Password>”,

“EncryptConnection”: true

}

}

Note: For security reasons, Analysis Services does not return sensitive information such as passwords when scripting out a Tabular model or tracing commands and responses in SQL Profiler. Even though you don’t see the password, the server may have it and can perform processing successfully. You only need to provide the password if an error message informs you that it is missing.

Working with Tabular 1400 models programmatically

If you want to work with modern data sources and M partitions programmatically, you need to use the CTP 1.1 version of Analysis Management Objects (AMO). The AMO libraries are part of the SQL Server Feature Pack, yet a Feature Pack for CTP 1.1 is not available. As a workaround for CTP 1.1, you can use the server version of the AMO libraries, Microsoft.AnalysisServices.Server.Core.dll, Microsoft.AnalysisServices.Server.Tabular.dll, and Microsoft.AnalysisServices.Server.Tabular.Json.dll. These libraries are included with SSDT. By default, these libraries are located in the C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies\Business Intelligence Semantic Model\LocalServer folder. However, you cannot redistribute these libraries with your client application. For CTP 1.1, this means that your code can only run on a machine with SSDT installed, which should suffice for a first evaluation of the TOM objects for the modern Get Data experience.

Figure 11 shows a sample application that creates a Tabular 1400 model on a server running SQL Server vNext CTP 1.1 Analysis Services. It uses StructuredDataSource and MPartitionSource objects to add a modern data source and an M partition to the model. See the attachment to this article for the full Sample Code. The ConnectionDetails and Credential properties that you must set for the StructuredDataSource object are not yet documented, but you can glean examples for these strings from a Model.bim file that contains a modern data source. The MPartitionSource object on the other hand takes an M query in its Expression property. As explained earlier in this article, make sure the M query refers to a data source defined in the model by name.

TOM 1024x666 Introducing a Modern Get Data Experience for SQL Server vNext on Windows CTP 1.1 for Analysis Services

Figure 11   Creating a Tabular 1400 model with a modern data source and a table based on an M partition source programmatically.

SQL Server vNext CTP 1.1 provides an early preview of the modern Get Data experience. It is not fully tested and not supported in production environments. The following are known issues in CTP 1.1 Analysis Services and the corresponding SSDT release:

  • The SSDT Tabular release for CTP 1.1 is an early preview for evaluating the vNext capabilities of Analysis Services. It is not supported in production environments and must be installed without the Reporting Services and Integration Services components. Upgrades from previous SSDT versions are not supported. Either install on a newly installed computer or VM or uninstall any previous versions first. Also, only work with Tabular 1400 models. For Multidimensional as well as Tabular 1100, 1103, and 1200 models, use SSDT version 16.5.
  • SSDT does not yet support all required operations on modern data sources and M partitions through the user interface. For example, renaming data source objects or changing the column mappings for a table. It’s also not yet possible to define shared mashups through the user interface. You must edit the Model.bim file manually.
  • SSMS can script out Tabular 1400 models and individual objects, but the user interface is not yet 1400 aware. For example, you cannot manage partitions if the model contains a structured data source and you cannot change the settings of a modern data source through the Connection Properties dialog box. You must script out these objects and apply the changes that the TMSL level.
  • Creating a new tabular project in SSDT by using the option to Import from Server (Tabular) does not work. You get an error message stating the model is not recognized as compatible with SQL Server 2012 or higher. You can script out the database in SSMS and copy the TMSL code into the Model.bim file of an empty Tabular project created from scratch.
  • Erroneous M queries and changes to M queries that affect the column mapping of an existing table after the initial import may cause SSDT Tabular to become unresponsive. If you must change the column mapping, delete and recreate the table.
  • Tables with M partition sources don’t work over legacy (provider) data sources. You must use modern data sources for these tables.
  • Tables with query partition sources don’t fully work over modern data sources. SSDT cannot process these tables. You must process these tables in SSMS or programmatically.
  • Processing individual partitions does not succeed. Process the full model or the table.
  • Direct upgrades of Tabular 1103 or earlier models to the 1400 compatibility level does not finish successfully. You must first upgrade these models to the 1200 compatibility level and then perform the upgrade to 1400.
  • DirectQuery mode is not yet supported at the 1400 compatibility level. To preview the modern Get Data experience, you must import the data into the Tabular model.
  • Out-Of-Line Bindings are not yet supported. It’s not possible to override a structured data source or M partition source on a request basis in a Tabular 1400 model yet.
  • All modern data sources are considered private data sources to avoid disclosing sensitive or confidential information. A private data source is completely isolated from other data sources. The privacy settings for data sources cannot be changed in CTP 1.1.
  • Impersonation options such as ImpersonateWindowsUserAccount are not yet supported for modern data sources. You must specify credentials explicitly when defining the data source.
  • Localization is not supported. CTP 1.1 is available in English (US) only.

Your feedback is critical for delivering a high-quality product! Deploy SQL Server vNext CTP 1.1 and the December 2016 release of SSDT Tabular in a lab environment or on a virtual machine in Azure and let us know what you think. Report issues and send us your suggestions to SSASPrev here at Microsoft.com. Or use any other available communication channels such as UserVoice or MSDN forums. You can influence the evolution of the Analysis Services connectivity stack to the benefit of all our customers.

Let’s block ads! (Why?)

Analysis Services Team Blog

What’s new for SQL Server vNext on Windows CTP 1.1 for Analysis Services

The public CTP 1.1 of SQL Server vNext on Windows is available here! This public preview includes the following enhancements for Analysis Services tabular.

  • New infrastructure for data connectivity and ingestion into tabular models with support for TOM APIs and TMSL scripting. This enables:

    • Support for additional data sources, such as MySQL. Additional data sources are planned in upcoming CTPs.
    • Data transformation and data mashup capabilities.
  • Support for BI tools such as Microsoft Excel enable drill-down to detailed data from an aggregated report. For example, when end-users view total sales for a region and month, they can view the associated order details.
  • Enhanced support for ragged hierarchies such as organizational charts and chart of accounts.
  • Enhanced security for tabular models, including the ability to set permissions to help secure individual tables.
  • DAX enhancements to make DAX more accessible and powerful. These include the IN operator and table/row constructors.

New 1400 Compatibility Level

SQL Server vNext CTP 1.1. for Analysis Services introduces the 1400 compatibility level for tabular models. To benefit from the new features for models at the 1400 compatibility level, you’ll need to download and install the December release of SSDT for CTP 1.1. In SSDT, you can select the new 1400 compatibility level when creating new tabular model projects. Models at the 1400 compatibility level cannot be deployed to SQL Server 2016 or earlier, or downgraded to lower compatibility levels.

1400 New Model1 What’s new for SQL Server vNext on Windows CTP 1.1 for Analysis Services

Note that this SSDT Tabular release for CTP 1.1 is an early preview for evaluating the vNext capabilities of Analysis Services delivered with the 1400 compatibility level. It is not supported in production environments. Also, only install the Analysis Services, but not the Reporting Services and Integration Services components. Either install on a newly installed computer or VM or uninstall any previous versions first. Also, only work with Tabular 1400 models using this preview version of SSDT. For Multidimensional as well as Tabular 1100, 1103, and 1200 models, use SSDT version 16.5.

New Infrastructure for Data Connectivity

CTP1.1 release introduces a new infrastructure for data connectivity and ingestion into tabular models with support for TOM APIs and TMSL scripting. This is based on similar functionality in Power BI Desktop and Microsoft Excel 2016. There is a lot of information on this topic, so we have created a separate blog post here.

Detail Rows

A much-requested feature for tabular models is the ability to define a custom row set contributing to a measure value. Multidimensional models already achieve this by using the default drillthrough action. This allows end-users to view information in more detail than the aggregated level.

For example, the following PivotTable shows Internet Total Sales by year from the Adventure Works sample tabular model. Users can right-click the cell for 2010 and then select the Show Details menu option to view the detail rows.

Show Details What’s new for SQL Server vNext on Windows CTP 1.1 for Analysis Services

By default, the associated data in the Internet Sales table is displayed. This behavior is often not meaningful to users because the table may not have the necessary columns to show useful information such as customer name and order information.

Detail Rows Expression Property for Measures

CTP1.1 introduces the Detail Rows Expression property for measures. It allows the modeler to customize the columns and rows returned to the end user.

Detail Rows Expression1 What’s new for SQL Server vNext on Windows CTP 1.1 for Analysis Services

It is anticipated the SELECTCOLUMNS DAX function will be commonly used for the Detail Rows Expression. The following example defines the columns to be returned for rows in the Internet Sales table.

SELECTCOLUMNS(
    'Internet Sales',
    "Customer First Name", RELATED(Customer[Last Name]),
    "Customer Last Name", RELATED(Customer[First Name]),
    "Order Date", 'Internet Sales'[Order Date],
    "Internet Total Sales", [Internet Total Sales]
)

With the property defined and the model deployed, the custom row set is returned when the user selects Show Details. It automatically honors the filter context of the cell that was selected. In this example, only the rows for 2010 value are displayed.

Detail Rows Returned What’s new for SQL Server vNext on Windows CTP 1.1 for Analysis Services

Default Detail Rows Expression Property for Tables

In addition to measures, tables also have a property to define a detail rows expression. The Default Detail Rows Expression property acts as the default for all measures within the table. Measures that do not have their own expression defined will inherit the expression from the table and show the row set defined for the table. This allows reuse of expressions, and new measures added to the table later will automatically inherit the expression.

Default Detail Rows Expression1 What’s new for SQL Server vNext on Windows CTP 1.1 for Analysis Services

DETAILROWS DAX Function

The DETAILROWS DAX function has been added in CTP1.1. The following DAX query returns the row set defined by the detail rows expression for the measure or its table. If no expression is defined, the data for the Internet Sales table is returned as it is the table containing the measure.

EVALUATE DETAILROWS([Internet Total Sales])

MDX DRILLTHROUGH statements – without a RETURN clause – are also compatible with detail rows expressions defined in tabular models.

Ragged Hierarchies

As described in this article, Analysis Services tabular models can be used to model parent-child hierarchies. Hierarchies with a differing number of levels are referred to as ragged hierarchies. An example of a ragged hierarchy is an organizational chart. By default, ragged hierarchies are displayed with blanks for levels below the lowest child. This can look untidy to users, as shown by this organizational chart in Adventure Works:

Ragged Hierarchies with Blanks What’s new for SQL Server vNext on Windows CTP 1.1 for Analysis Services

CTP1.1 introduces the Hide Members property to correct this. Simply set the Hide Members property on the hierarchy to Hide blank members.

Hide Members Property1 What’s new for SQL Server vNext on Windows CTP 1.1 for Analysis Services

Note: It is necessary that the blank members in the model are represented by a DAX blank value, not an empty string.

With the property set and the model deployed, the more presentable version of the hierarchy is displayed.

Ragged Hierarchies Clean What’s new for SQL Server vNext on Windows CTP 1.1 for Analysis Services

Table-Level Security

Roles in tabular models already support a granular list of permissions, and row-level filters to help protect sensitive data. Further information is available here.

CTP1.1 builds on this by introducing table-level security. In addition to restricting access to the data itself, sensitive table names can be protected. This helps prevent a malicious user from discovering that such a table exists.

The current version requires that a whole table’s metadata, and therefore all its columns, is set to be protected. Additionally, table-level security must be set using the JSON-based metadata, Tabular Model Scripting Language (TMSL), or Tabular Object Model (TOM).

The following snippet of JSON-based metadata from the Model.bim file helps secure the Product table in the Adventure Works sample tabular model by setting the MetadataPermission property of the TablePermission class to None.

"roles": [
  {
    "name": "Users",
    "description": "All allowed users to query the model",
    "modelPermission": "read",
    "tablePermissions": [
      {
        "name": "Product",
        "metadataPermission": "none"
      }
    ]
  }

DAX Enhancements

CTP1.1 is compatible with the IN operator for DAX expressions. The TSQL IN operator is commonly used to specify multiple values in a WHERE clause. It feels natural to SQL Server database developers.

Prior to CTP1.1, it was common to specify multi-value filters using the logical OR operator or function. Consider the following measure definition.

Filtered Sales:=CALCULATE(
    [Internet Total Sales],
    'Product'[Color] = "Red"
 || 'Product'[Color] = "Blue"
 || 'Product'[Color] = "Black"
)

This is simplified using the IN operator.

Filtered Sales:=CALCULATE(
    [Internet Total Sales], 'Product'[Color] IN { "Red", "Blue", "Black" }
)

In this case, the IN operator refers to a single-column table with 3 rows; one for each of the specified colors. Note the table constructor syntax using curly braces.

The IN operator is functionally equivalent to the CONTAINSROW function.

Filtered Sales:=CALCULATE(
    [Internet Total Sales], CONTAINSROW({ "Red", "Blue", "Black" }, 'Product'[Color])
)

We hope you will agree the IN operator used with table constructors is a great enhancement to the DAX language. MDX veterans should be jumping out of their seats with excitement at this point. The curly braces syntax should also feel natural to programmers of C based languages like C#, and Excel practitioners who use arrays. But wait, there’s more …

Consider the following measure to filter by combinations of product color and category.

Filtered Sales:=CALCULATE(
    [Internet Total Sales],
    FILTER( SUMMARIZE( ALL(Product), Product[Color], Product[Product Category name] ),
        ( 'Product'[Color] = "Red"   && Product[Product Category Name] = "Accessories" )
     || ( 'Product'[Color] = "Blue"  && Product[Product Category Name] = "Bikes" )
     || ( 'Product'[Color] = "Black" && Product[Product Category Name] = "Clothing" )
    )
)

Wouldn’t it be great if we could use table constructors, coupled with row constructors, to simplify this? In CTP1.1, we can! The above measure is equivalent to the one below.

Filtered Sales:=CALCULATE(
    [Internet Total Sales],
    FILTER( SUMMARIZE( ALL(Product), Product[Color], Product[Product Category name] ),
        ('Product'[Color], Product[Product Category Name]) IN
        { ( "Red", "Accessories" ), ( "Blue", "Bikes" ), ( "Black", "Clothing" ) }
    )
)

Lastly, it is worth pointing out that table and row constructors are independent of the IN operator. They are simply DAX table expressions. Consider the following DAX query.

EVALUATE
UNION(
    ROW(
        "Value1", "Red Product Sales",
        "Value2", CALCULATE([Internet Total Sales], 'Product'[Color] = "Red")
    ),
    ROW(
        "Value1", "Blue Product Sales",
        "Value2", CALCULATE([Internet Total Sales], 'Product'[Color] = "Blue")
    ),
    ROW(
        "Value1", "Total",
        "Value2", CALCULATE([Internet Total Sales], 'Product'[Color] IN { "Red", "Blue" })
    )
)

In CTP1.1, it can be more simply expressed like this:

EVALUATE
{
    ("Red Product Sales",  CALCULATE([Internet Total Sales], 'Product'[Color] = "Red")),
    ("Blue Product Sales", CALCULATE([Internet Total Sales], 'Product'[Color] = "Blue")),
    ("Total",              CALCULATE([Internet Total Sales], 'Product'[Color] IN { "Red", "Blue" }))
}

Download Now!

To get started, download SQL Server vNext on Windows CTP1.1 from here. SSDT for CTP1.1 available here. Be sure to keep an eye on this blog to stay up to date on Analysis Services.

Let’s block ads! (Why?)

Analysis Services Team Blog

Microsoft delivers test builds of Visual Studio for Mac, Visual Studio 2017 for Windows

Not too surprisingly, documents leaked earlier this week were correct and Microsoft is making available to developers for testing two new test versions of Visual Studio: Visual Studio for Mac and Visual Studio 2017 for Windows.

Microsoft unshackles users from Windows with Office add-ins for Mac

TTlogo 379x201 Microsoft unshackles users from Windows with Office add ins for Mac

Office users who rely on Mac, iPhone or Android devices to access their Word or Excel files have been restricted…

from using some Office add-ins, but that’s changing.

For some time now, users with advanced Office functionality have been limited to working in Windows environments, due to Office add-in OS requirements. Microsoft recently removed those requirements, enabling independent software vendors to build add-ons that can run on Office regardless of platform or device. Microsoft also added new Office 365 features and support for Mac, iPhone, iPad and Android devices. This begs the question — why is Microsoft making such a big effort to support its products in non-Windows environments?

Office 365 leaves the Windows nest

The Office Store was introduced when Microsoft released Office ProPlus to provide a way for business users to purchase productivity apps or add-ins. However, many users quickly realized that the add-ins were limited to the systems upon which they were installed. This restricted the workspace to the device with add-ins installed — commonly Windows. With many users working across multiple devices, it became a limiting factor and forced some IT administrators to roll out Windows-only based machines or Windows virtual desktops.

During one of the recent Ignite 2016 sessions, Microsoft highlighted a different approach. In its future Office releases, developers will be able to build Office add-ins that will be compatible with all versions of Office, regardless of device.

This move gives IT departments and end users the freedom to purchase the device of their choice and still experience the full capabilities of the Office suite. This may also mean that Microsoft will lose Windows 10 sales, since users won’t have to use Microsoft devices to access Office components, but the flexibility may make those same users bigger fans of the vendor.

There have been steps in recent years that bring Microsoft closer to its goal of making its products work well with other platforms, such as the release of Office for Google Android and Apple iPhone in 2014. The company has extended other software to competitors’ platforms as well. During Ignite 2016, a number of users were roaming the Skype for Business booth to get a glimpse of the upcoming release for Macs. In the previously released preview, a number of organizations had mixed reviews due to product limitations. But as we near the final release of Skype for Business Mac, users are getting excited about features including:

  • Contacts and presence
  • Peer-to-peer calling
  • Group video calling
  • Conversation history

There are certainly other examples reinforcing what Microsoft has set to do as part of its “cloud first, mobile first” strategy. In a number of sessions at the Ignite conference, IT decision-makers saw firsthand how many of Microsoft’s products and services play well with different platforms in the market. The message was clear; it is about helping transform organizations, empower users on any device, anywhere — despite Microsoft’s goal to have 1 billion Windows 10 devices in the market by 2018.

Let’s block ads! (Why?)


ECM, collaboration and search news and features

How to Use RealignWindow in USD 2.0.1 to Pop-out Windows

[unable to retrieve full-text content]

One of the new features that came with Unified Service Desk (USD) 2.0.1 is RealignWindow. RealignWindow provides the capability to configure USD to open a window (i.e., webpage, CRM page,

Read More

 How to Use RealignWindow in USD 2.0.1 to Pop out Windows  How to Use RealignWindow in USD 2.0.1 to Pop out Windows  How to Use RealignWindow in USD 2.0.1 to Pop out Windows  How to Use RealignWindow in USD 2.0.1 to Pop out Windows  How to Use RealignWindow in USD 2.0.1 to Pop out Windows

 How to Use RealignWindow in USD 2.0.1 to Pop out Windows

 How to Use RealignWindow in USD 2.0.1 to Pop out Windows
PowerObjects- Bringing Focus to Dynamics CRM

Microsoft: More details on the end of ‘Get Windows 10′ and what’s next

Microsoft’s year-long offer to Windows 7 and 8.X PC and tablet users to get Windows 10 as a free update ends today, July 29, as Microsoft reconfirmed it would back in May this year.

Windows, Mac and Linux Compatibility Requirements

[unable to retrieve full-text content]

Thinking about running CRM on Mac OS or Linux devices? If so, you need to know the system requirements and prerequisite technologies. In today’s blog, we will discuss the compatibility

Read More

 Windows, Mac and Linux Compatibility Requirements  Windows, Mac and Linux Compatibility Requirements  Windows, Mac and Linux Compatibility Requirements  Windows, Mac and Linux Compatibility Requirements  Windows, Mac and Linux Compatibility Requirements

 Windows, Mac and Linux Compatibility Requirements

 Windows, Mac and Linux Compatibility Requirements
PowerObjects- Bringing Focus to Dynamics CRM

France: Windows 10 is collecting ‘excessive’ user data, Microsoft has 3 months to address issues

arc de triomphe 780x513 France: Windows 10 is collecting ‘excessive’ user data, Microsoft has 3 months to address issues

France is not a fan of Windows 10. The country’s Commission Nationale de l’Informatique et des Libertés (CNIL) has ordered Microsoft to “stop collecting excessive data and tracking browsing by users without their consent.”

The CNIL says it carried out seven investigations between April 2016 and June 2016 regarding how Windows 10 functions. The commission also questioned Microsoft to verify that its privacy policy for Windows 10 complied with the French Data Protection Act.

For its part, Microsoft has said it will work with CNIL, which says it found “many failures” and has given the company three months to address them. If Microsoft were not to comply, CNIL said it could initiate sanctions.

CNIL’s findings are as follows:

  • Irrelevant or excessive data collected: Microsoft is collecting diagnostic and usage data via its telemetry service, which uses such data, among other things, to identify problems and to improve products. To this purpose, Microsoft Corporation processes, for instance, Windows app and Windows Store usage data, providing information, among other things, on all the apps downloaded and installed on the system by a user and the time spent on each one. Therefore, the company is collecting excessive data, as these data are not necessary for the operation of the service.
  • A lack of security: Microsoft allows users to choose a four-character PIN to authenticate themselves for all its online services, notably to access to their Microsoft account, which lists purchases made in the store and the payment instruments used, but the number of attempts to enter the PIN is not limited, which means that user data is not secure or confidential.
  • Lack of individual consent: An advertising ID is activated by default when Windows 10 is installed, enabling Windows apps and other parties’ apps to monitor user browsing and to offer targeted advertising without obtaining users’ consent.
  • Lack of information and no option to block cookies: The company puts advertising cookies on users’ terminals without properly informing them of this in advance or enabling them to oppose this.
  • Data still being transferred outside EU on a “safe harbor” basis: Microsoft is transferring its account holders’ personal data to the United States on a “safe harbor” basis but this has not been possible since the decision issued by the Court of Justice of the European Union on October 6, 2015.

Here is Microsoft’s full statement, courtesy of David Heiner, vice president and deputy general counsel:

Earlier today Microsoft received a notice from the French data protection authority, the Commission Nationale de l’Informatique et des Libertés or CNIL, raising concerns about certain aspects of Windows 10. The notice gives Microsoft three months to address the issues.

We built strong privacy protections into Windows 10, and we welcome feedback as we continually work to enhance those protections. We will work closely with the CNIL over the next few months to understand the agency’s concerns fully and to work toward solutions that it will find acceptable.

The CNIL noted that the Safe Harbor framework is no longer valid for transferring data from European Union to the United States. We fully understand the importance of establishing a sound legal framework for trans-Atlantic data transfers, and that is why Microsoft has been very supportive of the efforts on both side of the Atlantic that led to last week’s adoption of the Privacy Shield.

As the European Commission observed, Microsoft’s January 2016 Privacy Statement states that the company adheres to the principles of the Safe Harbor Framework. Microsoft has in fact continued to live up to all of its commitments under the Safe Harbor Framework, even as the European and U.S. representatives worked toward the new Privacy Shield. As we state in our privacy statement, in addition to the Safe Harbor Framework we rely on a variety of legal mechanisms as the basis for transferring data from Europe, including standard contractual clauses, a data transfer mechanism established by the European Commission and approved by European data protection authorities, to cover data flows from the European Union to the United States.

Microsoft will release an updated privacy statement next month, and that will say Microsoft intends to adopt the Privacy Shield. We are working now toward meeting the requirements of the Privacy Shield.

CNIL said it make its notice to Microsoft public because of the “seriousness of the breaches” and because the country has more than 10 million Windows users.

Get more stories like this on TwitterFacebook

Let’s block ads! (Why?)

Big Data – VentureBeat