Stacked Multi Bar Graph in Qlikview - qlikview

Background Knowledge on Application:
In Simulation many users can be involved but a few (typically 2 to 3) will do actually the Simulation.
A Simulation has Phases, A Phase has Actions and these can be performed by users in the process of Simulation.
A set of Users will do a Simulation and another set of Users will observe that process.
Once the Simulation process is done, the users who are observing the simulation will evaluate the users who did actually. And at the same time the faculty will also evaluate the users (who did the simulation)
I have implemented a dashboard/graph to represent the complete above scenario, by directly showing graph based on simulation id and user in the beginning. If we select any particular simulation then the graph changes o next level i.e based on users, who did that simulation actually (Here the dimension is user name). Then if we select any user then it will dig down to next level i.e based on the phases (here the dimension is phase), again if we select the phase then it will change, based on the actions (here dimension is the action).
This part id done and attached the screenshot and .qvw file as well.
Now the main task here is, I need to compare student given marks with faculty given marks (both are in different tables, i.e studentscore & facultyscore), in the same graph using stacked multi bar graph at user level, phase level, action level.
Attached the screenshot for reference (please see in the Reference sheet).
May be some of the dimensions or expression are wrong, or I am not sure actually.
I am able to do with only one level, but not in these levels (level by level, like, based on users, based on phases, and based on actions)
I really tried in many ways, but it is not working as expected.
You can download the attachments here
https://slack-files.com/T02FXUAB9-F308KT8PQ-c53db69bbb
https://slack-files.com/T02FXUAB9-F2YSTAW72-bba2433d6f

Related

Structure of first database design

I’m trying to create a database where the operator (me in this case) receives a log and then assigns multiple people to review this log based on the various subsystems they represent. So for example, a test is run called x. Once x is run, I receive the log of x and assign five people representing different subsystems to review it. What I’m trying to do is manage all the reviews and see if any reviews are outstanding. The structure I was hoping for, and what I have implemented so far consists of the following: I have two forms in which to enter data, one for the run information that I enter, and one for the reviews that the other people enter. The problem I’m running into is how I’m able to view who has done each review. Below is a picture of the relationships I have of my database (the two letter acronyms represent the subsystems I’m assigning):
I originally was thinking about creating a query where I would be able to search by last name and show who had done what review based on whether or not they had checked the Done Review box on the review form. The problem with this was that unless a person created a review then a review wouldn’t exist at all so I wouldn’t be able to query whether or not they had completed it based on the check box. The other idea that I had was to add a check box for each sub system in the run information table and then map the check box in the review form to that check box in the run information table based on the RUN ID and Domain info they entered into the review form. I haven’t been successful in that either as I haven’t found a way to dynamically update the control source of the check box in the review form. Anybody have any ideas of how’d they’d implement this or something I’m missing? This is my first dealing with database development and I’m at a loss right now. Thanks.
The tables have one-many relationship , you can use Ms-Access to build your tables, queries and master /detail form by wizard.
You can modify it by vba code.
At least you get starting system.
Edit:
Master form: RunInformation
Detail Form: Review
Link join field between master/detail: RunId
in this case , for any RunInformation in master form , you can insert the five records assignment for each sub system
You can do all CRUD operation for master/detail
q: "What I’m trying to do is manage all the reviews and see if any reviews are outstanding."
A: add a button in the master form that filter master/detail form where status is "oustanding".
Note:
Modify structure of "RunInformation" and remove columns of the subsystem (like hw,sw,..),and add status column in the "review" Table and column for the subsystem (hw,sw).
You can do it as combo box in Review form, and status as checkbox.

What are the steps to convert a Scenario to BPMN?

I have an exam tomorrow and to be honest till now I don't know what are the steps that I should go through to design a given Scenario.
For example, when you see a scenario like this
Every weekday morning, the database is backed up and then it is checked to see whether the “Account Defaulter” table has new records. If no new records are found, then the process should check the CRM system to see whether new returns have been filed. If new returns exist, then register all defaulting accounts and customers. If the defaulting client codes have not been previously advised, produce another table of defaulting accounts and send to account management. All of this must be completed by 2:30 pm, if it is not, then an alert should be sent to the supervisor. Once the new defaulting account report has been completed, check the CRM system to see whether new returns have been filed. If new returns have been filed, reconcile with the existing account defaulters table. This must be completed by 4:00 pm otherwise a supervisor should be sent a message.
What is your approach to model this? I am not asking for the answer of this particular scenario, I am asking for the method. Do you design sentence by sentence? or do you try to figure out the big picture first then try to find the sub process?
There are no exact steps. Use imagination, Luke!)
You can take these funny instructions like a starting point, but they were made by dummies for dummies.
Commonly you should outline process steps and process participants on a sheet of paper schematically and try to build your model. No other way: only brainstorm.
When BPMN comes to mind, one thinks of people together in a conference room discussing how the business does things (creating what you call scenarios and translating to business processes) and drawing boxes and lines on a whiteboard.
Since 2012, when BPMN 2.0 appeared as an Object Management Group (OMG) specification, we have the very comprehensive 532-page .pdf file with pretty much all the information to create the process diagrams one needs.
Still, in addition to reading the previous file, one can also find many BPMN examples of common modeling problems, patterns, books and research papers which help to understand how certain scenarios come to live.
Generally speaking, we first identify who takes part in the process to understand who are the actors. After, we realize where they get (if they get) their input, what they do with it (if they do anything) and where they forward it after they have completed their work (if they forward). This allows to visualize each actor has specific tasks that follow a specific flow of work and can better draw it.
Then, once the clean and simple diagram is built, one can validate visualizing (IRL or not) the users / actors executing the activities.

input on database structure for report system

I am currently working on a client project requires the admins to setup some daily recurring tasks for users of the system. to take temperature measurements of food
the user then fill out the task ( usually around 5 fields of data ) and if the temperatures validates the system creates a "report" on that given task. and it disappears from the users overview. the task is just not showen cause the same task is gonna pop up gain later on the week etc.
then today it stroke me that if a admin changes the control temperature values on a task it will reflect on all filled out tasks cause of my relations. and that is a no go i have to be able to change the values (they are laws regulated) and not affect the already completed reports.
What is a good approach for this ? my current one is to have the report table include all the nessaary data fields from a task and replicate em over so i can recreated the report based on the task at that give time.
or should i make the values not ediable after they are created and tell the administrators to disable the task and create a new one ? that way i allways have old task ids i can fetch values from
Hope i make sens :) ells ill be happy to explain more and make some diagrams.

ssas 2005 deploy project and process options

I have seen many articles but still feel confused about different process options on different objects (dimension, cubes).
In my sample project, there was initially one measure group: Sales. Three dimensions: Date, Product, Branch. I got these deployed and no problem.
Then I added a new measure group to the cube: Sales 1. Sales will 'join' with existing Date and Branch and a new dimension: Code.
When I was processing the cube using process default, I thought it should process newly added measure group (Sales 1) and dimension (Code) only, but why I saw it's also processing existing Sales measure group?
And what's the difference between processing the cube and deploy the project? My understanding is process the project will automatically process the cubes and/or dimensions. Is that correct?
Generally speaking, deploying just updates the definition, i. e. structure of your database, while processing just loads the data. But deploying also always does an unprocess of those objects that structurally changed and those that depend on them, as the data would not match the new structure. Note that e. g. making an object visible or invisible, or in many cases renaming an object is not considered a structural change, but adding or removing a sub object like an attribute or measure is considered a structural change.
And then, there is BIDS trying to make things simple by trying to automatically do things that you did not explicitly trigger: In the default setting, after a deploy, BIDS issues a "Process default" command. You can configure if this should be done or not if you right-click on the project node in Solution Explorer in BIDS, select Properties and then Configuration Properties/Deployment/Processing Options. I tend to keep the default setting for small cubes, and set it to "DO not process" for larger cubes that would take some time to process. But then, I have to be aware that the cube may not contain all data if I did some deployments recently without processing.
And for why your first measure group was processed, maybe you did a small structural change to it without realizing.

Testing multiple User Roles

My question may sound a little bit stupid.
My team has to test a Web application that it is used by 3 different User Roles. So, we start by writing our Test Cases based on the User Stories. My problem is that I don't want to create 3 different Test Cases for each User Role. I think that this needs a lot of time when writing the Test Cases and later testing them because:
Total Test Cases Number = User Stories x Test Cases Per User Story x User Roles Number.
Moreover, I don't want to create new Test Cases if some time in the future a new User Role will be created because they will be just duplicates with some little differences.
Is there a better way to manage this situation?
Thanks in advance.
Single Responsibility Principle?
Code and test the user access separately to the user story, unless you really do get a completely different story based on your role, in which case, its a distinct spec and warrants its own test.
Not sure on the coding front (depends on what the situation is and how the code is implemented), but I can answer from a testing perspective (2 yrs so far, over half of it in a traditional waterfall system migrating to Agile).
The web application I test is similar in that we have three user types (global) and three user roles (tied to "projects" which are buckets of sites, sites in term as buckets of imagery, look-up EyeQ if curious). So, 9 possible combos, 8 of which can make a site. Current regression procedure doc has over 100 test cases, 20 or so are edit/create/delete site. total overall: 500+ test cases majority are manually run (ongoing efforts to automate them, but takes time as we've gone thru a UI reboot).
Anyway, I've had to rewrite some of our manual procedures as a result of the sweeping UI changes and am trying avoid the mistakes authors before me made, such as the one you describe (excessive repetition aka reuse same test three times with slight variations).
Rather than stick to their strategy of writing cases, I use looping (same term applies in coding)- that is, test cases that use one role-type combo per pass. Instead of having the same test case written 3+ times and each executed separately for each role/type, use the procedure once but add a few steps at the end.
example test case:
user can create a site (8/9 of the type-role combos can do this in my app)
what they did before I came in:
test case 1- sys admin not tied to project can make site (10 steps);
test case 2- sys admin with project role can make site (same 10 steps);
test case 3- account admin not tied to proj can make site (same 10 steps as 1st case);
test case 4- account admin with proj role can make site (ditto);
test case 5... and so on
what I do:
test case 1: Do 10 steps as user with combo 1,
step 11- log out as that combo, log in as user with combo 2 and repeat 1-10,
step 12- log out as user from step 11 back in as user with combo 3 and repeat 1-10,
...
The difference:
3+ test cases or 30+ steps executed (in this case, about 100)
vs
1 test case: under 20 steps
Take this with a grain of salt though, it depends on your type of problem.
If it really is repetitive (as with the example) try to loop as much as possible.
The advantage is, when you get an auto-test framework up, a simple for-loop within the test case with an array object or struct for input.
The disadvantage is, it wouldn't be as modular (takes an extra 30 seconds to find problem cause if something breaks, but that's my opinion).
No need to confuse. You need to just make Matrix for access rights Vs. User Roles.
For e.g :- Raw : User Modules(rights of users)
Column : User Role
Just mark in excel sheet that which user have what type of permission or access.
You can also download some tools which has ability to generate this type of permutations and combination.
You can download from here.
https://testcasegenerator.codeplex.com/
Download Test Case Generator
It is greate tool for measure permutaiion and combination in accurate way.
We have tested these role-based test cases for a huge enterprise application with close to 38 roles and 100s of fields editable or not editable across more than 15-20 web pages using mind maps.
since there were a lot of workflow statuses linked with each role, the thorough testing was needed.
Add a generic test case covering functionality and permissions and mention in test notes to execute the test case for each role as per mind map designed. Attach the mind map to test case.
We converted the test cases into mind map:
Sample MindMap
Mind maps helps in consolidating large chunk of data into a pictorial form that made easy for understanding the test cases and speeds up the execution.
Simply create a table of user roles listed vertically and a list of functions mentioned in the step horizontally. Then mark yes or no in each cell for that role. Repeat for each step. You can put your step description to verify the user’s authorization to perform the action based on the table. If you have a test data column you can put the table there.