Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Dear All,
I have a Straight table in Qlik Sense with 140 calculated columns.
Basically, I have derived a Percentage based on 2 inputs. Was wondering, if there is any solution where I can just create a QVD from the Straight table ? so that I can do further analytics instead of writing logics again as this will be too more complex as the set expressions are approx 100 lines each for the 140 columns.
Thanks in advance.,
You can righ-click on a frontend table and choose to export it as "data", i.e you'll get a csv file that you can import somewhere else. But you can't create a qvd directly from a frontend table.
@Kaushik2020 You can apply same logic which is in front end to script and then store same script data to QVD.
thanks for the email. If we use NPrinting, we should be able to store the excel file on the server location itself ? then call the Excel into Qlik Sense ?
thanks for your revert. These logics are set expressions, I assume there is a limit of 1363 lines in your set expression. Also Set expressions cannot be called in Load editor. it would not be possible.
It is true that you can't use set expressions in loadscript, but it is possible to achieve the same results with other methods. But of course, depending of complexity in 140 measures it could possibly be painful.
I don't see what NPrinting has to do with your original question. You can load excel files or csv files in Qlik Sense, you don't need NPrinting for that.
For me it looked that your data-model missed in general a lot of logic which is now done within the UI. To do the things in this way is definitely not easier and or needing less efforts. Therefore I suggest to rethink the entire approach.
I second @marcus_sommer suggestion.
Whenever I come across something as complicated as this, it’s usually due to lack of time to come up with a better solution. I end up building a workaround, on top of workaround until it gets out of hand.
That’s a good point to think about what exactly the table is trying to accomplish and then think about a way to refactor the table to produce the same output but in a much simpler way. It might take long to figure out, but if you find a solution - a way to create the same table in a simpler way, then you won’t have to deal with all the complexity anymore.
As far as storing data in a QVD, I use what @henrikalmen suggested. See how the same table can be created in the backend, in the script, and then export the table in a QVD.
Alternatively, you mentioned that you needed to do additional analysis on this data which is the reason why you want to export it. If the data is already available to you in the app, maybe there’s a way for you to do the analysis on it in the same app?
TL;DR: I would start with thinking of a way to refactor the table to have it produce the same results but in a much simpler way. Then once that’s done, see if that new, simpler logic can be recreated in the script to enable export to a QVD.
thanks for the reply, here someone need to extract data in excel from App 1 where we have the table and load the same into app 2 which is a manual approach. using NPrinting, i was looking to store the excel directly onto the shared folder on the server automatically.
Thanks for the reply, if i quote an example. below is how the formula looks.
=IF(DY31="NA","-2",IF(DP31=0%,"2",IF(DY31>=0.1,"2",IF(DY31>0,"1",IF(DY31>=0,"0",IF(DY31<0,"-1"))))))
Each of the cell position you see in the above formula is a set expression which is mentioned below.
Num(Avg({$<Year=, Month=, Day=, CustomKPILabel={'OverallPercentage'},
ReportDate={">=$(=date(monthstart(max(ReportDate))))<=$(=date(max(ReportDate)))"}>}
Value),'#,##0%')
You can assume, how the excel formula looks when convert that to Qlik Sense.
so we have other expressions where we are calculating difference between 2 values from the database and calculating a column.
How these expressions will be converted to a load script or in Data Model directly ?
Appreciate your support.
thanks in advance. 🙂