Извличане на данни от Anaplan с QlikView

Извличане на данни от Anaplan с QlikView

By Stiliyan Neychev

December 21, 2023

QlikView е мощен инструмент за анализ на данни, който ви позволява да разработвате аналитични приложения и табла за управление. Това е първият софтуер, разработен от Qlik, и оттогава е приет и използван от много компании. QlikView все още се използва широко за извличане на данни и затова ще се съсредоточим върху него днес. Въпреки това останете с нас, защото ще проследим това с Qlik Sense версия на това ръководство. Тази статия ще бъде споделена и с общността на Anaplan, така че можете да я видите и там.

Extracting data from Anaplan with QlikView

Както вероятно вече знаете, новият Anaplan REST API 2.0 прави така, че процесът на автентификация може да се извършва с помощта на генериран токен. Това прави процеса на автоматизация бърз и лесен, тъй като не е необходимо да проверявате потребителското си име и парола на всяка стъпка по пътя.

Извличане на данни от Anaplan с QlikView

Тестване в Postman

1. Обикновено първо искаме да тестваме връзките в Postman, така че продължавайте да четете, ако искате да видите и вие как можете да го направите:

Първо трябва да вземем токен от Anaplan. Начинът, по който правим това, е чрез изпращане на действие “POST” към този URL: https://auth.anaplan.com/token/authenticate. Единственото нещо, от което имаме нужда, за да го накараме да проработи, е валидно активно потребителско име, което ще добавите в раздела Authorization. Токенът ще се намира в полето “tokenValue”. Ако искате да автоматизирате процеса по-късно, предлагаме да отделите акаунт специално за това. По този начин ще знаете точно с какви права да го настроите и ще ги променяте само когато искате да разширите процеса на автоматизация.

Anaplan token

IDs set up in Anaplan

2. Следващата стъпка е да получите идентификациите на действията за експортиране, настроени в Anaplan. Сега трябва да отбележим, че за да извлечете своите данни от Anaplan, първо трябва да настроите действие за експортиране. Няма да описваме как се прави това тук, тъй като има много материали по темата. И така, обратно към получаването на идентификатори на действия за експортиране – първо ще ви трябва работно пространство и идентификаторът на модела. След това ще трябва да изпратите действие “GET” към този URL: https://api.anaplan.com/2/0/workspaces/{workspace ID}/models/{model ID}/exports. По този начин ще извлечете идентификациите на действията за експортиране, които вече сте настроили в Anaplan. За тази стъпка ще трябва да добавите ново поле в раздела Headers, наречено “Authorization”. Тук ще добавите токена, който сте получили при първата стъпка. Не забравяйте да добавите “AnaplanAuthToken “ пред него, в противен случай няма да работи.

3. След като се въоръжите с идентификатора на действие за експортиране от последната стъпка, вече сте готови да изпълните действителното действие за експортиране. Ще трябва да изпратите команда “GET” към следния URL: https://api.anaplan.com/2/0/workspaces/{workspace ID}/models/{model ID}/exports/{export action ID}/tasks. Отново, ще трябва да добавите няколко полета в раздела Headers. Първото е полето “Authorization”, с което вече сте запознати, а второто е “Content-Type”. Обикновено Postman има поле “Content-Type”, но не можете да го редактирате, така че повторното му дефиниране ви позволява да замените стойността. Настройте стойността в това ново поле на “application/json”.

Actual export action
API Anaplan Authorization

4. Тази следваща стъпка е напълно незадължителна, тъй като файлът, който ще експортирате, има същото име и идентификатор като действието за експортиране, което сте задействали в предишната стъпка. Въпреки това, ако искате въпреки това да проверите, ще трябва да изпратите команда “GET” към това URL: https://api.anaplan.com/2/0/workspaces/{workspace ID}/models/{model ID}/files. Не забравяйте да добавите отново полето “Authorization” с токена. Когато това се изпълни, най-вероятно ще получите куп файлове с различни файлови разширения. Ще трябва да превъртите надолу до дъното и да намерите този, който съответства на действието ви за експортиране по име и идентификация. Ще можете да видите колко части има файлът – ако е повече от една, ще трябва да отидете на следващата стъпка. Ако не, можете да я пропуснете, тъй като идентификаторът на частта от файла винаги ще бъде 0.

5. Така че, ако файлът ви има повече от една част, ще трябва да придобиете техните идентификатори. За да го направите, ще трябва да задействате повторна команда “GET” със следния URL: https://api.anaplan.com/2/0/workspaces/{workspace ID}/models/{model ID}/files/{file ID}/chunks. Както преди, ще трябва да добавите полето “Authorization” към раздела Headers.

Get authorization
Table with data

6. Накрая ще проверим какъв вид данни ще получим, когато извлечем файла. За целта трябва да задействате команда “GET” по следния начин: https://api.anaplan.com/2/0/workspaces/{workspace ID}/models/{model ID}/files/{file ID}/chunks/{chunk ID}. Също така, ще трябва да добавите полето “Authorization” със стойността на токена в раздела Headers. Този път обаче ще трябва да добавите още едно поле, наречено “Accept”. Както при “Content-Type” в стъпка 3, това поле “Accept” е вече дефинирано от Postman, но не може да бъде редактирано. Затова когато го дефинирате сега, ще му придадете стойността “application/octet-stream”. Когато изпълните командата успешно, ще получите таблица с данни.

Автоматизиране на процеса в QlikView

Ако сте проследили теста в Postman, ще имате всички идентификатори, необходими за автоматизиране на процеса, когато го правим в QlikView. И така, нека навлезем там!

1. Необходимо условие е да имате инсталиран QlikView REST Connector. Ако все още не сте го инсталирали, можете да го изтеглите от тук. След това започнете, като създадете ново приложение в QlikView. Натиснете Ctrl + E или от падащото меню “File” изберете “Edit Script”. Сега, когато сте в редактора на скриптове, можете да видите в долния ляв ъгъл куп раздели. В раздела “Data”. Трябва да имате опцията да се свържете с няколко бази данни от падащото меню. Изберете конектора REST и щракнете върху “Connect…”. Ще изскочи нов прозорец и ще трябва да попълните URL адреса (https://auth.anaplan.com/token/authenticate) и своите идентификационни данни в раздела “Authorization”. Щракнете върху “OK” и връзката трябва да се осъществи. Сега ще трябва да въведете извадената информация, затова отново от раздела “Data” в долния ляв ъгъл щракнете върху бутона “Select…”. Оттам разширете пътеката “root” и поставете отметка на “tokenInfo”. След това натиснете “OK”, за да вмъкнете избраното твърдение, създадено от този съветник.

QlikView REST Connector
Store token

2. Сега ще трябва да направите променлива, за да съхранявате токена си. И така, в края на своя скрипт напишете следния код: LET vToken=’AnaplanAuthToken ‘&Peek(‘tokenValue’, -1, ‘tokenInfo’); Това не само ще съхрани токена, но ще добави така необходимия низ “AnaplanAuthToken” пред него.

3. Ако сте последвали процеса на тестване на Postman, тогава вече ще имате идентификаторите, необходими за автоматизиране на процеса с по-малко стъпки. И така, след това или ще трябва да получите списъка с действия за експортиране, които можете да извършите, или можете да преминете направо към самото действие за експортиране, ако имате идентификацията. Ще преминем към второто. Ще трябва да създадете нова връзка по същия начин, по който го направихме в стъпка 1.

Очевидно URL адресът ще бъде различен https://api.anaplan.com/2/0/workspaces/{workspace ID}/models/{model ID}/exports/{export action ID}/tasks, но този път ще трябва да попълните полето “Request body” с този текст – {“localName”: “en_US”}. Ще трябва също така да запазите раздела “Authentication” със стойността му по подразбиране – Anonymous. След това просто превъртете малко надолу и в раздела “Additional request parameters” ще трябва да добавите следните Query headers:
Name: Authorization , Value: *текущия токен* (не поставяйте променливата тук, тъй като QlikView няма да я приеме)
Name: Content-Type , Value: application/jsonЩракнете върху “OK” и връзката трябва да се осъществи.

Postman testing process

4. Отново ще трябва да щракнем върху бутона “Select…” в долния ляв ъгъл и да добавим новите таблици.

rest connector master table

След това ще трябва да направите малка промяна в скрипта за свързване, за да направите процеса автоматизиран. Ще трябва да вмъкнем нашата променлива на токена вместо токена, който използвахме за осъществяване на свързването.

Anaplan Auth Token vToken
Rest connection URL

5. Отново, ако сте следвали процеса на прототипиране на Postman, тогава вече ще имате идентификатори на файлове и идентификатори на частите. Дори и да не сте, вероятно ги знаете, тъй като името и идентификаторът на файла са идентични с името и идентификатора на действието за експортиране, а най-вероятно вашият файл ще има само една част, като в този случай нейният идентификатор ще бъде 0. Можете да се обърнете към раздела Postman, ако искате да проверите отново тези стойности. И така, всичко, което остава, е да осъществим окончателната връзка чрез съединителя на базата данни. Щракнете върху “Connect…” и попълнете правилно параметрите. Тук трябва да се отбележи, че за разлика от предишните две връзки, тази ще бъде GET, а не POST действие. В раздела Query Headers отново ще трябва да използвате пълен токен, а не променливата за полето “Authorization”. Този път обаче, вместо да добавите поле “Content-Type”, ще добавите поле “Accept” със стойност application/octet-stream.

6. И накрая, ще трябва да добавите файла/файловете към QlikView, като щракнете върху бутона “Select…” още веднъж и изберете наличните нови таблици. Щракнете върху “OK”, за да добавите скрипта. Уверете се, че сте променили кода на връзката отново, като премахнете токена и добавите променливата си, както направихме в стъпка 4. И готово! Добавихте откъс от Anaplan към QlikView и междувременно автоматизирахте процеса. Вече можете да съхранявате таблицата във формат .QVD и да я използвате в своите приложения QlikView или Qlik Sense. Приятно създаване на вашите собствени модели на данни!

Adding the file to QlikView