Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
section access requirement:
There are two types of users:
Contract Details | Rupees Details | QUARTER Details | FLAG Details |
AAA | 345 | 2016Q4 | Y |
BBB | 7654 | 2017Q1 | Y |
CCC | 9876 | 2017Q2 | Y |
DDD | 765 | 2017Q3 | N |
If the Reviewers logs into the application, data should be available till the latest quarter data or with the Flag values is "N" or we can consider that as current Quarter.
If the Users logs in, data should be available only till the quarter value where Flag value is "Y".
And if the Reviewers give sign off by updating the Flag column in database as "Y" in 2017Q3 column, once the data refresh is done, both the users and Reviewers
should see the 2017Q3 quarter data with the Flag column "Y".
How can we achieve this pls provide your solution with QVW file
Create section access entries for all Reviewers and Users.
Users should only have entries that link to a value of 'Y' in your FLAG field.
Reviewers should have an entry for value 'Y' and an entry for value 'N'.
That way, on opening the document Users will have their data set reduced to only show those values that have been reviewed.
Reviewers will see everything.
if i give this
Reviewers should have an entry for value 'Y' and an entry for value 'N'.
then Reviewers will see the old quarter data. but Reviewers have to see only the latest quarter.
can u understand my req peter?
Which means that when all Quarters have been reviewed and signed off (all Quarters get a 'Y' in the DB), all reviewers will be locked out of the document (no more data left to review)?
Are you sure?
Yup.
Then for Reviewers, skip the entry with a 'Y' flag value. Just list a 'N' in the link field.
peter once Reviewers give sign off by updating the Flag column in database as "Y" in 2017Q3 column, suppose in future he want to review the reviewed the old sign off means how he will see it.
can i tell one suggestion which i think let me know whether it will meet our requirement?
My suggestion to this issue is create one more FLAG as FLAG2 in the backend database
If(FLAG Details =N,’’NY’ ) as FLAG2 Details
So when you load the data in qlikview we will have data like below.
CONTRACT Details | AMOUNT Details | QUARTER Details | FLAG Details | FLAG2 Details |
AAA | 345 | 2016Q4 | Y | NULL |
BBB | 7654 | 2017Q1 | Y | NULL |
CCC | 9876 | 2017Q2 | Y | NULL |
DDD | 765 | 2017Q3 | N | NY |
Now Create section access entries for all Reviewers and Users.
Users should only have entries that link to a value of 'Y' in your FLAG field.
Reviewers should have an entry for value 'N' FLAG or an entry for value 'NY' FLAG2.
?
A moment ago you stated that Reviewers should not see the old quarter data, "... but Reviewers have only to see latest quarter". Which will it be?
Section Access is a technique to make data available to specific users, and not to other users. In the end, what you do with that data in your document is up to you as a developer. If I understand you correctly, Reviewers should focus on data to be reviewed, but should also get a chance to revisit older data (possibly for benchmarking or comparisons or whatever). In QlikView, you can use set analysis to fill a specific object with data-to-be-reviewed (Flag = N). This object may well be empty when a particular Reviewer has finished his duties in time. Other objects on other sheets however may still show historical data or other aggregations based on quarterly results, just as they do for regular Users.
IMHO you should first make sure that you have a correct and consistent description of the expected behavior of your document for different user groups. Only after that definition has been agreed upon, start implementing a solution. In many cases you will find out that the actual solution is way simpeler than you initially thought. Especially in QlikView.
Hi Manoranjan,
ContractDetails:
load * Inline
[
Contract Details, Rupees Details, QUARTER Details, FLAG Details
AAA, 345, 2016Q4, Y
BBB, 7654, 2017Q1, Y
CCC, 9876, 2017Q2, Y
DDD, 765, 2017Q3, N
];
Sectionaccesstable:
LOAD * INLINE [
ROLE, FLAG Details
USERS, Y
];
Concatenate LOAD DISTINCT
'REVIEWERS' AS ROLE,
[FLAG Details]
Resident
ContractDetails
where [FLAG Details]='N';
LET v.rows = NoOfRows('Sectionaccesstable');
If v.rows = 1 THEN
CONCATENATE
LOAD * INLINE [
ROLE, FLAG Details
REVIEWERS, Y
];
END IF;
use the table 'Sectionaccesstable' to create section access in your report. I tested this and works.