{"id":5537,"date":"2018-08-09T15:27:05","date_gmt":"2018-08-09T13:27:05","guid":{"rendered":"https:\/\/sii.pl\/blog\/?p=5537"},"modified":"2023-09-11T14:45:41","modified_gmt":"2023-09-11T12:45:41","slug":"zarzadzanie-danymi-w-self-service-bi-na-przykladzie-qlik-sense","status":"publish","type":"post","link":"https:\/\/sii.pl\/blog\/zarzadzanie-danymi-w-self-service-bi-na-przykladzie-qlik-sense\/","title":{"rendered":"Zarz\u0105dzanie danymi w Self-service BI na przyk\u0142adzie Qlik Sense"},"content":{"rendered":"\n<p>U podstaw Self-service BI le\u017cy prze\u015bwiadczenie, \u017ce ka\u017cdy kto pracuje z danymi powinien m\u00f3c w prosty spos\u00f3b, bez udzia\u0142u IT uporz\u0105dkowa\u0107 swoje dane. Wchodzi tu w gr\u0119 samoobs\u0142uga w kwestii po\u0142\u0105czenia si\u0119 ze \u017ar\u00f3d\u0142em danych, wizualizacji tych danych oraz udost\u0119pnienia wynik\u00f3w. We wpisie chcia\u0142abym si\u0119 skupi\u0107 na mo\u017cliwo\u015bciach pozyskania danych i ich modyfikacji, jakie daj\u0105 systemy Self-service BI. Dla przyk\u0142adu, poni\u017cej scharakteryzowa\u0142am pod tym k\u0105tem program Qlik Sense.<\/p>\n\n\n\n<p>Na zarz\u0105dzanie danymi w Qlik Sense pozwalaj\u0105 trzy modu\u0142y: mened\u017cer danych, edytor \u0142adowania danych oraz przegl\u0105darka modelu danych.<\/p>\n\n\n\n<p>Do wprowadzania danych w Qlik Sense s\u0142u\u017cy modu\u0142 <strong>mened\u017cer danych<\/strong>. Za jego pomoc\u0105 mo\u017cemy pobra\u0107 dane na r\u00f3\u017cne sposoby:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Zdefiniowa\u0107 po\u0142\u0105czenia do zewn\u0119trznych \u017ar\u00f3de\u0142 danych. Tu dost\u0119pnych jest wiele konektor\u00f3w do r\u00f3\u017cnych rozwi\u0105za\u0144 bazodanowych (np. MS SQL Server, IBM DB2, Oracle), chmurowych (np. Amazon Redshift), big data (np. Apache Hive, Google BigQuery), Salesforce, Dropbox, a tak\u017ce plik\u00f3w sieci Web, serwis\u00f3w REST i innych \u017ar\u00f3de\u0142.<\/li>\n\n\n\n<li>Zdefiniowa\u0107 \u015bcie\u017ck\u0119 do pliku lokalnego lub sieciowego.<\/li>\n\n\n\n<li>Wprowadzi\u0107 dane z klawiatury za pomoc\u0105 edytora do wprowadzania r\u0119cznego.<\/li>\n\n\n\n<li>Mo\u017cemy r\u00f3wnie\u017c skorzysta\u0107 z danych zawartych w Qlik DataMarket. Jest to us\u0142uga dost\u0119pu do danych zewn\u0119trznych. W jej ramach dost\u0119pny jest bezp\u0142atnie zestaw danych demograficzno-ekonomicznych &#8211; Essentials Free <span lang=\"PL\">(np. % PKB, inflacja, kursy walut)<\/span>. Dost\u0119pne tam dane s\u0105 co prawda na do\u015b\u0107 og\u00f3lnym poziomie szczeg\u00f3\u0142owo\u015bci, niemniej jednak takie zestawienie mo\u017ce wzbogaci\u0107 niekt\u00f3re analizy.<\/li>\n<\/ul>\n\n\n\n<p>Po zdefiniowaniu dost\u0119p\u00f3w do \u017ar\u00f3de\u0142 i wyborze interesuj\u0105cych nas tabel Qlik Sense automatycznie tworzy asocjacje, <span lang=\"PL\">czyli powi\u0105zania pomi\u0119dzy wszystkimi danymi<\/span>. W mened\u017cerze danych domy\u015blnie w\u0142\u0105czona jest opcja tzw. profilowania danych. Oznacza to, \u017ce z\u0142\u0105czenia mi\u0119dzy tabelami powstaj\u0105 na podstawie identycznych nazw p\u00f3l w r\u00f3\u017cnych tabelach. Je\u017celi nadamy odpowiednie nazwy w polach kluczy, efektem ko\u0144cowym b\u0119dzie gotowy model danych. W przypadku dw\u00f3ch identycznych nazw p\u00f3l w dw\u00f3ch r\u00f3\u017cnych tabelach Qlik Sense tworzy klucz syntetyczny. Przy automatycznym generowaniu asocjacji nale\u017cy zwr\u00f3ci\u0107 uwag\u0119 czy w&nbsp;tabelach takich nie wyst\u0119puj\u0105 pola nie b\u0119d\u0105ce kluczem, a posiadaj\u0105ce t\u0105 sam\u0105 nazw\u0119 np. Opis. Wa\u017cnym aspektem jest te\u017c zr\u00f3\u017cnicowanie p\u00f3l odmiennych znaczeniowo np. data zam\u00f3wienia i data wysy\u0142ki.<\/p>\n\n\n\n<p>Dane w mened\u017cerze danych mo\u017cemy ogl\u0105da\u0107 w dw\u00f3ch widokach: Tabele i Asocjacje. Widok Tabele pokazuje nam zestaw wybranych tabel i umo\u017cliwia nam ich edycj\u0119. W ramach edycji program pozwala nam na takie operacje jak zmiana nazw p\u00f3l, zmiana typu p\u00f3l, tworzenie p\u00f3l wyliczanych, tworzenie p\u00f3l na podstawie wyodr\u0119bnienia cz\u0119\u015bci tekstu z istniej\u0105cych warto\u015bci np. kod pocztowy z pola adres, sortowanie warto\u015bci, aliasowanie warto\u015bci.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2018\/06\/MD_Tabele-1.png\"><img decoding=\"async\" width=\"1024\" height=\"549\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2018\/06\/MD_Tabele-1-1024x549.png\" alt=\"Mened\u017cer danych - widok 'Tabele'\" class=\"wp-image-5529\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2018\/06\/MD_Tabele-1-1024x549.png 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2018\/06\/MD_Tabele-1-300x161.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2018\/06\/MD_Tabele-1.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Widok Asocjacje przedstawia graficzn\u0105 ilustracj\u0119 powi\u0105za\u0144 mi\u0119dzy tabelami. W przypadku gdy potrzebujemy zmodyfikowa\u0107 automatyczne powi\u0105zania lub stworzy\u0107 w\u0142asne, mamy mo\u017cliwo\u015b\u0107 zbudowania asocjacji niestandardowej poprzez wskazanie odpowiednich p\u00f3l i tabel, kt\u00f3re maj\u0105 zosta\u0107 powi\u0105zane. W przypadku, gdy dwie tabele maj\u0105 tak\u0105 sam\u0105 liczb\u0119 p\u00f3l o identycznych nazwach zostan\u0105 one skonkatenowane <span lang=\"PL\">(automatycznie po\u0142\u0105czone, odpowiednik w SQL polecenia UNION)<\/span>. Konkatenacj\u0119 podobnie jak powi\u0105zania niestandardowe mo\u017cemy budowa\u0107 r\u0119cznie wskazuj\u0105c odpowiednie tabele.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2018\/06\/MD_Asocjacje.png\"><img decoding=\"async\" width=\"1024\" height=\"549\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2018\/06\/MD_Asocjacje-1024x549.png\" alt=\"Mened\u017cer danych - widok 'Asocjacje'\" class=\"wp-image-5528\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2018\/06\/MD_Asocjacje-1024x549.png 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2018\/06\/MD_Asocjacje-300x161.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2018\/06\/MD_Asocjacje.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p><b><\/b><i><\/i><u><\/u>Kolejnym krokiem jest \u0142adowanie danych do aplikacji poprzez naci\u015bni\u0119cie przycisku \u0141aduj dane dost\u0119pnego zar\u00f3wno w widoku asocjacji, jak i w widoku tabel.<\/p>\n\n\n\n<p>Mened\u017cer danych pozwala za\u0142adowa\u0107 dane do aplikacji w kilku prostych krokach opisanych powy\u017cej. Qlik Sense udost\u0119pnia r\u00f3wnie\u017c narz\u0119dzie &#8211; <strong>Edytor \u0142adowania danych<\/strong>, kt\u00f3ry pozwala za\u0142adowa\u0107 dane za pomoc\u0105 skryptu.<\/p>\n\n\n\n<p>W skrypcie r\u00f3wnie\u017c tworzymy definicje po\u0142\u0105cze\u0144 do zewn\u0119trznych \u017ar\u00f3de\u0142 danych, listujemy tabele i&nbsp;pola, kt\u00f3re maj\u0105 zosta\u0107 za\u0142adowane do aplikacji oraz mo\u017cemy t\u0105 struktur\u0105 danych manipulowa\u0107 u\u017cywaj\u0105c polece\u0144 skryptu do transformacji i modyfikacji danych. Przyk\u0142adami przekszta\u0142ce\u0144 mog\u0105 by\u0107 dodawanie p\u00f3l wyliczanych, s\u0142ownikowanie, zmiana nazw p\u00f3l, agregowanie warto\u015bci, tworzenie tabel przestawnych. W skrypcie mamy r\u00f3wnie\u017c mo\u017cliwo\u015b\u0107 nadpisywania definicji systemu operacyjnego zmiennymi systemowymi np. DayNames, kt\u00f3ra zwr\u00f3ci nam skr\u00f3cone nazwy dni tygodnia \u2018pon.\u2019, \u2018wt.\u2019, \u015br.\u2019 i tak dalej. Pisz\u0105c skrypt warto podzieli\u0107 go na sekcje, pomo\u017ce to w utrzymaniu i zarz\u0105dzaniu kodem. &nbsp;Sekcje wykonywane s\u0105 przez program w takiej kolejno\u015bci jak s\u0105 wy\u015bwietlone. Skrypt \u0142adowania nale\u017cy zapisa\u0107 i uruchomi\u0107 w \u017c\u0105danym momencie. Uruchomienie skryptu jest r\u00f3wnoznaczne z jego zapisaniem.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2018\/06\/ELD.png\"><img decoding=\"async\" width=\"1024\" height=\"549\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2018\/06\/ELD-1024x549.png\" alt=\"Edytor \u0142adowania danych\" class=\"wp-image-5539\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2018\/06\/ELD-1024x549.png 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2018\/06\/ELD-300x161.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2018\/06\/ELD.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Zarz\u0105dzanie tabelami dodanymi w mened\u017cerze danych odbywa si\u0119 przez mened\u017cera danych, natomiast tabele dodane w edytorze \u0142adowania danych edytujemy z poziomu skryptu. Podczas dodawania tabel w mened\u017cerze danych generowany jest automatycznie r\u00f3wnie\u017c skrypt, kt\u00f3ry mo\u017cemy obejrze\u0107 w&nbsp;edytorze \u0142adowania danych w sekcji wygenerowanej automatycznie. Mo\u017cemy t\u0105 sekcj\u0119 odblokowa\u0107 i&nbsp;modyfikowa\u0107 za pomoc\u0105 skryptu, ale nale\u017cy pami\u0119ta\u0107, \u017ce jest to r\u00f3wnoznaczne z utrat\u0105 kontroli i&nbsp;edycji z poziomu mened\u017cera danych.<\/p>\n\n\n\n<p>Za\u0142adowane dane przechowywane s\u0105 w aplikacji, a uruchomiona aplikacja jest <span lang=\"PL\">\u0142adowana do<\/span> pami\u0119ci operacyjnej komputera. Aplikacja podczas analiz korzysta z za\u0142adowanych danych, zatem analizy s\u0105 wykonywane bez po\u0142\u0105czenia ze \u017ar\u00f3d\u0142em danych. W celu uzyskania aktualnych danych wymagane jest prze\u0142adowanie aplikacji. \u0141adowanie danych jest dost\u0119pne ca\u0142o\u015bciowe lub przyrostowe (jest niedost\u0119pne z poziomu Qlik Sense Cloud). \u0141adowanie przyrostowe mo\u017cliwe jest dzi\u0119ki plikom QVD. QVD czyli QlikView Data to format w\u0142a\u015bciwy dla Qlik, do odczytu i zapisu tego formatu maj\u0105 prawo tylko programy QlikView i Qlik Sense. Plik zawiera wyeksportowane z aplikacji dane i jest zoptymalizowany pod k\u0105tem uzyskania maksymalnej szybko\u015bci odczytu.<\/p>\n\n\n\n<p>Wynikowa struktura danych w aplikacji mo\u017ce by\u0107 monitorowana za pomoc\u0105 <strong>przegl\u0105darki modelu danych<\/strong>. W tym module w prosty spos\u00f3b mo\u017cemy te\u017c zdefiniowa\u0107 miary i wymiary, kt\u00f3re pos\u0142u\u017c\u0105 do zbudowania aplikacji. Utworzone w ten spos\u00f3b obiekty b\u0119d\u0105 dost\u0119pne na karcie element\u00f3w g\u0142\u00f3wnych w panelu zasob\u00f3w w trybie edycji aplikacji. Chcia\u0142abym zwr\u00f3ci\u0107 uwag\u0119, \u017ce przegl\u0105darka modelu danych jest dost\u0119pna dop\u00f3ki aplikacja nie zostanie opublikowana. Po opublikowaniu aplikacji u\u017cytkownicy maj\u0105 dost\u0119p do wymiar\u00f3w i miar, ale nie s\u0105 w stanie ich modyfikowa\u0107.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2018\/06\/PMD.png\"><img decoding=\"async\" width=\"1024\" height=\"549\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2018\/06\/PMD-1024x549.png\" alt=\"Przegl\u0105darka modelu danych\" class=\"wp-image-5540\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2018\/06\/PMD-1024x549.png 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2018\/06\/PMD-300x161.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2018\/06\/PMD.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Korzystaj\u0105c z Qlik Sense trzeba mie\u0107 \u015bwiadomo\u015b\u0107 pewnych ogranicze\u0144, jakie nak\u0142ada na nas program. W tym miejscu przytocz\u0119 ograniczenia zwi\u0105zane z \u0142adowaniem danych. G\u0142\u00f3wnym ograniczeniem, z&nbsp;kt\u00f3rym spotkamy si\u0119 na tej p\u0142aszczy\u017anie jest wymaganie sprz\u0119towe, a mianowicie ilo\u015b\u0107 pami\u0119ci operacyjnej komputera. B\u0119dzie ona determinowa\u0142a liczb\u0119 mo\u017cliwych do \u0142adowania p\u00f3l, tabel danych oraz kom\u00f3rek i wierszy. Dodatkowym ograniczeniem jest ograniczenie na liczb\u0119 r\u00f3\u017cnych warto\u015bci w&nbsp;jednym polu i wynosi 2 147 483 648. Natomiast, pojedyncza sekcja skryptu \u0142adowania nie powinna by\u0107 d\u0142u\u017csza ni\u017c 50 000 znak\u00f3w.<\/p>\n\n\n\n<p>Zach\u0119cam do rozpocz\u0119cia przygody instaluj\u0105c <strong>Qlik Sense w wersji Desktop<\/strong>, do pobrania za darmo ze strony producenta: <a href=\"https:\/\/www.qlik.com\/pl-pl\/try-or-buy\" rel=\"nofollow\" >https:\/\/www.qlik.com\/pl-pl\/try-or-buy<\/a> (pe\u0142na funkcjonalno\u015b\u0107, z ograniczeniem mo\u017cliwo\u015bci dzielenia si\u0119 raportami z innymi) lub te\u017c zak\u0142adaj\u0105c konto na <strong>Qlik Sense Cloud<\/strong>: <a href=\"https:\/\/qlikcloud.com\/\" rel=\"nofollow\" >https:\/\/qlikcloud.com\/<\/a> (mo\u017cliwo\u015b\u0107 dzielenia si\u0119 utworzonymi analizami z 5 u\u017cytkownikami; w wersji darmowej ograniczony rozmiar danych do 25 MB na aplikacj\u0119 oraz 250 MB na wszystkie aplikacje).<\/p>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-left kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;left&quot;,&quot;id&quot;:&quot;5537&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;2&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;5&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;11&quot;,&quot;greet&quot;:&quot;&quot;,&quot;legend&quot;:&quot;5\\\/5 ( votes: 2)&quot;,&quot;size&quot;:&quot;18&quot;,&quot;title&quot;:&quot;Zarz\u0105dzanie danymi w Self-service BI na przyk\u0142adzie Qlik Sense&quot;,&quot;width&quot;:&quot;139.5&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} ( {votes}: {count})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 139.5px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 14.4px;\">\n            5\/5 ( votes: 2)    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>U podstaw Self-service BI le\u017cy prze\u015bwiadczenie, \u017ce ka\u017cdy kto pracuje z danymi powinien m\u00f3c w prosty spos\u00f3b, bez udzia\u0142u IT &hellip; <a class=\"continued-btn\" href=\"https:\/\/sii.pl\/blog\/zarzadzanie-danymi-w-self-service-bi-na-przykladzie-qlik-sense\/\">Continued<\/a><\/p>\n","protected":false},"author":165,"featured_media":5545,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","inline_featured_image":false,"footnotes":""},"categories":[1316],"tags":[608,606,607],"class_list":["post-5537","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development-na-miekko","tag-ladowanie-danych","tag-qlik-sense","tag-self-service-bi"],"acf":[],"aioseo_notices":[],"republish_history":[],"featured_media_url":"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2018\/06\/pexels-photo-1043506.jpg","category_names":["Development na mi\u0119kko"],"_links":{"self":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/5537"}],"collection":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/users\/165"}],"replies":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/comments?post=5537"}],"version-history":[{"count":3,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/5537\/revisions"}],"predecessor-version":[{"id":24041,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/5537\/revisions\/24041"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media\/5545"}],"wp:attachment":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media?parent=5537"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/categories?post=5537"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/tags?post=5537"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}