SkyNet Reports

Build your own reports, run them, and get the file in Excel, CSV or by email.

What SkyNet Reports does

SkyNet Reports lets you make your own reports from your company's data, without asking a developer each time. You choose the columns, add filters, and get the result on screen, as an Excel or CSV file, or by email.

Viewsmade by a developer Data sourceset by a Manager Reportbuilt by you Runin the background FileExcel, CSV, email

A developer prepares views (ready-made lists of data with friendly column names). A Manager connects them as a data source. From there, everything is done on screen by you.

User ✓ Builds, saves and runs reports✓ Sees public reports of their data sources✓ Downloads and emails their own files✓ Sets schedules for their reports✗ Cannot open Configuration Manager ✓ Everything a User can do✓ Sets data sources and their connections✓ Adds users and gives them data sources✓ Sees all reports, runs and schedules✓ Settings, permissions and the activity log

Signing in

The sign-in page
The sign-in page
  1. Open the address your Manager gave you.
  2. Type your username and password and choose Sign In.
  3. The first time, or after a reset, you are asked to set your own password.
Forgot your password? Choose Forgot password? on the sign-in page. A reset link is sent to your email.
After several wrong passwords the account is locked for 15 minutes.

Finding your way around

The home screen
The home screen
The same screens work on a phone
The same screens work on a phone

The report list

Reports of the data source chosen in the menu
Reports of the data source chosen in the menu
You want toDo this
Find a reportType in the search box. The list narrows as you type.
See one data sourceClick its name under Reports in the left menu. The name is then shown at the right of the tabs, and Reports, History and Schedules all show only that data source. Click Reports to see everything again.
See only some reportsChoose Favorites, Mine or Public.
Keep a report at the topClick the star. Favorites are always listed first.
Open a reportClick its row.
Sort the listClick a column heading.
Make your own versionCopy. The copy is private and yours.
Use a report on other data sourcesCopy, then tick the data sources under Copy to. One copy is made in each ticked data source. If a report with that name is already there, the copy gets 1, 2 and so on after its name. The copy works when that data source has the same view; if not, it tells you the view is not available and you can choose another view.
Share or unshareMake public / Make private (owner or Manager).
Remove a reportDelete (owner or Manager).
Long lists are shown 20 rows at a time. Use the page buttons under the list.
Private reports are seen only by you (and Managers). Public reports are seen by everyone who can use the same data source.

Building a report

  1. Choose + New report.
  2. Pick a data source and a view. If you have only one, it is chosen for you.
  3. Untick the columns you do not need. Use the small arrows to change their order.
  4. Look at the Preview on the right. It shows the first 50 rows and updates after every change.
  5. Choose Save, give the report a name, and you are done.
The builder: choices on the left, live preview on the right
The builder: choices on the left, live preview on the right
Saving a report
Saving a report
Tick Public only when others should see the report. You can change it later from the list.

Filters and sorting

A filter keeps only the rows you want. Choose + Add filter, pick a column, pick a rule, and type a value. Several filters work together: a row must pass all of them.

Kind of columnRules you can use
Textcontains, does not contain, is exactly, starts with, is empty, is not empty
Numberequals, is not, more than, at least, less than, at most, between, is empty, is not empty
Datethis month, last month, today, yesterday, last 7 days, last 30 days, this year, last year, on, before, after, between, is empty, is not empty
Yes/Nois Yes, is No
Rules like this month or last 7 days move with the calendar. They are the best choice for reports you run again and again, or on a schedule.

Sorting: choose + Add sort, pick a ticked column, and choose low to high or high to low. You can sort by up to 5 columns.

Totals and groups

To summarize instead of listing every row, choose a total next to a number column: Sum, Average, Smallest, Largest or Count. The other ticked columns become groups.

Region is the group; Amount is summed and orders are counted
Region is the group; Amount is summed and orders are counted
Example: tick Region and Amount, choose Sum on Amount. You get one line per region with its total.

Running a report

You press Runand keep working Waitingin the queue Runningreport service reads the data Readyfile is in History Failed or Cancelled Download · Email · Run again
  1. In the report list choose Run on a report, or Run inside the builder. A new report must be saved once first.
  2. If you want, type email addresses to receive the file.
  3. Choose Excel file or CSV file.
  4. You are taken to History. Keep working; a big report may take a while.
Run: choose the file type, and optionally who gets it by email
Run: choose the file type, and optionally who gets it by email

Filter values in the Run window

When a report has filters, the Run window shows them with the values used last time. Change the values if you want, for example the two dates of a date range, then choose the file type. The values you run with become the preset for the next run.

Who you areWhat you can change
Owner of the report, or a ManagerEverything in the report. In the builder, Run also saves any changes you just made.
Anyone else on a public reportOnly the filter values, and only in the Run window. Inside the report everything is locked.
To change more than the filter values of someone else’s report, make your own copy with Copy. The copy is yours and you can change everything in it.
You can have up to 5 reports waiting or running at the same time.

History and downloads

History: every run and its file
History: every run and its file
StatusMeaning
WaitingIn the queue. It starts by itself.
RunningBeing made. The number of rows so far is shown.
ReadyFinished. The file can be downloaded or emailed.
FailedStopped, with the reason shown under the status.
CancelledYou or a Manager stopped it.
Run ofWho can delete it
A private reportYou.
A public reportOnly the owner of that report and Managers. Such runs are skipped even when ticked.
Any run that is still waiting or runningNobody. Cancel it first.
Files are kept for a limited time (90 days unless your Manager changed it). After that, use Run again.

Emailing a file

Email a finished file
Email a finished file
  1. In History, choose Email on a Ready row.
  2. Type one or more addresses, separated by commas (up to 10).
  3. Add a short message if you like and choose Send.
Emails can only go to the domains your Manager allowed (for example your company’s own). If an address is refused, ask your Manager.
A very large file is not attached. The email then tells the reader to download it from History.

Schedules

A schedule runs a report by itself and can email the file, for example every Monday at 7:00.

Schedules
Schedules
  1. Open Reports > Schedules and choose + New schedule.
  2. Pick the report.
  3. Choose how often: every day, every week (pick the days), or every month (pick the day).
  4. Set the time and the file type.
  5. Optionally type who should receive the file by email, then Save.
A schedule
A schedule
A schedule turns itself off if its report is deleted or you can no longer use its data source.

Data sources

A data source is one database, or one web API, your users may report on. Open Configuration > Data sources.

Data sources and the state of their connection
Data sources and the state of their connection
The connection of a data source
The connection of a data source
FieldWhat to enter
TypeSQL Server, Oracle or Web API (JSON). For a web API see the next chapter.
Server, PortThe database server. The usual port is filled in for you. For SQL Server on the same machine you can enter (local) and leave the port empty.
DatabaseThe database name (Oracle: the service name).
SchemaUsers only see views in this schema. The suggested name is rpt.
User name, PasswordA database account for reporting. The password is stored encrypted and never shown again.
Encrypt / TrustLeave Encrypt on. Tick Trust only for your own server with a self-made certificate.
Save report files in Amazon S3Shown when Amazon S3 is filled in under Settings. Ticked: the files of this data source go to the bucket instead of the folder.
  1. Fill in the form and choose Test connection.
  2. When it says Connected, choose Save.
  3. Use Views on the list to check which views and columns users will see.
The columns of a view, as users will see them
The columns of a view, as users will see them
An inactive data source is hidden from users, and its reports and schedules do not run. Managers still see it with a red Inactive mark, but only to look: its reports open but cannot be changed, copied, run or deleted, and its schedules cannot be changed. In History a manager can still Download its files. To work with it again, set it back to Active here.
Use a database account that can only read the report views. This is the most important protection of your database.

Web API data sources

A web API data source lets users report on data that another system gives out as JSON over the web, in the same way as a database view. Users pick a list, tick columns, sort, add totals and run, the same way as with a view. Only the Filters section is not there.

1. Add the data source

FieldWhat to enter
TypeWeb API (JSON).
Base addressThe start of the address that all lists share, for example https://api.company.com/v1. It must start with https.
Sign-inNone, an API key in a header, a bearer token, or a user name and password. The key, token or password is stored encrypted and never shown again.
This is an address inside our own networkLeave it off for an API on the internet. Tick it only for a server inside your own network; only then are internal addresses and plain http allowed.
  1. Fill in the form and choose Test connection. A result window opens with the status, the time it took, the size, and the answer.
  2. Choose Create.

2. Add the lists

A list is one address of the API that returns rows, for example the orders. Choose Lists on the row of the data source, then + New list.

FieldWhat to enter
Name users seeA friendly name, for example Open orders.
Address after the baseThe rest of the address, for example /orders?status=open.
PagesHow the API hands out many rows: everything in one answer, by page number, by offset and limit, or with a link to the next page. The usual parameter names are filled in for you.
Rows are inNormally found automatically. If not, choose it in the test window.
  1. Choose Test. The result window opens on Rows and shows the first rows with the columns and their kinds (text, number, date, yes/no).
  2. If the rows are not the right ones, open Body and choose Use as rows on the part of the answer that holds them.
  3. Choose Save list. The columns are remembered; save the list again when the API gets new columns.
Tab in the result windowWhat it shows
BodyThe answer of the API. JSON is shown as a tree you can open and close.
HeadersThe headers the API sent back.
RowsThe first 50 rows the way users will see them.
A report on a web API has no filters. Put the filter in the address of the list, for example /orders?status=open, and add another list when users need another selection. Sorting and totals are worked out after the rows arrive. The preview uses only the first page; a run reads all pages, up to 200,000 rows.
Only read requests (GET) are sent. The program follows no redirects and never calls another server than the one in the base address. Keys and passwords are hidden in the result window.

Preparing views (for developers)

Users never see tables, only views in the schema of the data source. Give every column a friendly name; that name is what users see.

CREATE SCHEMA rpt;
GO
CREATE VIEW rpt.[Sales Orders] AS
SELECT o.ord_no   AS [Order No],
       o.ord_dt   AS [Order Date],
       c.cust_nm  AS [Customer],
       o.amt      AS [Amount]
FROM   dbo.orders o
JOIN   dbo.customers c ON c.cust_id = o.cust_id;
GO
CREATE LOGIN report_reader WITH PASSWORD = '...';
CREATE USER  report_reader FOR LOGIN report_reader;
GRANT SELECT ON SCHEMA::rpt TO report_reader;

Users and data sources

Users
Users
  1. Open Configuration > Users and choose + New user.
  2. Enter the name, username and email and choose Create.
  3. The person gets an email with a link to set a password. The link works for 24 hours.
  4. The new user gets the role User. Change the role if needed and tick the data sources this person may use, then save.
StatusMeaning
PendingCreated, but the password is not set yet. The person cannot sign in. It changes to Active by itself when the password is set.
ActiveCan sign in.
Inactive / SuspendedSwitched off by a Manager.
A person only sees reports, runs and schedules of the data sources ticked for them. Managers also need their data sources ticked.

Roles and permissions

Two roles are ready to use: Manager and User. Most companies never need more.

Roles
Roles
Permissions: what each role may do
Permissions: what each role may do

Settings

Settings
Settings
SettingWhat it does
NameThe name shown on the sign-in page, the menu and in emails.
Largest report file (MB)A report that grows past this size is stopped.
Most rows in one reportA report with more rows is stopped. Excel itself holds 1,048,575 rows.
Keep report history (days)Older runs and their files are removed automatically.
Allowed email domainsReports can only be emailed to these domains, for example company.com, partner.org. Empty means no emails.
Largest email attachment (MB)A bigger file is not attached; the email says where to download it.
Report files folderThe folder on the server where finished report files are saved. Leave it empty to use the reports folder of the web site.

Amazon S3 (optional)

Report files can be saved in an Amazon S3 bucket instead of the folder on the server. Fill in the Amazon S3 box once; all data sources share the one bucket.

FieldWhat to enter
BucketThe name of the bucket only, for example my-company-reports.
RegionThe region of the bucket, for example us-east-1.
Access key, Secret keyThe keys of an AWS user that may read, write and delete files in this bucket only. The secret key is stored encrypted and never shown again.
  1. Choose Test. It writes a small test file, reads it and deletes it again.
  2. When it says Connected, choose Save.
  3. Open Data sources, edit a data source and tick Save report files in Amazon S3. Data sources without the tick keep using the folder.
Keep the bucket private. If a file cannot be saved in S3, the run fails with a message in History; files are never saved somewhere else silently.

Activity log

Activity
Activity

Configuration > Activity shows who signed in and what was changed. When a report could not be run, the technical reason is written here for you, while the user only sees a plain message.

The report service

Reports are made by a small program on the server, the SkyNet Report Service. It starts with Windows and keeps working when nobody is signed in.

If History shows "The report service is not running", start it from the icon, or in Windows Services start SkyNet Report Service.
The encrypt key must be the same in the web site and in the service. If it is changed, enter the passwords of the data sources again.

If something does not work

What you seeWhat to do
A run failed with a message about Amazon S3Tell your Manager. The Amazon S3 box in Settings needs to be checked with its Test button.
A run failed: the data source answered with an errorThe web API did not answer correctly. Try again later, or ask your Manager to test the list in Data sources.
"You have no data source yet"Ask your Manager to tick a data source for you.
The preview says the data source cannot be reachedTell your Manager. The connection needs to be checked in Data sources.
"This took too long" in the previewAdd a filter (for example a date), then try again. Or save and Run; a run may take much longer than a preview.
A run failed: too many rows / file too bigAdd a filter, untick columns, or choose CSV instead of Excel.
A run failed: the file could not be savedTell your Manager. The report files folder in Settings is missing or the server may not write to it.
"A column in this report is not in the view any more"Open the report, check the columns, and save it again.
Reports stay on WaitingThe report service is not running. Tell your Manager.
An email address is refusedOnly allowed domains can receive reports. Ask your Manager.
Email failedCheck the address. If it is right, tell your Manager; the mail settings of the service may need a look.
Locked after wrong passwordsWait 15 minutes, or use Forgot password.

Keeping data safe