Refreshable pivot table connected to an external source - excel

I am planning to deploy an Excel file where the users would only need to refresh to see the updated data. I can currently do this by sending out a new Excel file every time.
What I have:
Office 365
MariaDB on Digital Ocean
What I want:
Create a pivot table/data model connected to the database and have the data updated real time upon refresh.
I can do this on my own via ODBC but when sharing the file, it asks for the credentials which is saved on my ODBC file. Ideally, I don't want to share the credentials even though it's read-only.
Is there an alternative to ODBC so I can easily share the refreshable pivot table?

Related

Refresh excel linked file when SQL Server data table changes

I have an excel file which is linked to a SQL Server table using an External data connection. This table is refreshed weekly by an upstream process. For some reason, our users are unable to refresh the data by themselves since they run into authentication issues even though the password is saved and embedded in the file. They want me to email the file each week after the data is refreshed.
Currently, the table is refreshed via an SSIS process. I could use an Email Task and send the file as an attachment.
IS there a way that I can automatically refresh the file without opening or any other manual intervention at the time of execution?
I looked at some of the other solutions that have been posted online but most of them have the source data in a separate tab. Our data is external.
You can set spreadsheets to refresh automatically on a schedule using powerpivot and sharepoint.
https://support.office.com/en-us/article/manage-a-data-refresh-schedule-218448bc-24fa-4729-a28e-3ce5ef003e95
it creates a sql server agent job in the background to do the refresh from what I remember when I set this up at my last job, so you could tie it in to SSIS as a next step after it runs on the agent job. All sharepoint files can be picked up using windows explorer, so you could get it from it's file path there to email it out. Or you could just give them the sharepoint link, but now it will always be up to date.

Self-updating spreadsheet

Is it possible to create a spreadsheet that updates itself on a regular basis (daily, bi-weekly or monthly)? We use PostgreSQL. The content of the sheet is going to be based off a query I wrote.
What's the easiest way to connect an Excel spreadsheet to Postgres?
So far I have looked at:
A Microsoft product: https://support.office.com/en-us/article/Connect-to-a-PostgreSQL-database-Power-Query-bf941e52-066f-4911-a41f-2493c39e69e4
PostgreSQL's ODBC: https://odbc.postgresql.org/
However I can't find a clear explanation of how I am practically going to set up the spreadsheet.
A quick high-level explanation to connect excel to a database:
You can connect to a ODBC enabled DBMS's view or table using Excel's Get External Data buttons. Specifically in the Data tab, the From other Sources button.
To use this, you need to create a new DSN for your connection. Start>>"Search Box">>ODBC and use the 64-bit ODBC administrator to create a new System DSN. The DSN is the thing that will hold your ODBC connection's information, like the server address, username, password, etc...
Back in Excel you click the From Other Sources button in the Data tab and pick that DSN you just made. Then you can find the View you generated in Postgres and tell it which range you want to dump the data. That range then will hold the connection information so you can refresh any time you want.
Then, when you open the workbook you can just refresh the connection and pick up new data lickety-split.
There's other ways to connect Excel to ODBC and OLEDB enabled databases like using ADODB in VBA, but that's more complicated and probably overkill for you needs.

Excel Web App <-> ODBC database with read/write

Is it possible to create a Excel Web App (hosting in SharePoint) with connections to a ODBC database (e.g. PostGreSQL, SQL Server, or Oracle)
WHERE
The Query to the Database (read) includes the Employee Name (which is coming from a field in the spreadsheet, and uses that to populate the Excel Worksheet (currently we use a VLOOKUP to pull this data from a different EXCEL sheet, But that does not work with web parts).
And then we would like to be able to write back the data that the user fills into the Excel Web part to tables in the database.
That would also mean parameter-izing the SQL query so that it writes to the correct table?
If all of this is not possible, what do people think of a Scraper program that would read all 500+ employee excel workbooks (stored in SharePoint as Web App) where each employee puts there future time needs into the sheet, and then the Scraper will read through all the workbooks and populate the DB?

Import data from FoxPor .dbc files, re-create .frx reports in Excel / Power BI

there's an app in our company running on Visual FoxPro.
I need to create MS Power BI reports based on data from this app.
Files can be exported from the app manually to excel, which takes some time.
Ideally there was a data connection to Power BI to refresh data.
Opened .dbc file in VFP9, lots of tables and connections.
No app documentation available, don't know where to start.
Imported some data into x32 Access and Excel with MS ODBC connector.
Don't know how to re-create the connections and business-logic.
Opened .frx files for business logic. how do I convert that in Excel?
I am initially an Excel user, don't know any SQL or FoxPro.
Could learn MS Access if there's a way to import data from FoxPro.
So, I am not looking for a tool to migrate data from FoxPro.
But to refresh FoxPro DB data and re-create .frx logic in Excel / Power BI.
Is this feasable?

SSRS: Error while querying data from an Excel file (through ODBC)

I am trying to render a simple chart using SSRS. The data is in an Excel sheet. I have set up an user DSN and created a data source in SSRS using ODBC.
I am able to query the excel in Data tab. However while trying to preview, I get the following error:
error [hy000] [microsoft] [odbc excel driver] the connection for
viewing your linked Microsoft Excel worksheet was lost.
Anyone knows why this is happening and how this can be solved?
I would consider creating a SQL Sever Integration Services package to import the data from Excel to a SQL database and using the database as the data source for the report. The SSIS package could be scheduled to periodically refresh the data.
Using a file based data source like Excel is vulnerable to people modifying the structure of the spreadsheet and moving, deleting or locking the file.
Seems to be a fleeting error. I deleted the dataset, created a new one and re-ran again. It worked.

Resources