none
XMLA out-of-line DSV throws WarningCode 1091436572

    Question

  • I have an out-of-line DataSourceView to do dimension processing.

    It works fine, and I have verified that it is working in SQL Server Profiler, but at the end it leaves a cryptic message:

    <return xmlns="urn:schemas-microsoft-com:xml-analysis">
      <results xmlns="http://schemas.microsoft.com/analysisservices/2003/xmla-multipleresults">
        <root xmlns="urn:schemas-microsoft-com:xml-analysis:empty">
          <Messages xmlns="urn:schemas-microsoft-com:xml-analysis:exception">
            <Warning WarningCode="1091436572" Description="Parser: Out of line object 'DataSourceView', referring to ID(s) 'dsvSales', has been specified but has not been used." Source="Microsoft SQL Server 2016 Analysis Services" HelpFile="" />
          </Messages>
        </root>
      </results>
    </return>

    I know that it *has* been used, and this annoying warning registers as an error in SQL Agent and makes my jobs fail.

    Has anyone seen it before or knows how to get rid of it?

    Monday, May 14, 2018 10:16 PM

All replies

  • Hi Halo79.9,

    Thanks for your question.

    >>>Has anyone seen it before or knows how to get rid of it?
    You can find an example that uses an out-of-line data source view to run a ProcessAdd on the Sales Territory dimension in below blog:
    ProcessAdd Examples


    Best Regards
    Willson Yuan
    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com

    Tuesday, May 15, 2018 5:36 AM
    Moderator
  • Hi Wilson, Thanks for that.  That link is where I got the information from.  Greg says "Real-life use for such an XMLA command would entail specifying a named query in the out-of-line DSV which returned only rows which did not exist in the Analysis Services dimension."

    Indeed I created a view to do this and got the error above.  I cannot hard-code the missing dimension members for obvious reasons.  I have reproduced my view below.  

    create   view [Sales].[vwDimSalesPersonProcessAdd] as
    select * from  [Sales].[vwDimSalesPerson]  vw 
      where vw.SalesPersonKey > ( select isnull(convert(int, "[Measures].[MaxKey]"),0) as MaxKey  /*-- all openquery results are strings --*/
                                          from openquery(OLAP_Sales, 'with member [Measures].[MaxKey] 
                                                                        as max([Sales Person].[Sales Person Key].AllMembers, StrToValue([Sales Person].[Sales Person Key].CurrentMember.Member_Key))
                                                                      select {[Measures].[MaxKey]} on columns from [Sales]')
                                 )


     

    Thursday, May 17, 2018 2:25 AM
  • Hi Halo79.9,

    Thanks for your question.

    >>><Warning WarningCode="1091436572" Description="Parser: Out of line object 'DataSourceView', referring to ID(s) 'dsvSales', has been specified but has not been used." Source="Microsoft SQL Server 2016 Analysis Services" HelpFile="" />
    According to above error message, it seems like that you have specified DataSourceView ID in your XMLA script, you just need to specify DataSource ID in the XMLA script, please delete DataSourceView ID 'dsvSales' in your XMLA script.


    Best Regards
    Willson Yuan
    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com

    • Proposed as answer by alexander fun Sunday, May 20, 2018 11:27 AM
    Thursday, May 17, 2018 7:54 AM
    Moderator
  • If I don't specify the DataSourceView in my XMLA then the default DataSourceView is used, which defeats the purpose of an out-of-line binding.  As Greg Galloway says in the example Wilson quoted:

        <!--important that this is the same ID as the current DSV the dimension is using-->

    In summary, I am reference an existing DataSource  by repeating its definition.  I am creating a new, out-of-line DSV which has the same ID as the one the Dimension is bound to, but references a different SQL view.  This allows the Process Add to happen, in an out-of-line binding.  This works, I have followed the process using SQL Server Profiler.  However, I also get a warning that my out-of-line DSV has not been used, which is wrong because I see it being used in the Profiler.  This false warning causes my Agent Jobs to fail.

    Monday, May 21, 2018 2:43 AM
  • So, this can not be achieved. If you specified the Data Source View, you will get a not used error. If you did not specify Data Source View, then the default data source view will be used. It seems like a no solution issue. Please open a support case to Microsoft for better service.
    Tuesday, May 22, 2018 5:54 AM
  • Gee Thanks.   
    Thursday, June 7, 2018 10:28 PM