<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>SQL BI / Data Access Technologies</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/dataaccesstechnologies/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/dataaccesstechnologies/feed.xml</link>
    <description>( SSIS, SSRS, SSAS, Data Access, POWER BI, PBI RS, Azure AS, SSMA, LINQ, System.Data ... )</description>
    <lastBuildDate>Mon, 10 Jun 2019 05:13:56 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Connecting from SSRS 2016 to SSAS using HTTP/MSMDPump and Basic Authentication – "Object reference not set to an instance of an object"</title>
      <link>https://docs.microsoft.com/archive/blogs/dataaccesstechnologies/connecting-from-ssrs-2016-to-ssas-using-httpmsmdpump-and-basic-authentication-object-reference-not-set-to-an-instance-of-an-object</link>
      <pubDate>Mon, 28 May 2018 05:42:44 GMT</pubDate>
      <dc:creator><![CDATA[Krishnakumar Rukmangathan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dataaccesstechnologies/?p=4215</guid>
      <description><![CDATA[&nbsp;

After upgrading to SSRS 2016 SP1 CU8, or SSRS 2016 SP2, you might see...]]></description>
      <content:encoded><![CDATA[<div id="wrapper">
<div class="menu-container">
<div class="content VanAdminsingular single s-category-reporting-services s-tag-analysis-services s-tag-reporting-services s-author-none">
<div class="container container-center row">
<div id="content">
<div class=" col-xs-12 col-sm-6 col-md-8 col-md-8 col-single col-single" id="primary">
<div class="post-160 post type-post status-publish format-standard hentry category-reporting-services tag-analysis-services tag-reporting-services p publish first-post cat tag" id="post-160">
<div class="entry-content article">

&nbsp;

After upgrading to SSRS 2016 SP1 CU8, or SSRS 2016 SP2, you might see the following error when running reports or connecting to a SSAS data source using HTTP/MSMDPump with Basic Authentication, <span style="color: red">“Object reference not set to an instance of an object.”</span>

&nbsp;

<a href="https://msdnshared.blob.core.windows.net/media/2018/05/NullError.jpg"><img src="https://msdnshared.blob.core.windows.net/media/2018/05/NullError.jpg" alt="" width="622" height="270" class="alignnone size-full wp-image-4225" /></a>

</div>
<div id="wrapper">
<div class="menu-container">
<div class="content VanAdminsingular single s-category-reporting-services s-tag-analysis-services s-tag-reporting-services s-author-none">
<div class="container container-center row">
<div id="content">
<div class=" col-xs-12 col-sm-6 col-md-8 col-md-8 col-single col-single" id="primary">
<div class="post-160 post type-post status-publish format-standard hentry category-reporting-services tag-analysis-services tag-reporting-services p publish first-post cat tag" id="post-160">
<div class="entry-content article">

&nbsp;

If you look in the Report Server Error logs, you’ll see the following exception:

<small>ERROR: Throwing Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: , Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: Cannot create a connection to data source ‘TestRS1’. —&gt; System.NullReferenceException: <mark>Object reference not set to an instance of an object.</mark>
at Microsoft.AnalysisServices.AdomdClient.HttpStream.ImpersonateLogonIdentityAndExecute(Action action)
at Microsoft.AnalysisServices.AdomdClient.HttpStream.GetRequestStream()
at Microsoft.AnalysisServices.AdomdClient.HttpStream.Write(Byte[] buffer, Int32 offset, Int32 size)
at Microsoft.AnalysisServices.AdomdClient.CompressedStream.Write(Byte[] buffer, Int32 offset, Int32 size)
at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder)
at Microsoft.AnalysisServices.AdomdClient.XmlaClient.EndRequest(Boolean useBinaryXml)
at Microsoft.AnalysisServices.AdomdClient.XmlaClient.SendMessage(Boolean endReceivalIfException, Boolean readSession, Boolean readNamespaceCompatibility)
at Microsoft.AnalysisServices.AdomdClient.XmlaClient.SupportsProperty(String propName)
at Microsoft.AnalysisServices.AdomdClient.XmlaClient.Connect(ConnectionInfo connectionInfo, Boolean beginSession)
at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.XmlaClientProvider.Connect(Boolean toIXMLA)
at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.ConnectToXMLA(Boolean createSession, Boolean isHTTP)
at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.Open()
at Microsoft.ReportingServices.DataExtensions.AdomdExceptionHandler.Execute(String connectionString, Action action)
at Microsoft.ReportingServices.DataExtensions.AdoMdConnectionBase.Open()
at Microsoft.ReportingServices.Diagnostics.DataExtensionConnectionBase.&lt;&gt;c__DisplayClass5.b__4()
— End of inner exception stack trace —;</small>

This is due to a defect in the ADOMD client that Reporting Services is referencing. Unfortunately, there’s currently only a workaround at the moment for Reporting Services 2016.

</div>
</div>
</div>
</div>
</div>
</div>
</div>
&nbsp;
<div class="menu-container">
<div class="content VanAdminsingular single s-category-reporting-services s-tag-analysis-services s-tag-reporting-services s-author-none">
<div class="container container-center row">
<div id="content">
<div class=" col-xs-12 col-sm-6 col-md-8 col-md-8 col-single col-single" id="primary">

&nbsp;

<strong><u>Resolution:</u></strong>
<ol>
 	<li>Download and install the latest ADOMD client library from here: <a target="_blank" href="https://docs.microsoft.com/en-us/azure/analysis-services/analysis-services-data-providers" rel="noopener">https://docs.microsoft.com/en-us/azure/analysis-services/analysis-services-data-providers</a></li>
 	<li>Go to the following folder to find your web.config file for Reporting Services, and make a backup copy before proceeding: “C:\Program Files\Microsoft SQL Server\MSRS13.MSSQLSERVER\Reporting Services\ReportServer\web.config”</li>
 	<li>Modify the bindingRedirect for Microsoft.AnalysisServices.AdomdClient to reflect the newest version, which is 15.0.0.0. Like so</li>
</ol>
<div class="post-160 post type-post status-publish format-standard hentry category-reporting-services tag-analysis-services tag-reporting-services p publish first-post cat tag" id="post-160">
<div id="wrapper">
<div class="menu-container">
<div class="content VanAdminsingular single s-category-reporting-services s-tag-analysis-services s-tag-reporting-services s-author-none">
<div></div>
<div></div>
<div><a href="https://msdnshared.blob.core.windows.net/media/2018/05/NullWebConfigFix.jpg"><img src="https://msdnshared.blob.core.windows.net/media/2018/05/NullWebConfigFix.jpg" alt="" width="1198" height="684" class="alignnone size-full wp-image-4235" /></a></div>
</div>
</div>
<div>
<div id="wrapper">
<div class="menu-container">
<div class="content VanAdminsingular single s-category-reporting-services s-tag-analysis-services s-tag-reporting-services s-author-none">
<div class="container container-center row">
<div id="content">
<div class=" col-xs-12 col-sm-6 col-md-8 col-md-8 col-single col-single" id="primary">

&nbsp;
<div class="post-160 post type-post status-publish format-standard hentry category-reporting-services tag-analysis-services tag-reporting-services p publish first-post cat tag" id="post-160">

&nbsp;
<div class="entry-content article">

Once that is done, go ahead and restart Reporting Services Service, and you should now see a successful connection like you had before.

If you’re seeing the same issues while using SQL Server Management Studio, Report Builder, or SSRS2017/PBIRS, the fix for this issue is likely to be released in July 2018.

</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
&nbsp;

</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div></div>
<div class="content VanAdminsingular single s-category-reporting-services s-tag-analysis-services s-tag-reporting-services s-author-none">
<div class="container container-center row">
<div id="content">
<div class=" col-xs-12 col-sm-6 col-md-8 col-md-8 col-single col-single" id="primary">
<div class="post-160 post type-post status-publish format-standard hentry category-reporting-services tag-analysis-services tag-reporting-services p publish first-post cat tag" id="post-160">
<div><strong>NOTE:</strong>  Any product release timeline mentioned in the blog is subjected to the discretion of the product team and this may get extended.</div>
</div>
</div>
</div>
</div>
<div>

&nbsp;

&nbsp;

<strong>Author:     Van To –<span> Support Escalation Engineer</span><span>, </span>SQL Server BI Developer team, Microsoft</strong>

<strong>Reviewer: </strong><strong>Krishnakumar Rukmangathan – Support Escalation Engineer, SQL Server BI Developer team, Microsoft</strong>

</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Invalid Column __$command_id issue during CDC implementation in SSIS package</title>
      <link>https://docs.microsoft.com/archive/blogs/dataaccesstechnologies/invalid-column-__command_id-issue-during-cdc-implementation-in-ssis-package-2</link>
      <pubDate>Mon, 14 May 2018 05:02:28 GMT</pubDate>
      <dc:creator><![CDATA[Krishnakumar Rukmangathan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dataaccesstechnologies/?p=4175</guid>
      <description><![CDATA[&nbsp;

In this blog, we will be addressing the problem with CDC implementation in SSIS package...]]></description>
      <content:encoded><![CDATA[&nbsp;

In this blog, we will be addressing the problem with CDC implementation in SSIS package which goes with the error <em>‘invalid column name __$command_id’</em>.

&nbsp;

CDC stands for the change data capture. It was introduced in SQL server 2012. In SSIS package we have CDC control flow task and CDC source and CDC destination in Data flow task. CDC processing logic split into two packages – an <strong>Initial Load</strong> package that will read all the data in the source table, and an <strong>Incremental Load</strong> package that will process change data on subsequent runs.

&nbsp;

<strong>Issue:</strong>

While previewing the CDC source task in an incremental package load, we get the error: ‘invalid column name __$command_id’

&nbsp;

<a href="https://msdnshared.blob.core.windows.net/media/2018/05/113.jpg"><img src="https://msdnshared.blob.core.windows.net/media/2018/05/113.jpg" alt="" width="837" height="475" class="alignnone size-full wp-image-4185" /></a>

&nbsp;

&nbsp;

<strong>Solution:</strong>
<ol>
 	<li>Ensure we are on the latest the <span><a href="https://sqlserverbuilds.blogspot.in/">latest version of SQL server</a></span>.</li>
</ol>
<ol start="2">
 	<li>If the issue persists,</li>
</ol>
<ul>
 	<li>Download the Attunity dlls from the following site based on your SQL Server/SSIS version.
<ul>
 	<li><span><a href="https://attunity-patch.s3.amazonaws.com/MicrosoftSSISCDC/1.1/sp01-1.1-MicrosoftSSISCDC/AttunitySSISComponentsCDC_DLLs.zip">SQLServer 2012</a></span></li>
 	<li><span><a href="https://attunity-patch.s3.amazonaws.com/MicrosoftSSISCDC/2.0/sp01-2.0-MicrosoftSSISCDC/AttunitySSISComponentsCDC_DLLs.zip">SQLServer 2014</a></span></li>
 	<li><span><a href="https://attunity-patch.s3.amazonaws.com/MicrosoftSSISCDC/4.0/sp02-4.0-MicrosoftSSISCDC/AttunitySSISComponentsCDC_DLLs.zip">SQLServer 2016</a></span><span> </span></li>
</ul>
</li>
 	<li>Place the dlls in the right location and <span><a href="https://msdn.microsoft.com/en-us/library/dkkx7f79(v=vs.100).aspx">GAC</a></span>
<ul>
 	<li>We can find 4 dll in $\bin on the downloaded folder:
<ul>
 	<li>Attunity.SqlServer.CDCControlTask.dll</li>
 	<li>Attunity.SqlServer.CDCDesign.dll</li>
 	<li>Attunity.SqlServer.CDCSplit.dll</li>
 	<li>Attunity.SqlServer.CDCSrc.dll</li>
</ul>
</li>
</ul>
</li>
 	<li>You need to replace each of them to:
<ul>
 	<li>X86 folder</li>
 	<li>X64 folder</li>
</ul>
</li>
</ul>
<ul>
 	<li>Further <span><a href="https://msdn.microsoft.com/en-us/library/dkkx7f79(v=vs.100).aspx">GAC</a></span> them so that they appear on the GAC_MSIL folder</li>
</ul>
&nbsp;

&nbsp;

<strong>Detailed locations are here:</strong>

<em> <a href="https://msdnshared.blob.core.windows.net/media/2018/05/Table1.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/05/Table1.png" alt="" width="1037" height="732" class="alignnone size-full wp-image-4205" /></a></em>

&nbsp;

<span>Please reach-out to the SQL Server Integration services support team if you are still facing any issues</span>

&nbsp;

&nbsp;

&nbsp;

<strong>Author:</strong>      Chetan KT - Technical Advisor, SQL Server BI Developer team, Microsoft

<strong>Reviewer:</strong><span>  Krishnakumar Rukmangathan </span><span>– Support Escalation Engineer, SQL Server BI Developer team, Microsoft</span>

&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>Proactive caching with in-Memory tables as notification</title>
      <link>https://docs.microsoft.com/archive/blogs/dataaccesstechnologies/proactive-caching-with-in-memory-tables-as-notification</link>
      <pubDate>Mon, 09 Apr 2018 09:54:29 GMT</pubDate>
      <dc:creator><![CDATA[Krishnakumar Rukmangathan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dataaccesstechnologies/?p=3965</guid>
      <description><![CDATA[&nbsp;

Recently we encountered an issue using a Multidimensional Model where ROLAP and proactive...]]></description>
      <content:encoded><![CDATA[&nbsp;

Recently we encountered an issue using a Multidimensional Model where ROLAP and proactive caching were enabled on one of the partition. The notification was set to SQL Server table to track the changes and refresh the cache.

&nbsp;

The behavior we noticed was that if a SQL Server Table was set to a Memory Optimized Table, we don’t see a notification within Analysis Services for any changes within the SQL Server Table. But if the SQL Server Table was not a memory optimized table, the notifications were sent back to Analysis Services and the cache was refreshed.

&nbsp;
<ul>
 	<li>We used AdventureWorks to understand this behavior, where the partition: Customers_2005  (Measure group: Internet Customer) with ROLAP and proactive caching enabled.</li>
</ul>
&nbsp;

<a href="https://msdnshared.blob.core.windows.net/media/2018/04/12.jpg"><img src="https://msdnshared.blob.core.windows.net/media/2018/04/12.jpg" alt="" width="649" height="316" class="alignnone size-full wp-image-3975" /></a>

&nbsp;
<ul>
 	<li>After Deploying the model to SSAS 2016 instance and making changes within SQL server ([FactSalesQuota]), we could see this notification from the SSAS profiler trace :”<strong> A notification was received from an instance of SQL Server for the '[dbo].[ FactSalesQuota]' table</strong>”</li>
</ul>
<ul>
 	<li>The data was changed on the SSAS as well:</li>
</ul>
&nbsp;

<strong>Before the changes SSAS DB: </strong>

Sales Amount Quota : 154088000

<strong>After the changes SSAS DB (Sales Quota partition converted to ROLAP): </strong>

Sales Amount Quota : 154088004.7

&nbsp;
<ul>
 	<li>We converted the <strong>FactSalesQuota</strong> table to an <strong>in-memory table</strong> and tested the behavior. This time, we didn’t see any notification triggered from the analysis services profiler trace</li>
</ul>
<ul>
 	<li>Took a profiler on the SQL and SSAS simultaneously and we see the below query getting triggered whenever there is a change in the table on SQL side profiler:</li>
</ul>
&nbsp;

<strong>DECLARE @OlapEvent BIGINT;SELECT @OlapEvent = ObjIdUpdate(2);SELECT (@OlapEvent &amp; convert(bigint, 0xffff000000000000)) / 0x0001000000000000 AS Status, (@OlapEvent &amp; convert(bigint, 0x0000ffff00000000)) / 0x0000000100000000 AS DbId, @OlapEvent &amp; convert(bigint, 0xffffffff) AS ObjId;</strong>

&nbsp;
<ul>
 	<li>But when we convert the table to an in-memory table. The query was not getting triggered and we are not seeing any notification back on SSAS as well.</li>
</ul>
<ul>
 	<li>After more research it seems this query keeps running in suspended state all this while.</li>
</ul>
<ul>
 	<li>For normal [FactSalesQuota] table (not in-memory)  we see the below:</li>
</ul>
<a href="https://msdnshared.blob.core.windows.net/media/2018/04/21.jpg"><img src="https://msdnshared.blob.core.windows.net/media/2018/04/21.jpg" alt="" width="885" height="396" class="alignnone size-full wp-image-3985" /></a>

&nbsp;
<p style="margin: 0in 0in 0.0001pt;text-indent: 27pt;text-align: left"><b><span style="color: black">SQL Profiler : I could see the notification query is getting triggered:</span></b></p>
<a href="https://msdnshared.blob.core.windows.net/media/2018/04/31.jpg"><img src="https://msdnshared.blob.core.windows.net/media/2018/04/31.jpg" alt="" width="916" height="382" class="alignnone size-full wp-image-3995" /></a>

&nbsp;
<p style="margin: 0in;margin-bottom: .0001pt;text-indent: 27.0pt"><b><span style="color: black">SSAS Profiler: SSAS is receiving a notification:</span></b></p>
<a href="https://msdnshared.blob.core.windows.net/media/2018/04/4.jpg"><img src="https://msdnshared.blob.core.windows.net/media/2018/04/4.jpg" alt="" width="923" height="344" class="alignnone size-full wp-image-4005" /></a>

&nbsp;

&nbsp;
<ul>
 	<li>Once we convert the <strong>FactSalesQuota</strong> tables as in-memory table, I still see the notification query running in suspended state.</li>
</ul>
&nbsp;

&nbsp;

<a href="https://msdnshared.blob.core.windows.net/media/2018/04/5.jpg"><img src="https://msdnshared.blob.core.windows.net/media/2018/04/5.jpg" alt="" width="825" height="397" class="alignnone size-full wp-image-4015" /></a>

&nbsp;

&nbsp;
<ul>
 	<li>But after we make the change to the table, the notification query is not triggered.</li>
</ul>
&nbsp;

<a href="https://msdnshared.blob.core.windows.net/media/2018/04/6.jpg"><img src="https://msdnshared.blob.core.windows.net/media/2018/04/6.jpg" alt="" width="1149" height="381" class="alignnone size-full wp-image-4025" /></a>

&nbsp;
<p style="text-indent: 9.0pt;margin: 0in 0in .0001pt 27.0pt"><b><span style="color: red">No notification seen in SSAS:</span></b></p>
<a href="https://msdnshared.blob.core.windows.net/media/2018/04/7.jpg"><img src="https://msdnshared.blob.core.windows.net/media/2018/04/7.jpg" alt="" width="1154" height="369" class="alignnone size-full wp-image-4035" /></a>

&nbsp;

&nbsp;
<ul>
 	<li>We verified this behavior with our PG Team and understood that we rely on the SQL server notification to know if and when any changes have been made to the SQL table and only then do we initiate a refresh cache.</li>
</ul>
<ul>
 	<li>As per the in-memory tables in SQL server supported features documentation, event notifications are not supported: <a href="https://docs.microsoft.com/en-us/sql/relational-databases/in-memory-oltp/unsupported-sql-server-features-for-in-memory-oltp">https://docs.microsoft.com/en-us/sql/relational-databases/in-memory-oltp/unsupported-sql-server-features-for-in-memory-oltp</a></li>
</ul>
&nbsp;

&nbsp;

<a href="https://msdnshared.blob.core.windows.net/media/2018/04/8.jpg"><img src="https://msdnshared.blob.core.windows.net/media/2018/04/8.jpg" alt="" width="576" height="405" class="alignnone size-full wp-image-4045" /></a>

&nbsp;

&nbsp;
<p style="margin: 0in 0in .0001pt 27.0pt"><b><u><span style="color: black">Conclusion:</span></u></b></p>
&nbsp;
<p style="margin: 0in 0in .0001pt 27.0pt"><span style="color: black">Proactive caching with SQL server set for notification doesn't will not work for in-memory tables in SQL server. This is a limitation from the SQL side itself.</span></p>
&nbsp;

&nbsp;

&nbsp;

<strong>Author:      Chandan Kumar –<span> </span><span>Support Engineer, </span>SQL Server BI Developer team, Microsoft</strong>

<strong>Reviewer:</strong>  <strong>Kane Conway – Support Escalation Engineer, SQL Server BI Developer team, Microsoft</strong>]]></content:encoded>
    </item>
    <item>
      <title>Dynamic RLS support for Analysis Service Tabular Model based on multiple roles for each user</title>
      <link>https://docs.microsoft.com/archive/blogs/dataaccesstechnologies/dynamic-rls-support-for-analysis-service-tabular-model-based-on-multiple-roles-for-each-user</link>
      <pubDate>Mon, 09 Apr 2018 09:38:09 GMT</pubDate>
      <dc:creator><![CDATA[Krishnakumar Rukmangathan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dataaccesstechnologies/?p=3895</guid>
      <description><![CDATA[Tested on: SQL Server Analysis Service 2016 Tabular, Azure Analysis Service.

&nbsp;

Hello...]]></description>
      <content:encoded><![CDATA[<strong><u>Tested on</u></strong>: SQL Server Analysis Service 2016 Tabular, Azure Analysis Service.

&nbsp;

Hello everyone, I am sure that whenever you wanted to implement Row Level Security(RLS) for Analysis Services Tabular Mode you might be wondering how I will implement RLS when some of my user has multiple roles assigned. Well here is the solution for this issue.

Now before going on to the details of this blog, if Row Level Security in Tabular Mode is still an alien to you, I would recommend you pay a visit to the Microsoft document below which will give you a clear picture to implement Row Level Security.

<a href="https://docs.microsoft.com/en-us/power-bi/desktop-tutorial-row-level-security-onprem-ssas-tabular">https://docs.microsoft.com/en-us/power-bi/desktop-tutorial-row-level-security-onprem-ssas-tabular</a>

Coming back to my question, let's assume that you have a two Fact tables namely FactInternetSales and FactResellerSales with a Dimension table named as DimSalesTerritory.

&nbsp;

<strong><u>Requirement:</u></strong> A user will have access to FactInternetSales for one territory but FactResellerSales for a different territory.

Using the conventional mode of the RLS setup this requirement won't be possible, so I have a new way to set up the RLS.

&nbsp;

<strong><u>Setup:</u></strong> From the SQL Server, to make this setup we have created a Dimension Table called DimUser as below:

<a href="https://msdnshared.blob.core.windows.net/media/2018/04/1.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/04/1.png" alt="" width="640" height="81" class="alignnone size-full wp-image-3905" /></a>

Here I have used two Columns one for SalesTerritory Region and one of ReSalesTerritory Region for each of the user to assign the Territory according to the FactTables.

&nbsp;

<strong><u>Project Creation: </u></strong>From the Visual Studio we have created Tabular Project and imported the tables as shown below:

<a href="https://msdnshared.blob.core.windows.net/media/2018/04/2.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/04/2.png" alt="" width="736" height="533" class="alignnone size-full wp-image-3915" /></a>

&nbsp;

Please note the relationship that I have built.

DimUserSecurity has a two relationship with DimSalesTerritory

DimUserSecurity.SalesTerritoryID --&gt; DimSalesTerritory.SalesTerritoryKey

DimUserSecurity.ReSalesTerritoryID --&gt; DimSalesTerritory.SalesTerritoryKey

&nbsp;

Here one of the relation is Active and one is Inactive.

Now based on the user I have created a Role named SalesTerritoryUsers, given read permission to the model and added all the member there which are a part of DimUsers table.

<a href="https://msdnshared.blob.core.windows.net/media/2018/04/3.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/04/3.png" alt="" width="619" height="511" class="alignnone size-full wp-image-3925" /></a>

Now for the Row Filters I have added DAX filter to each of the Fact Table

&nbsp;

=FactInternetSales[SalesTerritoryKey]=LOOKUPVALUE(DimUserSecurity[SalesTerritoryID], DimUserSecurity[UserName], USERNAME(), DimUserSecurity[SalesTerritoryID], FactInternetSales[SalesTerritoryKey])

=FactResellerSales[SalesTerritoryKey]=LOOKUPVALUE(DimUserSecurity[ResalesTerritoryID], DimUserSecurity[UserName], USERNAME(), DimUserSecurity[ReSalesTerritoryID], FactResellerSales[SalesTerritoryKey])

&nbsp;

This DAX filter will get the data for the logged in user, match the user with the DimUser table, pick the SalesTerritoryID or ReSalesTerritoryID from the DimUser table, match it with the FactInternetSales or FactResellerSales and it will get the data specific to the territory that is assigned the user.

Once everything is set I have saved the model and deployed it in my Analysis Service.

&nbsp;

<strong><u>Result:</u></strong>

Now to test it, I have browsed the Model from Management Studio with the user Harpreet(xyz/harpsi) who has access to FactInternetSales for Australia region and FactResellerSales for Germany region.

Upon browsing the Fact Table based the SalesTerritory Region, it worked completely fine for me. Please refer the screenshot below.

<a href="https://msdnshared.blob.core.windows.net/media/2018/04/4.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/04/4.png" alt="" width="540" height="484" class="alignnone size-full wp-image-3935" /></a>

<a href="https://msdnshared.blob.core.windows.net/media/2018/04/5.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/04/5.png" alt="" width="528" height="485" class="alignnone size-full wp-image-3945" /></a>

&nbsp;

<strong><u>Additional Requirement</u></strong><strong>: </strong>Also let say that you have an additional requirement like mine where you want to give more than one Territory permission for one user in a Fact Table. This can also be done with this above approach. All you have to do is to add the Territory ID with the user details in the DimUserSecurity table. Please refer the screenshot below.

&nbsp;
<table width="447">
<tbody>
<tr>
<td width="95"><strong>EmployeeID</strong></td>
<td width="119"><strong>SalesTerritoryID</strong></td>
<td width="135"><strong>ReSalesTerritoryID</strong></td>
<td width="84"><strong>FirstName</strong></td>
<td width="82"><strong>LastName</strong></td>
<td width="79"><strong>UserName</strong></td>
</tr>
<tr>
<td width="95">1</td>
<td width="119">1</td>
<td width="143">6</td>
<td width="82">Mani</td>
<td width="80">Jacob</td>
<td width="75">xyz\majac</td>
</tr>
<tr>
<td width="95">2</td>
<td width="119">2</td>
<td width="143">7</td>
<td width="82">Kane</td>
<td width="80">Conway</td>
<td width="80">xyz\kaneco</td>
</tr>
<tr>
<td width="95">3</td>
<td width="119">9</td>
<td width="143">8</td>
<td width="82">Harpreet</td>
<td width="80">Singh</td>
<td width="76">xyz\harpsi</td>
</tr>
<tr>
<td width="95">3</td>
<td width="127">3</td>
<td width="133">NULL</td>
<td width="82">Harpreet</td>
<td width="80">Singh</td>
<td width="76">xyz\harpsi</td>
</tr>
<tr>
<td width="103">2</td>
<td width="107">NULL</td>
<td width="143">6</td>
<td width="82">Kane</td>
<td width="80">Conway</td>
<td width="80">xyz\kaneco</td>
</tr>
</tbody>
</table>
&nbsp;

Here my user Harpeet has access to FactInternetSales for two Territory 9 and 3 which is Australia and Central whereas he has access to only one Territory for FactResellerSales.

This option is very helpful over some out of box requirement if you have user assigned to different role for different departments.

&nbsp;

Hope this helps for you as well.

&nbsp;

<strong>Author:      Jaideep Saha Roy –<span> </span><span>Support Engineer, </span>SQL Server BI Developer team, Microsoft</strong>

<strong>Reviewer:</strong>  <strong>Kane Conway – Support Escalation Engineer, SQL Server BI Developer team, Microsoft</strong>]]></content:encoded>
    </item>
    <item>
      <title>SSAS translation for client application</title>
      <link>https://docs.microsoft.com/archive/blogs/dataaccesstechnologies/ssas-translation-for-client-application</link>
      <pubDate>Fri, 06 Apr 2018 14:58:22 GMT</pubDate>
      <dc:creator><![CDATA[Krishnakumar Rukmangathan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dataaccesstechnologies/?p=3865</guid>
      <description><![CDATA[Tested on: Excel 2013, Excel 2016, Reporting Services 2012/2014/2016.

&nbsp;

Hello Everyone,...]]></description>
      <content:encoded><![CDATA[<strong><u>Tested on</u></strong>: Excel 2013, Excel 2016, Reporting Services 2012/2014/2016.

&nbsp;

Hello Everyone, in this blog I will discuss on how to view SSAS translation in different client Application.

&nbsp;

Before I begin with the details on this blog, if anyone doesn’t know what Translation in SSAS is, then I request you to go and check out the link below:

<a href="https://docs.microsoft.com/en-us/sql/analysis-services/translation-support-in-analysis-services">https://docs.microsoft.com/en-us/sql/analysis-services/translation-support-in-analysis-services</a>

&nbsp;

<strong><u>Requirement</u></strong>: I am sure everyone wants to view the Translation language of SSAS cube in the client application that they are using to pull the data from SSAS. So, how can we do it?

Well here I will talk about 3 client application- Excel, Reporting Services and Power BI.

&nbsp;

<strong><u>For Excel:</u></strong>

&nbsp;
<ol>
 	<li>Open an Excel sheet, go to the Data section-&gt; Get Data and choose from Analysis Services.</li>
 	<li>Enter the server name, credentials and choose the database and cube that you want and click on Next.</li>
 	<li>In the next page note down the File Name where the model will be saved (it will be in .odc extension) and click on Finish then Import the data.</li>
 	<li>Now close the Excel and go to the folder where the model is saved.</li>
 	<li>Open the .odc file in a notepad.</li>
 	<li>In the Connection String section, you will have to add a parameter called “Locale Identifier”</li>
 	<li>The default is 1033 which is English default (e.g.: Locale Identifier=1033)</li>
 	<li>You need to add the value as per your translation language in SSAS. Please the link below to know the Locale Identifier code for each language.</li>
</ol>
<a href="https://msdn.microsoft.com/en-us/library/ms912047(v=winembedded.10).aspx">https://msdn.microsoft.com/en-us/library/ms912047(v=winembedded.10).aspx</a>
<ol start="9">
 	<li>Once the Locale Identifier is set, save the file.</li>
 	<li>Now a new Excel file and go to the Data section.</li>
 	<li>Click on Existing Connection and choose the connection which you have create recently.</li>
 	<li>Once done import the data and you will see that the Language will show as per the SSAS translation language.</li>
</ol>
&nbsp;

<strong><u>For Reporting Services:</u></strong>

&nbsp;
<ol>
 	<li>Go to create Data Source section.</li>
 	<li>You can either choose to write the connection string or you can also choose to Build the connection string.</li>
 	<li>You can do this for both shared Data source and embedded data source.</li>
 	<li>While writing a connection string, apart from data source and Initial catalog, add the parameter “Locale Identifier=1034” (For my case I have used Spanish(Spain)).</li>
 	<li>If you choose to build the connection string, then click on Advanced button and look for Locale Identifier parameter.</li>
 	<li>Set the Locale Identifier value as per your translation language in SSAS by referring the link above.</li>
 	<li>Once done, save the data source.</li>
 	<li>Now while creating the data set you will see that the Language will show as per the SSAS translation language.</li>
 	<li>Please note that the report must be created based on the SSAS translation and the translation cannot be changed while viewing the report.</li>
</ol>
&nbsp;

<strong><u>For Power BI</u></strong>:

&nbsp;

Well for Power Bi we don’t have official support yet from Microsoft and there is no ETA as in when it will be supported.

HTH

&nbsp;

<strong>Author:      Jaideep Saha Roy –<span> </span><span>Support Engineer, </span>SQL Server BI Developer team, Microsoft</strong>

<strong>Reviewer:</strong>  <strong>Kane Conway – Support Escalation Engineer, SQL Server BI Developer team, Microsoft</strong>]]></content:encoded>
    </item>
    <item>
      <title>Configure Oracle data source for SQL Server Reporting Services (SSDT and Report Server)</title>
      <link>https://docs.microsoft.com/archive/blogs/dataaccesstechnologies/configure-oracle-data-source-for-sql-server-reporting-services-ssdt-and-report-server</link>
      <pubDate>Mon, 26 Mar 2018 12:22:28 GMT</pubDate>
      <dc:creator><![CDATA[Krishnakumar Rukmangathan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dataaccesstechnologies/?p=3735</guid>
      <description><![CDATA[In general, there are several links available to download the ODAC components from the Oracle...]]></description>
      <content:encoded><![CDATA[In general, there are several links available to download the ODAC components from the Oracle official site.  It varies across the Oracle versions, and the type of installer that we would need. Most of the time, we look for the .exe installer to install the Oracle related drivers as we are more comfortable with the Windows MSI installers.

In this blog, we will go through the ODAC driver installation and configuration with the SQL Server Reporting services (SSRS) data source to connect Oracle data source using Oracle native driver.

&nbsp;

<strong>Assumption</strong>:
<ol>
 	<li>We would be using a single system to develop the report using SQL Server Data Tools (SSDT) and host the report in Report Server. It means SSDT and SSRS both are installed in the same system.</li>
 	<li>SSDT version – Visual Studio 2017</li>
 	<li>SSRS – SQL Server Reporting Services 2014.</li>
</ol>
&nbsp;

<strong>Steps</strong>:

1. SSDT runs in 32 bit whereas SSRS runs in 64 bit. Since we are in the same system, we need to install both the bit-ness of Oracle drivers one by one.

We need to go to the Oracle official site to search for the drivers for the required version. Please note that we need to check for the installer which has the OLE DB/ ODP. Net (Oracle data Provider for .Net components.)

For 64-bit driver-

<a href="https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.oracle.com%2Ftechnetwork%2Fdatabase%2Fwindows%2Fdownloads%2Findex-090165.html&amp;data=04%7C01%7Csapa%40microsoft.com%7C1dfd675108eb463c1a7508d58df7652a%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636571016085146740%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwifQ%3D%3D%7C-1&amp;sdata=XgLpU0QYmD3zwYUDncHZbIyIDuYCwWnCYVGtfujMrmI%3D&amp;reserved=0">https://www.oracle.com/technetwork/database/windows/downloads/index-090165.html</a>

(Download link available during the time the blog had been written)

<a href="https://msdnshared.blob.core.windows.net/media/2018/03/146.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/03/146.png" alt="" width="578" height="248" class="alignnone size-full wp-image-3745" /></a>

&nbsp;

For 32-bit driver- <a href="https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.oracle.com%2Ftechnetwork%2Ftopics%2Fdotnet%2Futilsoft-086879.html&amp;data=04%7C01%7Csapa%40microsoft.com%7C1dfd675108eb463c1a7508d58df7652a%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636571016085146740%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwifQ%3D%3D%7C-1&amp;sdata=Vm4KunXE3XC%2FGUMXqmtFzQxa3hDbFQXf0JzbkjdObWI%3D&amp;reserved=0">https://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html</a>

(Download link available during the time the blog had been written)

<a href="https://msdnshared.blob.core.windows.net/media/2018/03/211.jpg"><img src="https://msdnshared.blob.core.windows.net/media/2018/03/211.jpg" alt="" width="664" height="446" class="alignnone size-full wp-image-3755" /></a>

2. After uncompressing the file, you will see the installer file. Once you double click on that, you will get the information on GUI which is self-explanatory.

<a href="https://msdnshared.blob.core.windows.net/media/2018/03/320.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/03/320.png" alt="" width="323" height="139" class="alignnone size-full wp-image-3765" /></a>

You need to note down where the oracle driver is getting installed, you need to place the tnsnames.ora file in that location which we will discuss later.  For me, the installation folder as

E:\app\client\xxxx\product\12.2.0\client_1 (32 bits)

E:\app\client\xxxx\product\12.2.0\client_2\ (64 bits)

Client_#, the number will change according to your installation order.

No need to update any environmental variable. During the installation, it was already done.  You can check the same going to the My computer -&gt; Properties -&gt; Advance System setting -&gt; Environmental Variables -&gt; System Variables -&gt; Path

<a href="https://msdnshared.blob.core.windows.net/media/2018/03/413.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/03/413.png" alt="" width="975" height="625" class="alignnone size-full wp-image-3775" /></a>

&nbsp;

3. Once the 32 bits and 64 bits driver installations are done, you need to place the tnsnames.ora file in the following location

E:\app\client\xxxx\product\12.2.0\client_1\Network\Admin

E:\app\client\xxxx\product\12.2.0\client_2\Network\Admin

&nbsp;

The format of tnsnames.ora file as below- Ref: <a href="https://docs.oracle.com/cd/F49540_01/DOC/network.815/a67440/appb.htm">https://docs.oracle.com/cd/F49540_01/DOC/network.815/a67440/appb.htm</a>
<pre>&lt;ServerName&gt; =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ##.###.##.###)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )</pre>
&nbsp;

&nbsp;

4. So, we have now successfully installed the Oracle drivers. The next step is to test the connection from Visual Studio and SSRS.

&nbsp;

5. Open the SSDT. I tested in SSDT 2017. Create a Report Server Project –&gt; File-&gt; New -&gt; Project -&gt; Reporting Services -&gt; Report Server Project

<a href="https://msdnshared.blob.core.windows.net/media/2018/03/510.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/03/510.png" alt="" width="975" height="681" class="alignnone size-full wp-image-3785" /></a>

&nbsp;

&nbsp;

6. After creating the Reporting Services Project, you need to do the test connection. You can do the test connection by following the below screenshot. Please note that here we are using the OLE DB driver.

<a href="https://msdnshared.blob.core.windows.net/media/2018/03/612.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/03/612.png" alt="" width="1078" height="717" class="alignnone size-full wp-image-3795" /></a>

&nbsp;

7. The same test connection, we will now be doing in SSRS. To do that we need to register the OraOLEDB driver. Go to the command Prompt (Run as Admin) -&gt; and then run the following command. The path might vary as per your installation directory. We need to register the 64 bits driver since SSRS run on 64 bits ( E:\app\client\xxxx\product\12.2.0\client_2\bin\OraOLEDB12.dll)

<a href="https://msdnshared.blob.core.windows.net/media/2018/03/710.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/03/710.png" alt="" width="886" height="358" class="alignnone size-full wp-image-3805" /></a>

&nbsp;

8. Once this is done, after deploying the project, we can do the test connection in SSRS

<a href="https://msdnshared.blob.core.windows.net/media/2018/03/85.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/03/85.png" alt="" width="572" height="545" class="alignnone size-full wp-image-3815" /></a>

&nbsp;

&nbsp;

9. We can use the ODP.Net to connect to the SSRS as well. This is the default driver which shows in SSDT. We need to register the ODP.Net DLLs. Go to the 64 bits installation folder. For me it is -

E:\app\client\xxxx\product\12.2.0\client_2

<a href="https://msdnshared.blob.core.windows.net/media/2018/03/95.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/03/95.png" alt="" width="884" height="380" class="alignnone size-full wp-image-3825" /></a>

Run the following commands using the command Prompt (Run as admin).
<pre>E:\app\client\xxxx\product\12.2.0\client_2\odp.net\bin\2.x&gt;oraprovcfg /action:gac /providerpath:E:\app\client\xxxx\product\12.2.0\client_2\odp.net\bin\2.x\Oracle.DataAccess.dll
E:\app\client\xxxx\product\12.2.0\client_2\odp.net\bin\4&gt;oraprovcfg /action:gac /providerpath:E:\app\client\xxxx\product\12.2.0\client_2\odp.net\bin\4\Oracle.DataAccess.dll</pre>
&nbsp;

&nbsp;

10. Once it is done, we can test the connection from SSRS, and as well as from SSDT.

<a href="https://msdnshared.blob.core.windows.net/media/2018/03/105.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/03/105.png" alt="" width="540" height="558" class="alignnone size-full wp-image-3835" /></a>

<a href="https://msdnshared.blob.core.windows.net/media/2018/03/1115.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/03/1115.png" alt="" width="554" height="521" class="alignnone size-full wp-image-3845" /></a>

&nbsp;

This is how you would be able to test the connectivity from the SSRS to the Oracle database. If it is not working, you might need to test the Oracle connection outside of SSRS. If that does work, and only connections made from SSRS fails, then I would recommend you contact the Microsoft Support team.

&nbsp;

&nbsp;

<strong>Author:</strong><span>     Samarendra Panda - Support Engineer, SQL Server BI Developer team, Microsoft</span>

<strong>Reviewer:</strong><span>  Krishnakumar Rukmangathan </span>– Support Escalation Engineer, SQL Server BI Developer team, Microsoft]]></content:encoded>
    </item>
    <item>
      <title>You cannot publish more than 200 Dataset/Report together within an Workspace in Power BI service</title>
      <link>https://docs.microsoft.com/archive/blogs/dataaccesstechnologies/you-cannot-publish-more-than-200-datasetreport-together-within-an-workspace-in-power-bi-service</link>
      <pubDate>Mon, 26 Feb 2018 07:51:45 GMT</pubDate>
      <dc:creator><![CDATA[Krishnakumar Rukmangathan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dataaccesstechnologies/?p=3685</guid>
      <description><![CDATA[&nbsp;
We have come across an interesting scenario recently while working on one of the customer...]]></description>
      <content:encoded><![CDATA[&nbsp;
<p style="margin: 0in;margin-bottom: .0001pt"><span>We have come across an interesting scenario recently while working on one of the customer issues. The issue was not being able to publish the PBIX file to Power BI service in one particular workspace. </span></p>
&nbsp;
<p style="margin: 0in;margin-bottom: .0001pt"><span style="font-size: 10.5pt;color: #333333">The Power BI Desktop shows below error while publishing to service: </span></p>
<p style="margin: 0in;margin-bottom: .0001pt"><span style="font-size: 10.5pt;color: #333333"> </span></p>
<p style="margin: 0in;margin-bottom: .0001pt"><b><span style="font-size: 10.5pt;color: #333333">Error message:</span></b><span style="font-size: 10.5pt;color: #333333"></span></p>
<a href="https://msdnshared.blob.core.windows.net/media/2018/02/1.gif"><img src="https://msdnshared.blob.core.windows.net/media/2018/02/1.gif" alt="" width="489" height="239" class="alignnone size-full wp-image-3695" /></a>

&nbsp;

Well to give you more insights on the Dataset: The dataset was not huge enough, it was in terms of few MB's of size.

We focused on the workspace for more details. The workspace has 198 Datasets already published within it.

The workspace already had a few datasets, Reports and Dashboards:

We already had the following:

-&gt; No. of dataset: 198 datasets, 190 report and 105 dashboards.

&nbsp;

The dataset was already published on service, few reports enhancements were made in Power BI desktop and published back to service. (Please note: It is not a necessity that the same dataset should already be present in same workspace)

&nbsp;
<p style="margin: 0in;margin-bottom: .0001pt">We enabled the Power BI Desktop Tracing :</p>
<p style="margin: 0in;margin-bottom: .0001pt">   -&gt;     Screenshot for the enabling the Tracing in PBI Desktop :</p>
&nbsp;

<a href="https://msdnshared.blob.core.windows.net/media/2018/02/24.jpg"><img src="https://msdnshared.blob.core.windows.net/media/2018/02/24.jpg" alt="" width="1007" height="589" class="alignnone size-full wp-image-3705" /></a>

&nbsp;
<p style="margin: 0in;margin-bottom: .0001pt"><b>The Error message in the Trace file found : </b></p>
<a href="https://msdnshared.blob.core.windows.net/media/2018/02/33.jpg"><img src="https://msdnshared.blob.core.windows.net/media/2018/02/33.jpg" alt="" width="1138" height="310" class="alignnone size-full wp-image-3715" /></a>

&nbsp;
<p style="margin: 0in;margin-bottom: .0001pt"><b>Look for the error stating the below :</b></p>
<p style="margin: 0in;margin-bottom: .0001pt"><b>\"httpStatusCode\":\"500\",\"exceptionType\":\"Microsoft.PowerBI.Client.Windows.PowerBIService.PowerBIServiceException\",\"errorCode\":\"ResourceLimitsPackageCountExceeded\",\"errorDetails\":\"{\\\"code\\\":\\\"ResourceLimitsPackageCountExceeded\\\",\\\"pbi.error\\\":{\\\"code\\\":\\\"ResourceLimitsPackageCountExceeded</b></p>
&nbsp;
<p style="margin: 0in;margin-bottom: .0001pt">If you see the same error in the trace, then it concludes that the workspace in which we are trying to publish the datasets has exceeded the its default limit.</p>
&nbsp;
<p style="margin: 0in;margin-bottom: .0001pt"><b>The reason for the error:</b></p>
<p style="margin: 0in;margin-bottom: .0001pt">The workspace allows only maximum of 200 datasets to be published with in it. This limit of 200 includes the combination of datasets and reports together. So, if you try to publish beyond this limit then you would get the above error in Power BI desktop.</p>
&nbsp;
<p style="margin: 0in;margin-bottom: .0001pt"><b>We have a few workarounds to resolve this issue:</b></p>
&nbsp;
<p style="margin: 0in;margin-bottom: .0001pt"><b>** Workaround  1:</b></p>
<p style="margin: 0in;margin-bottom: .0001pt">-------------------------</p>
<p style="margin: 0in;margin-bottom: .0001pt">-&gt; Flush out the unwanted/unused dataset from the workspace.</p>
&nbsp;
<p style="margin: 0in;margin-bottom: .0001pt"><b>** Workaround  2:</b></p>
<p style="margin: 0in;margin-bottom: .0001pt">-------------------------</p>
<p style="margin: 0in;margin-bottom: .0001pt">-&gt; Create another workspace and use it particularly for large datasets.</p>
&nbsp;
<p style="margin: 0in;margin-bottom: .0001pt"><b>** Workaround 3 :</b></p>
<p style="margin: 0in;margin-bottom: .0001pt">-------------------------</p>
<p style="margin: 0in;margin-bottom: .0001pt">-&gt; You can also use the Get Data method to import local files into Power BI Service by keeping the PBIX files into OneDrive or any local folder or any other Power BI supportable data source locations.</p>
&nbsp;
<p style="margin: 0in;margin-bottom: .0001pt"><b>Note: The Product team is aware of this limitation with in Power BI service UI and they are working to provide a resolution soon.</b></p>
&nbsp;

&nbsp;

<strong>Author:</strong><span> Firdous Fathima  – Support Engineer, SQL Server BI Developer team, Microsoft</span>

<strong>Reviewer:</strong><span>  Krishnakumar Rukmangathan – Support Escalation Engineer, SQL Server BI Developer team, Microsoft</span>]]></content:encoded>
    </item>
    <item>
      <title>“Pivot Table Operation failed. We cannot locate a server to load the workbook Data Model” error when applying filter in Excel workbook accessed through Power BI Report server</title>
      <link>https://docs.microsoft.com/archive/blogs/dataaccesstechnologies/pivot-table-operation-failed-we-cannot-locate-a-server-to-load-the-workbook-data-model-error-when-applying-filter-in-excel-workbook-accessed-through-power-bi-report-server</link>
      <pubDate>Mon, 26 Feb 2018 06:47:01 GMT</pubDate>
      <dc:creator><![CDATA[Krishnakumar Rukmangathan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dataaccesstechnologies/?p=3635</guid>
      <description><![CDATA[&nbsp;

Scenario and Issue: -

After configuring (by following...]]></description>
      <content:encoded><![CDATA[&nbsp;

<strong><u>Scenario and Issue: -</u></strong>

After configuring (by following <a href="https://docs.microsoft.com/en-us/power-bi/report-server/excel-oos">https://docs.microsoft.com/en-us/power-bi/report-server/excel-oos</a> article) Power BI Report Server to use Office Online Server (OOS) to host the Excel PowerPivot models, when you open the Excel workbook which has the PowerPivot model and try to apply filter or slicer, you get the below mentioned error.

&nbsp;

<strong>Error: -</strong>Pivot Table Operation failed. We cannot locate a server to load the workbook Data Model.

<a href="https://msdnshared.blob.core.windows.net/media/2018/02/148.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/02/148.png" alt="" width="1170" height="562" class="alignnone size-full wp-image-3645" /></a>

&nbsp;

<strong><u>Tested Environment: -</u></strong>
<ol>
 	<li><strong> </strong><strong>Edition: </strong>Power BI Report Server - SQL Server Enterprise with Software Assurance</li>
 	<li><strong> </strong><strong>Product Build:</strong>0.600.434</li>
 	<li><strong> </strong><strong>SSAS Version: </strong>SQL Server 2017</li>
 	<li><strong> </strong><strong>PBIRS Version:</strong> Power BI Report Server 2017 Microsoft 1.1.6514.9163 (October 2017)</li>
</ol>
&nbsp;

<strong><u>Cause: -</u></strong>

We looked at the ULS logs of the OOS at “C:\ProgramData\Microsoft\OfficeWebApps\Data\Logs\ULS” path and found that “Check Administrator Access (Server Name\POWERPIVOT): Fail” call failed. This indicates the network service account doesn’t have admin privileges on PowerPivot instance.

&nbsp;

In my case, I was able to resolve the issue by providing administrator permission to NT AUTHORITY\NETWORK SERVICE account on my SSAS PowerPivot instance.

&nbsp;

<strong><u>To do this: -</u></strong>
<ol>
 	<li>Connect to Power Pivot instance of SSAS from SSMS.</li>
 	<li>Right click on it and then click on properties.</li>
</ol>
<a href="https://msdnshared.blob.core.windows.net/media/2018/02/220.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/02/220.png" alt="" width="358" height="496" class="alignnone size-full wp-image-3655" /></a>

&nbsp;
<ol start="3">
 	<li>Select the security tab and then click on Add.</li>
</ol>
<a href="https://msdnshared.blob.core.windows.net/media/2018/02/318.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/02/318.png" alt="" width="668" height="605" class="alignnone size-full wp-image-3665" /></a>

&nbsp;
<ol start="4">
 	<li>Provide the NT AUTHORITY\NETWORK SERVICE account and then ok.</li>
</ol>
&nbsp;
<ol start="5">
 	<li>Verify that, Network account is added successfully as shown below.</li>
</ol>
<a href="https://msdnshared.blob.core.windows.net/media/2018/02/43.jpg"><img src="https://msdnshared.blob.core.windows.net/media/2018/02/43.jpg" alt="" width="496" height="32" class="alignnone size-full wp-image-3675" /></a>

&nbsp;

&nbsp;

<strong>Author:</strong><span>  Varun Kulkarni – Support Engineer, SQL Server BI Developer team, Microsoft</span>

<strong>Reviewer:</strong><span> Sarath Babu Chidipothu – Support Escalation Engineer, SQL Server BI Developer team, Microsoft</span>

&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>Using Amazon RedShift with Power BI</title>
      <link>https://docs.microsoft.com/archive/blogs/dataaccesstechnologies/using-amazon-redshift-with-power-bi</link>
      <pubDate>Mon, 26 Feb 2018 06:08:17 GMT</pubDate>
      <dc:creator><![CDATA[Krishnakumar Rukmangathan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dataaccesstechnologies/?p=3455</guid>
      <description><![CDATA[&nbsp;

Over this blog, I would like to address on how to install the Amazon Redshift Driver on...]]></description>
      <content:encoded><![CDATA[&nbsp;

Over this blog, I would like to address on how to install the Amazon Redshift Driver on Windows Operating System and how to configure the Data Source Name(DSN) to be used with Power BI.

&nbsp;

Creating a System DSN Entry for an ODBC Connection on Microsoft Windows.

<a href="https://msdnshared.blob.core.windows.net/media/2018/02/134.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/02/134.png" alt="" width="620" height="490" class="alignnone size-full wp-image-3465" /></a>

&nbsp;

After you download and install the ODBC driver, you need to add a data source name (DSN) entry to the client machine. SQL client tools use this data source to connect to the Amazon Redshift database.

<strong>Note: If you have installed Power BI(64-bit) make sure to install the Amazon Redshift ODBC Driver (64-bit) and for Power BI (32-bit) install Amazon Redshift ODBC Driver (64-bit).</strong>

&nbsp;
<ul>
 	<li>To create a system DSN entry</li>
</ul>
1. In the <strong>Start</strong> menu, in your list of programs, locate the driver folder or folders.

<strong>Note:</strong> <strong>If you installed the 32-bit driver, the folder is named Amazon Redshift ODBC Driver (64-bit). If you installed the 64-bit driver, the folder is named Amazon Redshift ODBC Driver (64-bit). If you installed both drivers, you'll have a folder for each driver.</strong>

2. Click <strong>ODBC Administrator</strong>, and then type your administrator credentials if you are prompted to do so.

3. Select the <strong>System DSN</strong> tab if you want to configure the driver for all users on the computer, or the User DSN tab if you want to configure the driver for your user account only.

4. Click <strong>Add</strong>. The <strong>Create New Data Source</strong> window opens.

<strong><a href="https://msdnshared.blob.core.windows.net/media/2018/02/213.png">
<img src="https://msdnshared.blob.core.windows.net/media/2018/02/213.png" alt="" width="738" height="529" class="size-full wp-image-3475 alignnone" /></a>    </strong>

&nbsp;

5. Select the <strong>Amazon Redshift ODBC driver</strong>, and then click <strong>Finish</strong>. The <strong>Amazon Redshift ODBC Driver DSN Setup</strong> window opens.

&nbsp;

<a href="https://msdnshared.blob.core.windows.net/media/2018/02/313.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/02/313.png" alt="" width="580" height="435" class="alignnone size-full wp-image-3476" /></a>

&nbsp;

6. Under <strong>Connection Settings</strong>, enter the following information:

<a href="https://msdnshared.blob.core.windows.net/media/2018/02/413.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/02/413.png" alt="" width="460" height="803" class="alignnone size-full wp-image-3485" /></a>

&nbsp;

<strong>Data Source Name:</strong> Type a name for the data source. You can use any name that you want to identify the data source later when you create the connection to the cluster.

<strong>Server: </strong>Specify the endpoint for your Amazon Redshift cluster. You can find this information in the Amazon Redshift console on the cluster’s details page.

<a href="https://msdnshared.blob.core.windows.net/media/2018/02/513.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/02/513.png" alt="" width="718" height="98" class="alignnone size-full wp-image-3495" /></a>

&nbsp;

<strong>Port: </strong>Type the port number that the database uses. By default, Amazon Redshift uses 5439, but you should use the port that the cluster was configured to use when it was launched.

<strong>Database: </strong>Type the name of the Amazon Redshift database.

Under <strong>Credentials</strong>, enter the following information:

<strong>User: </strong>Type the user name for the database user account that you want to use to access the database.

<strong>Password: </strong>Type the password that corresponds to the database user account.

Click <strong>Test</strong>. If the client computer can connect to the Amazon Redshift database, you will see the following message: <strong>Connection successful</strong>.

&nbsp;

<a href="https://msdnshared.blob.core.windows.net/media/2018/02/613.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/02/613.png" alt="" width="466" height="432" class="alignnone size-full wp-image-3505" /></a>

&nbsp;

<strong>Extracting the data from the Amazon Redshift Database for Power BI Desktop.</strong>
<ul>
 	<li>Click on <strong>Get Data</strong> from the Power BI Desktop console. Then click on <strong>Other</strong> and further click on <strong>ODBC</strong>.</li>
</ul>
<a href="https://msdnshared.blob.core.windows.net/media/2018/02/713.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/02/713.png" alt="" width="767" height="834" class="alignnone size-full wp-image-3515" /></a>

&nbsp;

Click on connect.

Click on the drop down under From ODBC.

<a href="https://msdnshared.blob.core.windows.net/media/2018/02/86.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/02/86.png" alt="" width="607" height="235" class="alignnone size-full wp-image-3525" /></a>

&nbsp;

Select the DSN name which you have created and click on OK.

<a href="https://msdnshared.blob.core.windows.net/media/2018/02/94.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/02/94.png" alt="" width="883" height="277" class="alignnone size-full wp-image-3535" /></a>

&nbsp;

A prompt asking for credentials will pop-up. Pass on the database credentials. And click on <strong>Connect</strong>.

<a href="https://msdnshared.blob.core.windows.net/media/2018/02/105.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/02/105.png" alt="" width="885" height="439" class="alignnone size-full wp-image-3545" /></a>

&nbsp;

After connecting <strong>Load</strong> your data and Publish it in the Power BI Desktop.

<a href="https://msdnshared.blob.core.windows.net/media/2018/02/1114.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/02/1114.png" alt="" width="1105" height="868" class="alignnone size-full wp-image-3555" /></a>

<a href="https://msdnshared.blob.core.windows.net/media/2018/02/1210.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/02/1210.png" alt="" width="641" height="375" class="alignnone size-full wp-image-3565" /></a>

&nbsp;

&nbsp;

<strong>Configuring the data source for the Power BI Service for scheduling a refresh.</strong>
<ul>
 	<li>Click on <strong>Settings</strong> icon and choose the <strong>Manage gateways</strong></li>
</ul>
<a href="https://msdnshared.blob.core.windows.net/media/2018/02/135.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/02/135.png" alt="" width="906" height="638" class="alignnone size-full wp-image-3575" /></a>

&nbsp;

Click on <strong>ADD DATA SOURCE</strong> for configuring a data source for your dataset.

<a href="https://msdnshared.blob.core.windows.net/media/2018/02/143.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/02/143.png" alt="" width="579" height="514" class="alignnone size-full wp-image-3585" /></a>

&nbsp;

Fill in the required information and click on <strong>Add</strong>.

<strong>Note: The data source name should be the same as passed on to the dsn. And the connection string should be in the format: dsn=&lt;dsnname&gt;</strong>

<a href="https://msdnshared.blob.core.windows.net/media/2018/02/153.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/02/153.png" alt="" width="981" height="814" class="alignnone size-full wp-image-3595" /></a>

&nbsp;
<ul>
 	<li><strong>Once you have configured the data source add the gateway to your dataset and you are ready to go.</strong></li>
</ul>
&nbsp;

<strong>Author:</strong><span>  Aishwarya Jaiswal – Support Engineer, SQL Server BI Developer team, Microsoft</span>

<strong>Reviewer:</strong><span>  Kane Conway  – Support Escalation Engineer, SQL Server BI Developer team, Microsoft</span>

&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>TLS Issue with SSIS package while accessing OData Source like Dynamics AX Online</title>
      <link>https://docs.microsoft.com/archive/blogs/dataaccesstechnologies/tls-issue-with-ssis-package-while-accessing-odata-source-like-dynamics-ax-online</link>
      <pubDate>Tue, 16 Jan 2018 12:13:20 GMT</pubDate>
      <dc:creator><![CDATA[Krishnakumar Rukmangathan]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dataaccesstechnologies/?p=3415</guid>
      <description><![CDATA[&nbsp;

I have come across an interesting scenario recently while working on one of the customer...]]></description>
      <content:encoded><![CDATA[&nbsp;

I have come across an interesting scenario recently while working on one of the customer issues. The SSIS package fails during the execution, even though the Test Connection and Preview Data in the OData Source Task succeeds while connecting to the Dynamics AX OData Source.

<strong>Here is the error message we got:</strong>

<em>[OData Source [2]] Error: Cannot acquire a managed connection from the run-time connection manager.</em>

<em>[SSIS.Pipeline] Error: OData Source failed validation and returned error code 0xC020801F</em>.

&nbsp;

Let me give you a quick background of the issue. The SSIS 2014 Package fails during the execution while connecting to Dynamics AX Online OData Source with the below error:

<a href="https://msdnshared.blob.core.windows.net/media/2018/01/110.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/01/110.png" alt="" width="948" height="394" class="alignnone size-full wp-image-3416" /></a>

The Fiddler trace looks like below

<a href="https://msdnshared.blob.core.windows.net/media/2018/01/210.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/01/210.png" alt="" width="626" height="106" class="alignnone size-full wp-image-3425" /></a>

<a href="https://msdnshared.blob.core.windows.net/media/2018/01/39.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/01/39.png" alt="" width="655" height="488" class="alignnone size-full wp-image-3435" /></a>

You can clearly see that HTTPS Handshake failed while trying to access the OData Source URL.

&nbsp;

We can resolve this using the below steps:
<ol>
 	<li>Install Microsoft .NET 4.6 and above on your computer (<a href="https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftechnet.microsoft.com%2Fen-us%2Flibrary%2Fsecurity%2F2960358.aspx&amp;data=02%7C01%7Cmonaraya%40microsoft.com%7Ce54037673d7d4c2f125508d5370951fe%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636475435991756762&amp;sdata=mORqmmSlxY3km1%2BWd5l5vEJCubSwLog%2F7VxWvpG2VG0%3D&amp;reserved=0">https://technet.microsoft.com/en-us/library/security/2960358.aspx</a>).</li>
 	<li>Enforce TLS 1.2 on your machine through registry settings. In an elevated command prompt run the following commands:</li>
</ol>
<ul>
 	<li>reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /v SchUseStrongCrypto /t REG_DWORD /d 1 /reg:64</li>
 	<li>reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /v SchUseStrongCrypto /t REG_DWORD /d 1 /reg:32</li>
</ul>
&nbsp;

If you have performed the above action plan and you are still experiencing the issue, then please contact the Microsoft CSS team for further investigation.

&nbsp;

<strong>Author:</strong><span>      Mounika Narayana Reddy – Support Engineer, SQL Server BI Developer team, Microsoft</span>

<strong>Reviewer:</strong><span>  Krishnakumar Rukmangathan – Support Escalation Engineer, SQL Server BI Developer team, Microsoft</span>]]></content:encoded>
    </item>
  </channel>
</rss>