Hi Guys - I am fairly new to Omniscope, and need your help. I have some queries in Access that I would like to pass through to Omniscope. However, I would like to decide how much of the data from the Access queries that is been imported.
In my case, I have 6 queries in Access, which are all linked up with the respondents ID, in order always to know what the individual has answered. My data covers the entire 2011 - but if I only want to drag out certain weeks in 2011, and pass them through to DataManager, is it then possible to have a filter in Omniscope which decides the weeks that are been passed through. At the moment, I am getting the entire dataset from 2011, which makes the system too slow on my machine.
In case you are not already, I suggest you use DataManager to set up your workflow. You should use the "Database table" source block to link to your Access Database, then you can use a "Record Filter" to specify the week range you want to have passed into Omniscope.
Better still, in "Database table", use the "Filters" tab to specify server-side filtering (i.e. SELECT / WHERE constraints). Whereas Record Filter works client-side after downloading the full data, these work server-side, and avoid the client memory and bandwidth overhead of downloading excluded rows.
Jorgen - In addition, if you would like to use a random overview of the whole data set while configuring the visualisations, interactive filtering & formulae, add a a Random Sample operation block into the data flow. You can set the upper limit on the number of records to work with in the Loaded in-memory data set (the light blue box). Keeping this sampled in-memeory data set small greatly speeds file configuration work. Increase the sample size progressively, and delete the Sample Block from the flow when you are ready to go into production/publish.
I appreciate your help - but I cant seem to make the data mount decrease - well from the begining.
I have already a filter or actually a SQL set up in my database table. As you can see in the attached file, I have 6 queries which are connected to access. The one on the right is the only one which are set up to filter the data. The others dont have the week variable, and therefore the only connecting string between these six queries are the Respondent ID. I was than hoping, to filter on week, which would narrow down the number of IDs, which than again would narrow down the number of records in the other queries.
The other ones are containing all the data from access. As you can see, they all have about 10454 records, which is way too many, in order to make omniscope to run smoothly. Isnt it possible to set up some sort of master that decides the amount of data, and the specific data.
My point is, instead of visokio has to upload 10454 records in each query, in order to filter it afterwards, isnt is possible to filter the data and than only get the 344 fields and 702 records uploaded?
As I understand you have 6 tables in the same Access file, one of which you are filtering server-side by week. After this, you are merging the results.
This means that 5 of your blocks are retrieving the full unfiltered data, and then merge/join is effectively filtering the data client-side.
Server-side filtering using the "Filters" option only works for single tables. To do the filtering on the server in this case, you must also do the join on the server.
So, use a single Database Table block. Choose "Custom SQL" on the first page. In the "Custom SQL" tab, enter something like this: SELECT * FROM a, b, ... WHERE a.id = b.id AND ... AND b.week = 10
I can't recommend any specific books, myself. I'd use something like this:
SELECT table1.column1, table2.column2 FROM table1, table2 WHERE table1.column1 = table2.column1
or
SELECT table1.*, table2.* FROM table1, table2 WHERE table1.column1 = table2.column1
to select all columns
You can add query constraints:
SELECT table1.*, table2.* FROM table1, table2 WHERE table1.column1 = table2.column1 AND table1.id > 500
You can create this as a query in access and then create further queries upon those queries if you want to keep your SQL statements simple. Then in Omniscope you simply connect to a single table (in fact the last query you've created).
Depending on your table and column names, your SQL might need to have these in square brackets, e.g. [table1].[column1]
I'd recommend searching for "microsoft access sql".
This should do it - I am now able to combine two tables - so now I am just trying to see how I can combine all 6 tables, and than filter on weeks and narrowing down what output I want.