Vizlib Finance Report v3.1.0 - Adding columns in template
I noticed that columns can be added to the template and Vizlib will create these additional columns in Qlik in the "clsp_" table. For example, I added a couple columns between Multiple and RowNumFormat columns and assigned values to be referenced in the pick calculation to be used for particular report rows. And this seems to work, however, speed performance was affected. Is this something you encourage or advise against? If encourage, any best practice suggestions?
I'll add some more information of what I'm trying to do. I like the ease of using Account ranges in the simple default calculation of Regular row type for certain measures. But I also would like to access Account ranges outside of those default ranges for other measures. I believe RowFromOverride and RowToOverride are used to reference Report RowNumbers, not Account ranges. Please correct me if I'm wrong.
How can I access Account ranges outside of the default ranges?
I will try to explain the thinking around account intervals and calculations. Note that this is not actually an extension question. The extension itself only picks up the dual value from the report row and adjusts the styling. The template is there to help you but not strictly necessary. (Check the section in the help about not using the Excel-template for more information.)
The interval From/To will be the overall interval included on that row (i.e. values related to that row in the Qlik data-model). Limitations can still be made using for example set-analysis in the measure so that individual rows are further limited. (For example, if row is Banana only show yellow fruit even though both yellow and green bananas are associated with that row in the data model.)
For summary rows we typically use what has been already listed above (for example for the running total). But if you want to reference other rows in your report then use the RowOverride to create a customized selection of other rows to be created in the total. (Correctly you assume that it is always a reference to a report row so if you want more rows to be added you always have to have that lowest ReportRow somewhere if you are doing a summary.)
For performance reasons as much as possible should be connected this way through the associative logic in the Qlik datamodel.
You can add more columns as wanted in the template but they will all have to fit logically within the model. The data on the ReportRow has to be the most detailed level. If you are using groups they have to be "higher" in the hierarchy than what is on the ReportRow.
Any extra calculations you add will have an impact on performance but there is a balance between adding more calculations for different rows and adding fewer (more complex) calculations. This is how Qlik works and has nothing to do with the extension itself. Unfortunately there is no simple answer to exactly what route is correct, it depends on several factors such as data volumes, calculation complexity, data-model, use of if-statements etc. The example for calculation rows in the template is a good example. We are using if-statements to simplify the data input in the template but for some calculations a set-expression or an extra field in the transaction table might be a much better option.