Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi, I'm trying to validate some applications that are being built and make sure the data being shown in the qvw matches what is shown in various other reports showing the same information. I'd like to know if it's possible to query one specific object (by object ID or something similar) in an executed/published qvw and pull that information into another qvw.
We've noticed that some of the objects in the current qvw's are not showing data properly due to the way the devs put the tables together. The issues are extremely subtle and difficult to manually notice... which is why I'm looking for an automated solution. For example, there was a pivot which was pivoting a measure from one in-memory table via a dimension from another in-mem table. This was causing all values of the measure which did not have corresponding rows in the other table to be implicitly limited out. I'd like to be able to recreate that pivot exactly as displayed to the user in a different qvw, then join that to a base table to compare the results. That way I could quickly test if the pivot is showing the expected results and wouldn't have to manually adjust anything.
Does that make sense? Is this possible via QV?
AFAIK that's not directly possible. It may be possible to do something with macros, but the API is limited in that area.
What you could do is binary load the qvw file into a new qvw. This loads all the data tables and fields from the first model, but no front end objects and no variables. You could build sheet objects (charts and tables), such as the pivot you mentioned, to assist in the analysis of the data, without having to tamper with the first file. You could then compare the results with that of the original file.
The binary load statement must be the first statement in the load script:
Binary [<path to qvw file>];
You can add more script after the binary load if you want to load something else for comparison.
HTH
Jonathan
Use LET with variables in the script and use the variables for layout condition of objects.
Okay... I'm not sure I understand. Could you be a bit more specific? Maybe with an example?
Does anyone have any more information about my issue? To simplify, I'm looking for the ability to query an in-memory qvw's sheet objects from another qvw file, so that I can pull out exactly what would be shown to a user programmatically.
I didn't understand Mario's comments about using LET, since I'm not sure how to make a variable point to another qvw's objects or how to access the properties of that object.
AFAIK that's not directly possible. It may be possible to do something with macros, but the API is limited in that area.
What you could do is binary load the qvw file into a new qvw. This loads all the data tables and fields from the first model, but no front end objects and no variables. You could build sheet objects (charts and tables), such as the pivot you mentioned, to assist in the analysis of the data, without having to tamper with the first file. You could then compare the results with that of the original file.
The binary load statement must be the first statement in the load script:
Binary [<path to qvw file>];
You can add more script after the binary load if you want to load something else for comparison.
HTH
Jonathan
Thanks for the information. I'm not sure if this would work for what we're trying to do... our issue is that there are certain pieces of explicit or implicit logic happening in the qvw file that may not be readily apparent. For example, we had one pivot which was showing a total amount of hours from one table but pulling the dimensions from a separate table (which held budgeted hours). So when the report showed total hours, it would only show those hours that had a matching budget, the other hours wouldn't be shown (since null dimensions were hidden). If I could query the object directly, then I could pull in those types of issues as well as the raw data.
Sounds like that isn't possible, though.