Background:
Our company uses Sage Line 50 as our accounting software. We generate all of our Sales Orders from this program. We also use MS Access 2010 to store order information and generate our internal shop paperwork and packing slips.
The Problem:
Data entry redundancy. We enter information from Customer Purchase Orders into our Sage software, and then enter the same information into the Access database.
What I am looking for:
A solution that will let me export raw Sales Order data after creating in Sage into MS-Access
What I have tried:
The export process from Sage only allows CSV exports, and is a manual process that cannot be automated at all. I am able to produce this export and then run an append query that will import that data into the Access data, but I am looking to automate this process, perhaps on a daily basis. I have looked into using Crystal Reports (packaged with Sage, which I am told can run automated reports and save in an MS Excel format), but I do not know how to navigate the data files to find the specific sales data I am looking for.
The guys are correct - easiest way to do this would be to use the ODBC driver, however, you must run the correct SQL query and ensure you join the Purchase Order table to the Order item table using the correct fields or it will not return the right data.
One issue you will have is that you only want to pull through the most recent transactions so use a query like this to do that your query would look something like this:-
SELECT *, PURCHASE_LEDGER.ACCOUNT_REF, PURCHASE_LEDGER.E_MAIL FROM PURCHASE_ORDER, PURCHASE_LEDGER INNER JOIN POP_ITEM ON PURCHASE_ORDER.ORDER_NUMBER = POP_ITEM.ORDER_NUMBER WHERE PURCHASE_LEDGER.ACCOUNT_REF = PURCHASE_ORDER.ACCOUNT_REF AND RECORD_MODIFY_DATE >= '2013-04-03 00:00:00'
Alternatively there are many one-click commercial solutions to this problem - do a search on Google for "Sage Integration" and you'll find various suppliers who produce products that will do this for you
What you are trying to do can be automated as I've done it for the last company that I worked for (exporting sales orders and invoices to CSV and to Excel). However, the downer is that it requires the Sage SDK which costs £1500.
Related
I'm looking for a way to generate in an excel or csv file a List for every report on Business Objects server with its user access right.
My report should be like: Folder / Report Name / User or Group Name / Privileges
Is there any way to generate such report?
The query builder has no export function built in – the best I’ve been able to do with it is to copy and paste to Excel, which can be pretty messy.
Here’s an example of a query that should work for you:
select SI_NAME, SI_OWNER, SI_PROCESSINFO, SI_SCHEDULEINFO from CI_INFOOBJECTS where SI_SCHEDULEINFO.SI_STARTTIME>=’2009.05.16.05.00.00′ and SI_SCHEDULEINFO.SI_STARTTIME<‘2009.05.17.05.00.00’ – would be from midnight on the 16th to midnight on the 17th if you?re in the Central time zone during DST ? the results are in local time
I think the QB was intended as an example of what you can do with the BOE SDK and has pretty limited functionality, but it can give you some very useful information without any .net or java development.
I have a dashboard I am developing in 2018.2.3 Desktop that will eventually get published to our internal Tableau Web Portal. I am writing a "Help" tab that has some documentation, directions, etc. for users to view in case they are curious what report is for, how to use it, definitions, etc..
One piece that I want to include at the header of this are three dates:
Report Created
Report Data Refresh
Report Publish Date
The first two are simple, the "Report Created" is just text, since I have no idea how to get the date the report was actually started. Text is fine for this. The Data Refresh is simple as using the, "". That works perfectly.
My only issue is I'd like to include the most recent publish date / revision. Now, I see this in the Tableau Web as meta data on the dashboard, but I'd like it to be part of this "Help" page. Is there a way to do this with some sort of dimension or variable? Thanks in advance.
If you are on Server and not Online, you can take a look at getting this data from the WORKGROUP database that Tableau Server runs from. Use this guide from Tableau to get that setup.
Then you will want to look at the workbook, sites and workbook_versions tables. Here is a sample query that could help.
select s.name site, w.name workbook, wv.version_number, wv.published_at, w.updated_at
from workbooks w
left join sites s on w.site_id = s.id
left join workbook_versions wv on w.id = wv.workbook_id
where upper(w.name) like '%<WORKBOOK>%'
group by 1,2,3,4,5
having w.updated_at = max(w.updated_at)
published_at is a timestamp of the initial publish.
updated_at is the last date it was updated.
version_number is a count of how many times the workbook has been published to on that site.
Here is a data dictionary for all the other available tables.
You can pull this query as a new data source and build the text that you want to display.
I am using Power BI in my current project for making charts. My data source is Azure SQL database.
I would like a table chart to display today and yesterday data only, for which i used advanced filtering by setting the filter to today and yesterday dates. However, I want to be able to open my report tomorrow and see charts use data from tomorrow and today respectively.
With advanced filtering the charts appear static, not dynamic.
It would be good if someone could explain how to write queries in Power BI on my tables.
You could either
1) modify your sql query to only return today and yesterday data
or
2) add a calculated boolean column, something along the lines of
"IsCurrent = IF(AND(DATEVALUE(Table1[Date])<=TODAY() , 1.0*(DATEVALUE(Table1[Date])-TODAY())<=2),True,False)"
Then filter by IsCurrent.
Using the SDK you can apply filter(s) dynamically to the report. This allows you to simulate the user filtering the report data to the current day and yesterday.
Your client app would compute the correct filter data values and apply it to the report. Using something like report.setFilters(filters)
See this related question for more information about filters:
Power BI Embed URL-multiple filters
This is a little bit of a stretch, but we're trying to convert old reports in an increasingly unstable Access Database and I have a question.
Here's what the report does in Access currently:
The user gets prompted for one of our many Suppliers in a drop down style list
Once the supplier is entered, that Suppliers list of parts will be populated
The report then pulls an email address from our system (IFS) and emails the list that has been populated to the email in our files.
We've made a SQL Query that will pull in the information that we need to replicate the report, but we're at a sort of cross-roads with how to get it to automatically go through the list of Suppliers that are in the Parameters and send off the email to them all automatically.
Would there be an easier way to do this in Crystal Reports (2011) besides automating the report and selecting all the parameters manually or in Oracle SQL Developer through maybe a WHILE LOOP?
Thanks in advance, and if you need any more information, I'll try and clarify!
This looks like a data driven report ( publication). You will run a query to retrieve the list if suppliers and their emails then run a report for each record returned by the query. Let say you have a report , which accepts a parameter SupplierID and the query returns data like this
SupplierID SupplierEmail
ID=1 email=supplierA#mail.com
ID=2 email=supplierB#mail.com
ID=3 email=supplierC#mail.com
The software will get row #1 and will use ID=1, as a parameter for Suppliers report, will export the report and will send the exported file to supplierA#mail.com. Then it will move to the next row and will use ID=2 as a parameter for the next run of the same report, export it and send it to supplierB#mail.com. The same will happen for row #3. You can check also this video, which demonstrates the proces: http://www.r-tag.com/Pages/Preview_CreateBatchJob.aspx .
Because the values for report parameters, emails etc are returned by the query this approach is known as data driven report ( publication).
Data driven publications are available in SSRS if you own SQLServer Enterprise license. There are other types of software who support them. The sample video above is from R-Tag, which could be useful too and supports SSRS, Crystal reports and SQL Ad-hoc queries. If you use Ad-hoc query you can export suppliers data to Excel without creating a special report.
I used to create crystal reports by going into database expert, selecting tables and specifying the link manually. As I get a bit more comfortable with CR, there is a need for me to put the underlying SQL query into a store procedure to provide data to the report. But doing so will require me to rewrite the whole report which is time consuming.
So, my question is if there are any guru in the community that could and/or have tried to replace the underlying SQL (created by manually add table and links) with a store procedure or cmd without having to rewrite the whole report? I would love to get some hint of how to do that as I have a couple dozen of reports that need "adjustments" and time does not permit me to rewrite them all.
My Crystal Report versions are CR 2008 and CR 2012.
Thank you in advance.
In case you can use an existing software : this feature is available in a free Crystal reports viewer. Here is the documentation, which explains the use :
http://www.r-tag.com/Documents/RTag%20DataSource.pdf
... and here is where you can get your free license:
http://www.r-tag.com/Pages/FreeCrystalReportsViewer.aspx
Crystal does an absolutely horrible job of migrating from many tables to a single DB object, be it a Command or stored procedure.
You might be able to Database | Set datasource location... to map your SP to one of the many tables in the report (choose the one that has the most fields in use); I've never been able to get this feature to work trying to map a Command to a table.
'Best practice' for a really-poor 'feature' set:
create a formula field for each field that will be on the canvas, but isn't grouped (these fields won't be removed when you change datasources)
add the Command to the report; link tables if desired
manually switch grouping, record-selection formula, sorting, etc.