Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Do we have SAP connector for Qliksense ?
Yeah, that's one route but have you seen the price??? I'm all for the low-cost workaround!
Consider the following BW query. Note the technical names for the Characteristics and the "Enterprise ID" for the key figures (this is a long alphanumeric, not the technical name of the KF in the cube).
The script to load this query into Qlik would be;
SELECT NON EMPTY { [Measures].[DKYHxxxxxxxxxxxxxx],
[Measures].[DKYHyyyyyyyyyyyyyy]} ON COLUMNS,
NON EMPTY { [0CALDAY].[LEVEL01].ALLMEMBERS *
[ZACCOUNT].[LEVEL01].ALLMEMBERS }
DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME
ON ROWS
FROM [INFO_PROVIDER_TECHNICAL_NAME/QUERY_NAME] ;
(The '*' between the characteristics is the same as CROSSJOIN in MDX, but I find it neater (and I try to avoid doing any joins anyway))
This will load the data into Qlik, so in Qlik you'll see columns labelled "DKYHxxxxxx" and "DKYzzzzzzz" and "0CALDAY" and "ZACCOUNT" which will probably not be useful for you. You would also look at the data returned from SAP for the correct format. For example our account numbers are either 10 or 11 digits long but SAP will export them as 16-digits padded with leading zeroes.
So you probably want to have a LOAD statement beforehand and the whole script will look like this;
Load
"[Measures].[DKYHxxxxxxxxxxxxxx]" as "Commission Paid",
"[Measures].[DKYHyyyyyyyyyyyyyy]" as "Tax Due",
Year(Date#("[0CALDAY].[LEVEL01].[MEMBER_CAPTION]",'DD.MM.YYYY')) as "Year",
Month(Date#("[0CALDAY].[LEVEL01].[MEMBER_CAPTION]",'DD.MM.YYYY')) as "Month",
MID("[0ACCOUNT].[LEVEL01].[MEMBER_UNIQUE_NAME]" ,7,16) as "Account Number" ;
SELECT NON EMPTY
{ [Measures].[DKYHxxxxxxxxxxxxxx],
[Measures].[DKYHyyyyyyyyyyyyyy]} ON COLUMNS,
NON EMPTY
{ [0CALDAY].[LEVEL01].ALLMEMBERS *
[ZACCOUNT].[LEVEL01].ALLMEMBERS }
DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS
FROM [INFO_PROVIDER_TECHNICAL_NAME/QUERY_NAME] ;
Also, just to add there is a limit of usually 1 million cells that can be returned from SAP. I have more data for this so I add 0YEAR as a free characteristic and wrap my load script in a loop;
Load
<blah,blah,blah>
For vYear = 2005 to 2015
<SELECT statements as above>
FROM [INFO_PROVIDER_TECHNICAL_NAME/QUERY_NAME]
WHERE {[0YEAR].[$(vYear)]};
next vYEAR
Anyway, I think that's enough for now - let me know how you get on. As I said earlier, I'm no expert but I learnt just enough to get my project working. This may not be the most elegant way of doing things but it works for me!
Will the QlikView Connector work with Qlik Sense?
I'm not sure, but before you go down that route I replied to this thread separately but my reply is still waiting to be moderated (I assume because it has an embedded image & script).
Summary: I am managing quite well without the SAP connector, but read my reply when it appears and I'd try that first (unless your project has the budget for the SAP connector, in which case go right ahead!)
Interesting idea to pull the data in QlikView, export to QVD, and then load into Qlik Sense. I don't know if that will work for us, but it may be an option to explore. Thanks.
Thank you this is very helpful!
Hello,
It definitely works. We implement real-life projects with this mixed approach.
SAP Connector for Qlik Sense will definitely arrive. This has been told in Qonnections event in USA. The time is not known though but I believe, since it is an urgent necessity, it should be soon.
BR
Serhan
Hi Serhan,
When we load the qvd into qliksense we don't need the connection string?
Hi,
Yes you can create it in QlikView first and then move script into Sense.
BR
Serhan
Once the data is saved as a QVD then there is no connection to SAP and you don't need the connection string any more.
You can reload the QVD just as a normal file.
Hi,
When I try to load the .qvw file in qliksense, why do I get this error? This .qvw is getting the data from different qvds.