AWS data into Excel? - excel

I have a client who has asked me to take a look at the spreadsheet that they use for manipulating AWS data in order to import sales invoices into Xero....I'm just wondering if it's possible to directly query AWS from Excel?...this would streamline the process by cutting out the manual AWS export plus I would be able to create a query that puts the data into the format that Xero needs to see.
...moving on from this, I guess the next logical step would be to create an API that Xero can hook up to....unless this is already a thing?
Darren

There is a sample Excel VBA / VB6 Helper Routines project that might get you going in the right direction.

Related

Seeking Advice on Solution Architecture using SQL, Python, and maybe Power Platforms

I am seeking advice on a smoother way to connect different languages/software together in a flow for a business problem I am trying to solve in my organization.
Business Question:
Currently the only source of data stored for a specific process in our organization is in Excel, and this data is critical for tracking our expenses. I would like to create, implement, and engineer a business process that enables user to enter data onto an online form which writes-back data to the database I create off of the existing Excel file. This form should have data validation criteria and be able to populate rest of the data based on some critical data the user enters.
Off of this database I'd like to use Python to create multiple PDF's (Price Lists) and save them onto the designated locations. I am currently using the following libraries: 1) pywin32.client to replace VBA and create pivot tables, os module for navigating directories.
Currently, the available tools in our organization include Microsoft suite so I have access to all the Power Platforms but not the premiums. I am familiar enough with Python and SQL as well and am open to suggestions on the best tech stack for this business use-case.
Here is what I have in mind so far:
Process
Preliminary Tools
Question
1. Clean data
PowerQuery OR Python pandas library
Is it possible to use PowerQuery output as one of the Flows in Power Automate? Using pandas would simplify a bit of this tech stack but I already have PowerQuery set up.
2. Create a database from .xlsx
SSMS OR dbt
Our organization doesn't have or use dbt. I believe this is free to use but if I use it, would it trigger security concerns?
3. Create multiple PDF contracts
Python pywin32
Is pywin32 the best tool to do this job (platform continuity, ease of use)?
4. Save these PDF contracts to the designated locations
os module with some for-loops
Thank you for your help!

Create Data Catalog column tags by inspecting BigQuery data with Cloud Data Loss Prevention

I want to use DLP to inspect my tables in BigQuery, and then write the findings to policy tags on the columns of the table. For example, I have a (test) table that contains data including an email address and a phone number for individuals. I can use DLP to find those fields and identify them as emails and phone numbers, and I can do this in the console or via the API (I'm using NodeJS). When creating this inspection job, I know I can configure it to automatically write the findings to the Data Catalog, but this generates a tag on the table, not on the columns. I want to tag the columns with the specific type of PII that has been identified.
I found this tutorial that appears to achieve exactly that - but tutorial is a strong word; it's a script written in Java and a basic explanation of what that script does, with the only actual instructions being to clone the git repo and run a few commands. There's no information about which API calls are being made, not a lot of comments in the code, and no links to pertinent documentation. I have zero experience with Java, so I'm not able to work out the process and translate it into NodeJS for my own purposes.
I also found this similar tutorial which also utilises Dataflow, and again the instructions are simply "clone this repo, run this script". I've included the link because it features a screenshot showing what I want to achieve: tagging columns with PII data found by DLP
So, what I want to do appears to be possible, but I can't find useful documentation anywhere. I've been through the DLP and Data Catalog docs, and through the API references for NodeJS. If anyone could help me figure out how to do this, I'd be very grateful.
UPDATE: I've made some progress and changed my approach as a result.
DLP provides two methods to inspect data: dlp.inspectContent() and dlp.createDlpJob(). The latter takes a storageItem which can be a BigQuery table, but it doesn't return any information about the columns in the results, so I don't believe I can use it.
inspectContent() cannot be run on a BigQuery table; it can inspect structured text, which is what the Java script I linked above is utilising; that script is querying the BigQuery table, and constructing a Table from the results, then passing that Table into inspectContent() which then returns a Findings object which contains fieldnames. I want to do exactly that, but in NodeJS. I'm struggling to convert the BigQuery results into the format of a Table as NodeJS doesn't appear to have a constructor for that type, like Java does.
I was unable to find node.js documentation implementing column level tags.
However, you might find the Policy Tags official documentation helpful to point you in the right direction. Specifically, you might lack some roles to manage column-level tags.

Date function and Selecting top N queries in DocumentDB

I have following questions regarding Azure DocumentDB
According to this article, multiple functions have been added to
DocumentDB. Is there any way to get Date functions working? How can i
get the queries of type greater than some date working?
Is there any way to select top N results like 'Select top 10 * from users'?
According to Document playground , Order By will be supported in future. Is ther any other way around for now?
The application that I am developing requires certain number of results to be displayed that have been inserted recently. I need these functionalities within a stored procedure. The documents that I am storing in DocumentDB have a DateTime property. I require the above mentioned functionalities for my application to work. I have searched at documentation and samples. Please help if you know of any workaround.
Some thoughts/suggestions below:
Please take a look at this idea on how to store and query dates in DocumentDB (as epoch timestamps). http://azure.microsoft.com/blog/2014/11/19/working-with-dates-in-azure-documentdb-4/
To get top N results, set FeedOptions.MaxItemCount and read only one page, i.e., call ExecuteNextAsync() once. See https://msdn.microsoft.com/en-US/library/microsoft.azure.documents.linq.documentqueryable.asdocumentquery.aspx for an example. We're planning to add TOP to the grammar to make this easier in the future.
You can email me at arramac at microsoft dot com to get early access to Order By right away. This is planned for broad release shortly.
Please note that stored procedures are best used when you have a write operation(s). You'll be able to better throughput on reads when you query directly.

Any way to establish 2-way syncing between Access and Excel with or without VBA?

I want to manipulate imported data from Access in Excel and send back additional data to Access mdb database. Is this feasible?
If you are looking for a place to start, you can:
1. Record a Macro
2. Do one manual import and manipulation
3. Stop the recording
and basically there you have the fundamentals of the code you need to do the rest.
Microsoft office provide these two database management system access and excel both plays the vital role in database. Yes, you can easily import the access in excel without any VBA code with same database.
By reading the article I got the answer of the following query and easily http://gallery.technet.microsoft.com/Access-To-Excel-Converter-00660936
import the data into excel sheet.
You just have to read the article.

Website -> Excel -> Excel

A little background to my question. I work for a company that is charged with retrieving data from databases from all 50 states and DC. I take this data and reformat it in excel. Once it's reformatted I use SQL Server to upload it to our website vetportal.agdata.net. While some states are not so bad, retrieving information from others make it very painful to sort through.
I have 2 questions:
Can a code be written so that a new database can be crossed checked with the old database (our records) and update the information in the old database while also excluding duplicate information?
Can a code be written to take a number from an open excel sheet, switch over to an open website, input the number, search for the individual, and extract his/her information, and finally update the excel with that information then move on to the next person? Ex, WA State's website is set up so that you can only look up one person at a time which is very tedious when going through 1200+ individuals.
I have some experience with C++ and have written programs that draw code from other files, but mainly only equations or values which then get evaluated in my code so I know this is a bit different.
I guess if you have a repetitive technological problem you can solve it with some programming.
Your questions:
You can make that with a little app, that using SQL reads the information from the new database and checks/updates the information of the old database.
This code is a little more difficult to do, but i guess it can be done. In C++, I don't know if there is any library that can already open Excel files, but in Java you have the Apache POI, that way you can open your excel file in the application, then while iterating through the information you open the website in the application, and submit the form you want with your number, getting the response and parsing it.
If you want to make this in Java I think it will not waste you too much time if you know C++ . The only exception is opening the website in java and parsing it which will take more time to learn and do.
Hope it helps!
1) Yes. Depending on the databases, you may be able to do a db to db connection. You could then write a query using an INNER JOIN to update information in the old database and exclude duplicates.
2) A few ways to approach this problem. Depending on your language (mine is PHP) you could use an open source class such as PHPExcel to open the sheet and fetch & update website data (cURL). You could also write some VBA within Excel that could do similar functionality.

Resources