Consumer PowerPivot/Excel DataModel from another Excel file? - excel

Short version: Is there any way/hack to use the embedded DataModel/PowerPivot cube of an Excel 2013/6 file from another Excel file?
Long version:
We have a large Excel Data Model with >400k rows and >100 measurements, feeding multiple reports (i.e. PivotTable on separate worksheets). As all this is growing, we want to split this out into a (large) data model and multiple reports. I know this could be done with SharePoint or PowerBI - however one of the key requirements is to be able to analyse the data offline. Hence, I'm trying to figure out any way to connect to the data model from another file....

There's no way that I know to do what you're asking. Is there any reason you can't just include all the reports in one workbook with the data model? Since you have to be able to analyze offline, anyway, everyone will need a local copy of the model. If the concern is just that there will be too many sheets in a single workbook, you could just put a thin veneer of VBA in it to hide and unhide sheets in groups for ease of use.

It looks like Microsoft has added an option to establish connection via ODC file.
See this f.e. https://learn.microsoft.com/en-us/sql/reporting-services/report-data/use-an-office-data-connection-odc-with-reports?view=sql-server-ver15
However it's not working out for me, I am using Excel 2016, exported data model from the file with data model as a separate odc file but when I try to add this as a connection in another file - I get the message - can't open the file. Looks like creating ODC file is not that straightforward.
Anyone had similar issues?

Related

How to reproduce executive summary using Power BI which was created in Excel

I aplogize beforehand if this questions turns out to be not specific enough. The issue is as following:
I have an excel file in which there are several sheets with lots of calculations (mostly financials). I have access to the same database from where raw excel file was downloaded. Now I want to repreduce the calculations and executive summary using Power BI getting the data from database directly (most likely using Direct Query mode). But I am not sure how should go about it? Should/can I use the existing Excel file to somehow copy the work that has been already done and just change the source to database? Or will I have to do it all over again? One main point when considering the above questions is whether Power BI will be able to do all the complex calculations done in Excel previously?
Via search I came accross to a few videos where they say we can upload Excel file into Power BI and then apply the same tables from database and finally using Advanced Editor change Excel tables sources to database. But thing is that database doesn't have the kind of tables I have in Excel (lots of changes and calculations are applied to the raw data that was downloaded from database). So I am not sure how this method can work.

What is the best way to work with manually Excel collected data from different sources?

I have been tasked with creating Power BI KPI reports and the data to feed those reports comes from different sources and is collected manually.
There is one person responsible per KPI. That person collects the KPI's data monthly and puts it in an Excel file. Then, that person sends the xlsm file to another person, who is responsible of organizing multiple KPI's into one Excel file. Ultimately, that person sends it to me and I use that xlsm file to create the report. The same process goes on per area of the company (6 in total) every month.
As you can see, there is a lot of copy/paste going on which can indice errors.
What is the best way to approach this?
I can't comment, so I will explain here what I think you can do.
I will ignore the collecting of data by person responsible per KPI.
You can use a database connection, using plugins or VBA, to send the Excel data to a database. Create a VBA Excel file with a script to send the data to a database and there you can do whatever you want. The most important thing that you need to do, is limit the 'columns' of data that Excel will have, or find a way to get the data directly from the source, using an API or whatever you find.
Another approach is creating a web form to send data directly to you, but i don't know if this is possible in your case.
It's the only thing I can think, given the limited options.

Connecting Powerquery to multiple Powerpivot files

I have around half a dozen Powerpivot files containing data extracted from an SQL database. Each file has around 30 million lines of data in an identical format. I do not have access to the underlying database but each powerpivot file contains the data.
I would like to connect to all of these files in one new workbook using Powerquery so that I can append them, add them to the data model and work with them in Excel.
I have found various solutions on how to get the data into CSV format using DAX studio but I would prefer to avoid this as it seems an unwieldy solution to export hundreds of millions of lines of data to CSV and then import it back to Powerquery when I already have the formatted data in Powerpivot.
I also don't have any experience of using SQL so would prefer to avoid that route.
I've tried creating a linkback as described here https://www.sqlbi.com/articles/linkback-tables-in-powerpivot-for-excel-2013/ but when I connect to this it only returns 1,048,576 lines of data (i.e. what Excel is limited to).
Is there an option for Powerquery to use Powerpivot data in a separate workbook as a source or another straightforward solution?
Thanks
You can either materialise the data (which you've tried, using Linkback tables), or you can copy the queries. There's no other way to reference powerpivot model data.

Excel PowerPivot - change data source type

I have an Excel 2016 with 30 graphs based on PowerPivot. PowerPivot fetches the data from another Excel sheet, but I want it to get the data from a SQL server table instead.
How can I change the data source type in PowerPivot? I've tried looking in the Excel xml without any luck. Would be a lot of work re-creating all graphs over again just to switch data source
Thanks
Dennis
One suggestion I would make for the future, if all the users are using 2016 is to use Power Query which comes standard with that version of excel. In the Power Query loading data into Power Pivot scenario, all Power Pivot cares about is the column names. This means that the query can be changed between data source types without causing issues, as long as the same column names are changed.
As an example, I have one file that based on a parameter flag rips data out of a series of excel files on a shared network drive or Share Point. Both of which would be different data sources. The first opening a folder as the data source, then excel files listed within the folder. The other opening a share point list as its data source, then navigating though excel files.

Loading Multiple Sheets in QlikView

I have been working on creating a QlikView dashboard for my senior management to use, the current build uses a simple AccessDB back-end to source all tables loaded into the dashboard. However, due to our system limitations, if we'd like to host the dashboard on our intranet the back-end has to be switched to Excel.
Instead of creating multiple Excel files to load them up separately, I was thinking of connecting all my tables directly into Excel with multiple sheets representing multiple tables. By default when you load Excel into QV it only reads the first sheet, is there a way to get it to read all sheets in that Excel file?
Let me know your thoughts.
Regards,
Yasir
I saw the solution to this a few days ago. But I am not sure where is the post anymore or whether it works. Regardless, here is what I remember:
Here is the usual one:
(biff, no labels, table is [Table$])
But if you want to load all sheets,
(biff, no labels)
^In order to do this, make sure all sheets are in the same format/ table.
you need to set vFileName, vStartIndex, vEndIndex
// create a dummy table. it will be used in first concatenation
Excel:
Load * Inline
[DummyFiled];
// loop all your sheets and build Excel table
FOR index = vStartIndex TO vEndIndex
concatenate(Excel)
LOAD
*
FROM [$(vFileName).xlsx]
(ooxml, embedded labels, table is [Page $(index)]);
NEXT index;

Resources