• Excel Web Access web part won’t display an Excel workbook that will display correctly with Excel Services (xlviewer)

     

    Issue

     

    In some scenarios, an Excel Web Access web part won’t display an Excel workbook that will display correctly with Excel Services (xlviewer). Instead of seeing the published workbook contents in the web part, there is just a placeholder icon where the workbook should be displayed, and there are no errors in the web part or on the page.

     


     

    In this scenario, if you look at the Internet Explorer Developer Tools (IE > Tools > Developer Tools) while you attempt to display an Excel workbook in an Excel Web Access web part, you may see errors like this one “TypeError: o.getName is not a function”.



     

    We have seen this issue with at least these versions of SharePoint 2013: 

    • 15.0.4420.1017
    • 15.0.4569.1000

    Cause

     

    This can be caused by an issue with compatibility between the .NET AJAX Control Toolkit and the Excel Web Access web part.

     

     

    Workaround

     

    Do not use the .NET AJAX Control Toolkit to implement Ajax functionality for a site using Excel Web Access web parts.


  • BISM icons not present in SharePoint 2013 Library

    We have worked several cases where BISM icons are no longer present in a SharePoint Library.  In the below screenshot you can see the icon is a blank square.

    We have found that the mapping is no longer present in the DOCICON located in one of the two directories (dependant on the version you are using):

    C:\Program Files\Common Files\microsoft shared\Web Server Extensions\14\TEMPLATE\XML
    C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\TEMPLATE\XML

    The missing mapping is: <Mapping Key="bism" Value="PowerPivot\icbism.png" />

    This points to the icbism.png


    You will want to add this to the DOCICON and Save.

    Note: You may need to Stop and Start IIS, because the file may have a lock on it.

    As you can now see the BISM Icon is now present!

  • Configuring BI Semantic Model Connections (BISM files) to PowerPivot Workbooks in SharePoint 2013

    Many customers come to us with questions surrounding the use of BISM files.  Primarily why should they use them and how to configure them.  In the following I will attempt to answer both questions.

    Why:

    When you upload a PowerPivot workbook to SharePoint, SharePoint is intelligent enough to create a Data Model under the Analysis Services PowerPivot Instance (If you have an Analysis Services Server in PowerPivot Mode and listed under the Excel Services > Data Model Settings).  You now have a Data Model using Microsoft's In Memory X-Velocity technology and all you had to do was upload a PowerPivot workbook to SharePoint!  This workbook could hypothetically be up to 2GB in size (SharePoint's file limitation is 2GB) and lets also say you want to create 10 unique reports off that same data.  You could re-create 10 identical workbooks in the Excel Rich Client, upload them to SharePoint ,and these workbooks would all have their own Data Models occupying system memory OR you could point these 10 thin (or shim) Excel workbooks to that one already existing Data Model.  This is great because you don't have to load 10 individual 2GB Data Models under the PowerPivot Instance. 


    These BISM files are essentially connection files (like an .odc) to Data Source.  If you do not want to grant users certain permission to an actual database, but you want them to be able to build reports in Excel off of data from that database, you can achieve this via BISM files.  Users can access this data (Data Model), build reports, and these workbooks will show fresh data daily (as long as you configure a Scheduled Data Refresh to the source PowerPivot workbook).

    Lastly, if you click on the BISM file (or choose Create Power View Report), it will load a PowerView Report.

    How:

    First you need to add the BI Semantic Connection Content Type.  To do this, you will need to browse to Library Settings

    Click on Advanced Settings

    Choose Yes under Allow management of content types?

    Click Add from existing site content types

    Choose BI Semantic Model Connection and click Add >

    Browse to the document library, choose the File tab > New Document > BI Semantic Model Connection

    This will open a New BI Semantic Model Connection, name the item and then add the URL of the PowerPivot workbook in SharePoint.  In this example, the PowerPivot workbook will be stored in the same location as the BISM file, we merely right clicked on the workbook and chose Properties (http://sp/Shared%20Documents/PowerPivotWorkbook.xlsx):

    You now have a BISM file that points to the PowerPivot workbook in SharePoint

    You can choose to open this in PowerView via Create PowerView Report

    As you can see, this opens a PowerView Report

    You can also use this BISM file in Excel, but first you will want to make note of the BISM URL.  Right click on the BISM file and choose Properties (http://sp/Shared%20Documents/BISM%20File.bism):

    Launch the Excel Rich Client > click the Data tab > From Other Sources > From Analysis Services

    Paste the BISM URL (http://sp/Shared%20Documents/BISM%20File.bism) next to Server Name: and click Next >


    As you can see, this will find the Data Model located under the Analysis Services PowerPivot Instance

    Data Model under the Analysis Services PowerPivot Instance via SQL Management Studio

    You can then modify the File Name: and Friendly Name: (I chose "BISM Connection") > Finish

    Choose PivotTable Report > OK



    You can then build your PivotTable and insert Slicers via PIVOTTABLE TOOLS (make sure you have the PivotTable select so the Contextual Tool Tab is present) > ANALYZE > Insert Slicer


     Save and Publish this workbook to SharePoint

    You can now open this workbook in Excel Services and interact with the Data Model.

    IMPORTANT:

    At the moment, there is a bug in the product and you will not be able to interact with the Data Model in Excel Services when pointing to a BISM file built off a PowerPivot workbook stored in SharePoint 2013.  You will get the error:

    "External Data Refresh Failed

    An error occurred during an attempt to establish a connection to the external data source.  The following connections failed to refresh:

    BISM Connection"



    If you run a SQL Profile Trace against this Analysis Services PowerPivot Instance while reproducing this error, you will see the Error "You do not have permission to perform the requested operation."


    This was fixed in SQL 2014 CU5:

    Cumulative update package 5 for SQL Server 2014
    http://support.microsoft.com/kb/3011055

    KB Article:

    Excel Services workbook fails to refresh using a .bism file
    http://support.microsoft.com/kb/3016518

  • SQL 2012, PowerPivot Management Dashboard Processing Timer Job fails

    Issue:

    The PowerPivot management dashboard does not show all usage data like it is suppose to and you see that the PowerPivot Management Dashboard Processing Timer Job fails.

    You may see errors like:

    "Call to Excel Services returned an error"



    “Cannot query internal supporting structures for column 'Date'[Rolling52Weeks] because they depend on a column, relationship, or measure that is not processed. Please refresh or recalculate the model”

    Verify Issue:

    The error information can be generic and not very useful for this issue.  You can verify this specific issue by starting SQL Server Management Studio and pointing it to your PowerPivot Service Application database, it is likely on the same SQL Server as you SharePoint 2013 content databases.  The database will likely be named something like this "DefaultPowerPivotServiceApplicationDB-57bc03ae-bd41-4102-ab6f-f03201e3b583"

    Expand the database in the tree and expand the Views folder.

    Right click on Usage.vDate and pick "Select top 1000 rows"

    Scroll all the way to the right in the results grid and look at the values for the "Today" column.

    If the "Today" column has NULL in it this is our problem (the column should have a valid date in it)

     

    Workaround:

    Open a new query window to the PowerPivot Service application database (same as referenced in the above steps)

    Run this command:

    EXECUTE sp_refreshview N'Usage.vDate';

     

    More Info:

    This issue was caused because the table the view references has been modified and the view was put into an invalid state.

    I am working with the product group to have SQL updates refresh these views automatically.

  • Excel Web Access Web Parts & Remote Blob Storage - "We don't know what happened, but something went wrong."

    We have seen several cases where customers can view an Excel Workbook in the browser, but not in the Excel Web Access Web Part.  They are seeing the below error in the Excel Web Access Web Part:

    “Excel Services

     

    We don’t know what happened, but

    something went wrong. 

     

    Could you please try that again?”

     

    When reviewing the ULS logs, we are seeing:

    11/24/2014 11:37:37.26 w3wp.exe (0x2864) 0x0BBC SharePoint Foundation Database d0d6 High System.Data.SqlClient.SqlException (0x80131904): The EXECUTE permission was denied on the object 'rbs_fn_get_blob_reference', database 'SharePoint_Content_80', schema 'mssqlrbs'.     at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)     at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)     at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)     at System.Data.SqlClient.SqlDataReader.TryHasMoreRows(Boolean& moreRows)     at System.Data.SqlClient.SqlDataReader.TryReadInternal(Boolean setTimeout, Boolean& more)     at System.Data.SqlClient.SqlDataReader.Read()     at Microsoft.SharePoint.SPSqlClient.ExecuteQueryInternal(Boolean retryfordeadlock)     at Microsoft.SharePoint.SPSqlClient.ExecuteQuery(Boolean retryfordeadlock)  ClientConnectionId:932b5260-fed3-44df-9e6a-72292182dfd9 c057cf9c-9345-605f-7c08-0f50fcd1dfd4

     

    This has to do with permissions and to resolve this, grant the following permissions to the Application Pool account on the content database:

    db_rbs_admin

    db_rbs_filestream_maintaner_1

    db_rbs_filestream_reader_1

    db_rbs_filestream_writer_1

    db_rbs_maintainer

    db_rbs_reader

    db_rbs_writer