{"id":461007,"date":"2025-05-26T09:09:24","date_gmt":"2025-05-26T09:09:24","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=461007"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=461007","title":{"rendered":"<span>85 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u043d\u0430 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 QlikView\/Qlik Sense (\u0441 \u043e\u0442\u0432\u0435\u0442\u0430\u043c\u0438)<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<h3>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435<\/h3>\n<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u0410\u043d\u0434\u0440\u0435\u0435\u0432, \u044f \u0441\u0442\u0430\u0440\u0448\u0438\u0439 SRE \u0434\u0430\u0442\u0430-\u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0438 \u0431\u044b\u0432\u0448\u0438\u0439 BI\/DWH-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0441 \u043c\u043d\u043e\u0433\u043e\u043b\u0435\u0442\u043d\u0438\u043c \u043e\u043f\u044b\u0442\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u044b \u0441 BI-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e\u0439 QlikView\/Qlik Sense. \u0412 \u0441\u0432\u043e\u0435\u0439 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435-\u0448\u043f\u0430\u0440\u0433\u0430\u043b\u043a\u0435 \u044f \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441 \u0432\u0430\u043c\u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0441\u0435\u043c\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c\u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u0430\u043c\u0438 \u0438 \u043e\u0442\u0432\u0435\u0442\u0430\u043c\u0438 \u0441 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439 \u043d\u0430 \u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c Qlik-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430. \u0414\u0430\u043d\u043d\u0430\u044f \u0448\u043f\u0430\u0440\u0433\u0430\u043b\u043a\u0430 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e \u0437\u0430\u043a\u0440\u043e\u0435\u0442 99% \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u043d\u0430 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f\u0445 \u043d\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u0438, \u0433\u0434\u0435 \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442\u0441\u044f Qlik \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 BI-\u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u0422\u0430\u043a\u0438\u0445 \u043f\u043e\u0437\u0438\u0446\u0438\u0439 \u0441 \u043a\u0430\u0436\u0434\u044b\u043c \u0433\u043e\u0434\u043e\u043c \u0432\u0441\u0435 \u0431\u043e\u043b\u044c\u0448\u0435, \u043f\u0440\u0438\u0447\u0435\u043c \u0437\u043d\u0430\u043d\u0438\u0435 Qlik \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 BI-\u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u043a\u0430\u043a \u0441 \u0447\u0438\u0441\u0442\u044b\u0445 &#171;\u0431\u0438\u0430\u0439\u0449\u0438\u043a\u043e\u0432&#187;, \u0442\u0430\u043a \u0438 \u0441 \u0434\u0430\u0442\u0430-\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u043d\u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0435\u043d\u044c\u043e\u0440\u0441\u043a\u0438\u0445 \u0438 lead \u043f\u043e\u0437\u0438\u0446\u0438\u044f\u0445.<\/p>\n<p>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u043a \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044e \u043d\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u044e QlikView\/Qlik Sense \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430, \u043d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434, \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0433\u043b\u0443\u0431\u043e\u043a\u043e\u0433\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043a\u0430\u043a \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0439, \u0442\u0430\u043a \u0438 \u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0445 \u0442\u0435\u0445\u043d\u0438\u043a \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e\u0439. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0441\u043e\u0431\u0440\u0430\u043b 85 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0432\u0430\u0436\u043d\u044b\u0445 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043c\u043e\u0433\u0443\u0442 \u0432\u0430\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0437\u043d\u0430\u043d\u0438\u044f \u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u0440\u043e\u0439\u0442\u0438 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e. <\/p>\n<p>\u041a\u0430\u0436\u0434\u044b\u0439 \u043e\u0442\u0432\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435, \u043d\u043e \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u044e\u0442 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0439 Qlik. \u0412\u043e\u043f\u0440\u043e\u0441\u044b \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u043f\u043e \u0442\u0435\u043c\u0430\u043c, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0438 \u043f\u043e\u0441\u0442\u0435\u043f\u0435\u043d\u043d\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u044f \u043a \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u043c \u0430\u0441\u043f\u0435\u043a\u0442\u0430\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438.  <\/p>\n<p>\u0418\u0442\u0430\u043a, \u043f\u043e\u0435\u0445\u0430\u043b\u0438!<\/p>\n<h3>\u0411\u0430\u0437\u043e\u0432\u044b\u0435 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438<\/h3>\n<h4>1. \u0412 \u0447\u0435\u043c \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u044f \u043c\u0435\u0436\u0434\u0443 QlikView \u0438 Qlik Sense?<\/h4>\n<p><strong>\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u044f:<\/strong><\/p>\n<ul>\n<li>\n<p>QlikView \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 &#171;guided analytics&#187; &#8212; \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u044b \u0441 \u043f\u0440\u0435\u0434\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0435\u0439<\/p>\n<\/li>\n<li>\n<p>Qlik Sense \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d \u043d\u0430 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0430\u0445 &#171;self-service BI&#187; &#8212; \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0438 \u0430\u0434\u0430\u043f\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c:<\/strong><\/p>\n<ul>\n<li>\n<p>QlikView \u0438\u043c\u0435\u0435\u0442 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u043b\u0438\u0441\u0442\u043e\u0432 (\u043e\u0431\u044b\u0447\u043d\u043e 1024&#215;768 \u0438\u043b\u0438 \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0439 \u043b\u0438\u0441\u0442)<\/p>\n<\/li>\n<li>\n<p>Qlik Sense \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u044e\u0431\u044b\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0422\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0431\u0430\u0437\u0430:<\/strong><\/p>\n<ul>\n<li>\n<p>QlikView: \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0435 desktop-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441 web-\u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c<\/p>\n<\/li>\n<li>\n<p>Qlik Sense: \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e web-based \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0441 HTML5<\/p>\n<\/li>\n<\/ul>\n<p><strong>API \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u043c\u043e\u0441\u0442\u044c:<\/strong><\/p>\n<ul>\n<li>\n<p>QlikView: \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0447\u0435\u0440\u0435\u0437 \u043c\u0430\u043a\u0440\u043e\u0441\u044b \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f<\/p>\n<\/li>\n<li>\n<p>Qlik Sense: \u043c\u043e\u0449\u043d\u044b\u0439 REST API, WebSocket Engine API, \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 web-\u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438<\/p>\n<\/li>\n<\/ul>\n<h4>2. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u0434\u0430\u043d\u043d\u044b\u0445 Qlik?<\/h4>\n<p>\u0410\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c &#8212; \u044d\u0442\u043e \u0444\u0443\u043d\u0434\u0430\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f, \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0449\u0430\u044f Qlik \u043e\u0442 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0445 BI-\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432. \u0410\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c &#8212; \u044d\u0442\u043e:<\/p>\n<ol>\n<li>\n<p><strong>In-memory \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f<\/strong>: \u0412\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u044e\u0442\u0441\u044f \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u043f\u0430\u043c\u044f\u0442\u044c, \u0447\u0442\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u044b\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f<\/p>\n<\/li>\n<li>\n<p><strong>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u0432\u044f\u0437\u0438<\/strong>: \u0422\u0430\u0431\u043b\u0438\u0446\u044b \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043f\u043e \u043f\u043e\u043b\u044f\u043c \u0441 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c\u0438 \u0438\u043c\u0435\u043d\u0430\u043c\u0438 \u0431\u0435\u0437 \u044f\u0432\u043d\u043e\u0433\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f JOIN<\/p>\n<\/li>\n<li>\n<p><strong>\u0414\u0432\u0443\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0446\u0438\u0438<\/strong>: \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 SQL, \u0433\u0434\u0435 JOIN \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u043e\u0434\u043d\u043e\u043c \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438, \u0437\u0434\u0435\u0441\u044c \u0441\u0432\u044f\u0437\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0432 \u043e\u0431\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u044b<\/p>\n<\/li>\n<\/ol>\n<p><strong>\u0426\u0432\u0435\u0442\u043e\u0432\u0430\u044f \u0438\u043d\u0434\u0438\u043a\u0430\u0446\u0438\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439 \u0441\u0432\u044f\u0437\u0435\u0439:<\/strong><\/p>\n<ul>\n<li>\n<p><strong>\u0417\u0435\u043b\u0435\u043d\u044b\u0439<\/strong> (Selected): \u0410\u043a\u0442\u0438\u0432\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f<\/p>\n<\/li>\n<li>\n<p><strong>\u0411\u0435\u043b\u044b\u0439<\/strong> (Possible): \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0434\u043b\u044f \u0432\u044b\u0431\u043e\u0440\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u043e\u0439<\/p>\n<\/li>\n<li>\n<p><strong>\u0421\u0435\u0440\u044b\u0439<\/strong> (Excluded): \u0418\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u043d\u0435 \u0438\u043c\u0435\u044e\u0449\u0438\u0435 \u0441\u0432\u044f\u0437\u0438 \u0441 \u0432\u044b\u0431\u043e\u0440\u043a\u043e\u0439<\/p>\n<\/li>\n<li>\n<p><strong>\u0421\u0432\u0435\u0442\u043b\u043e-\u0441\u0435\u0440\u044b\u0439<\/strong> (Alternative): \u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u0442\u043e\u043c \u0436\u0435 \u043f\u043e\u043b\u0435<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440:<\/strong><\/p>\n<pre><code>\u0415\u0441\u043b\u0438 \u0432 \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u0435 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \"2024\" \u0432 \u043f\u043e\u043b\u0435 Year: - \u0412\u0441\u0435 \u043f\u0440\u043e\u0434\u0430\u0436\u0438 2024 \u0433\u043e\u0434\u0430 \u0441\u0442\u0430\u043d\u0443\u0442 \u0431\u0435\u043b\u044b\u043c\u0438 (\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f) - \u041a\u043b\u0438\u0435\u043d\u0442\u044b, \u043a\u0443\u043f\u0438\u0432\u0448\u0438\u0435 \u0432 2024, \u0441\u0442\u0430\u043d\u0443\u0442 \u0431\u0435\u043b\u044b\u043c\u0438 - \u041f\u0440\u043e\u0434\u0443\u043a\u0442\u044b, \u043f\u0440\u043e\u0434\u0430\u043d\u043d\u044b\u0435 \u0432 2024, \u0441\u0442\u0430\u043d\u0443\u0442 \u0431\u0435\u043b\u044b\u043c\u0438 - \u0414\u0430\u043d\u043d\u044b\u0435 \u0434\u0440\u0443\u0433\u0438\u0445 \u043b\u0435\u0442 \u0441\u0442\u0430\u043d\u0443\u0442 \u0441\u0435\u0440\u044b\u043c\u0438 (\u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f)<\/code><\/pre>\n<h4>3. \u041a\u0430\u043a\u0438\u0435 \u0442\u0438\u043f\u044b \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0439 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0432 Qlik Sense?<\/h4>\n<p>\u041f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0430\u0436\u043d\u043e \u0434\u043b\u044f \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0438 \u0431\u044e\u0434\u0436\u0435\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0432 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438, \u0433\u0434\u0435 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c Qlik. \u041d\u0430 \u043c\u043e\u0435\u043c \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u043c\u0435\u0441\u0442\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0432\u0438\u0434\u0430 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 \u0434\u043b\u044f \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u043e\u0431\u043e\u0441\u043d\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0440\u0443\u0447\u043d\u043e. \u0418\u0442\u0430\u043a, \u0432\u043e\u0442 \u043a\u0430\u043a\u0438\u0435 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 \u0435\u0441\u0442\u044c \u0443 \u041a\u043b\u0438\u043a\u0430:<\/p>\n<p><strong>User-based \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438:<\/strong><\/p>\n<ol>\n<li>\n<p><strong>Professional<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439<\/p>\n<\/li>\n<li>\n<p>\u041f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u0432 \u0441\u0442\u0440\u0438\u043c\u0430\u0445<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u043b\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043a Data Load Editor<\/p>\n<\/li>\n<li>\n<p>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0430\u043c\u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Analyzer<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u0414\u043e\u0441\u0442\u0443\u043f \u0442\u043e\u043b\u044c\u043a\u043e \u043a \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c<\/p>\n<\/li>\n<li>\n<p>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0437\u0430\u043a\u043b\u0430\u0434\u043e\u043a \u0438 \u0438\u0441\u0442\u043e\u0440\u0438\u0439<\/p>\n<\/li>\n<li>\n<p>\u0411\u0430\u0437\u043e\u0432\u044b\u0435 self-service \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 (\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439 \u0432 \u043b\u0438\u0441\u0442\u0430\u0445)<\/p>\n<\/li>\n<li>\n<p>\u041d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><strong>Capacity-based \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438:<\/strong><\/p>\n<ol start=\"3\">\n<li>\n<p><strong>Analyzer Capacity<\/strong>: <\/p>\n<ul>\n<li>\n<p>\u041f\u0443\u043b \u043c\u0438\u043d\u0443\u0442 \u0434\u043b\u044f \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0445 \u0438\u043b\u0438 \u043d\u0435\u0447\u0430\u0441\u0442\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439<\/p>\n<\/li>\n<li>\n<p>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430<\/p>\n<\/li>\n<li>\n<p>\u0418\u0434\u0435\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0433\u0440\u0443\u043f\u043f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0441 \u0440\u0435\u0434\u043a\u0438\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c<\/p>\n<\/li>\n<li>\n<p>\u041c\u0438\u043d\u0443\u0442\u044b \u043d\u0435 \u0441\u0433\u043e\u0440\u0430\u044e\u0442 \u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043f\u0435\u0440\u0438\u043e\u0434<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><strong>Token \u043f\u043e\u0434\u0445\u043e\u0434:<\/strong><\/p>\n<ul>\n<li>\n<p>\u0412\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u0441\u0435\u0441\u0441\u0438\u0439<\/p>\n<\/li>\n<li>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f embedded analytics<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 API<\/p>\n<\/li>\n<\/ul>\n<h4>4. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 QVD \u0444\u0430\u0439\u043b \u0438 \u043a\u0430\u043a\u043e\u0432\u044b \u0435\u0433\u043e \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430?<\/h4>\n<p>QVD (QlikView Data) \u0444\u0430\u0439\u043b\u044b &#8212; \u044d\u0442\u043e \u043e\u0441\u043e\u0431\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0441\u0436\u0430\u0442\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Qlik.<\/p>\n<p><strong>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 QVD:<\/strong><\/p>\n<ul>\n<li>\n<p>XML \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0441 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u043c\u0438 (\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u0430\u043f\u0438\u0441\u0435\u0439)<\/p>\n<\/li>\n<li>\n<p>\u0411\u0438\u043d\u0430\u0440\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0441\u0436\u0430\u0442\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435<\/p>\n<\/li>\n<li>\n<p>\u0421\u0438\u043c\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0434\u043b\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0442\u0435\u043a\u0441\u0442\u0430<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430:<\/strong><\/p>\n<ol>\n<li>\n<p><strong>\u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u0412 10-100 \u0440\u0430\u0437 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0434\u0440\u0443\u0433\u0438\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432<\/p>\n<\/li>\n<li>\n<p>\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043f\u0440\u0438 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 WHERE \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440: 10 \u043c\u043b\u043d \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0438\u0437 QVD \u0433\u0440\u0443\u0437\u044f\u0442\u0441\u044f \u0432 Qlik 5 \u0441\u0435\u043a\u0443\u043d\u0434, \u0430 \u0438\u0437 \u0411\u0414 &#8212; 5 \u043c\u0438\u043d\u0443\u0442<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u041a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u0438\u044f<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u0421\u0436\u0430\u0442\u0438\u0435 \u0434\u043e 90% \u043e\u0442 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430<\/p>\n<\/li>\n<li>\n<p>\u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0434\u043b\u044f \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0438\u0445\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439<\/p>\n<\/li>\n<li>\n<p>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0442\u0438\u043f\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>QVD \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u044b \u0434\u043b\u044f \u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438<\/strong>:<\/p>\n<\/li>\n<\/ol>\n<pre><code>\/\/ \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u043e\u0432\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 NewData: LOAD * FROM Database WHERE ModifiedDate &gt; '$(vLastLoadDate)';  \/\/ \u041e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 Concatenate (NewData) LOAD * FROM Historical.qvd (qvd) WHERE NOT Exists(ID);  \/\/ \u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0433\u043e QVD STORE NewData INTO Historical.qvd (qvd);<\/code><\/pre>\n<p>\u0410 \u0435\u0449\u0435 QVD \u043d\u0443\u0436\u043d\u044b \u0434\u043b\u044f:<\/p>\n<ul>\n<li>\n<p>\u0421\u043d\u0438\u0436\u0435\u043d\u0438\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445<\/p>\n<\/li>\n<li>\n<p>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u0438 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u0438 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445<\/p>\n<\/li>\n<li>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0442\u0430\u043a\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u043d\u0435\u0442<\/p>\n<\/li>\n<\/ul>\n<h4>5. \u041e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u0435 \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u043b\u044e\u0447\u0435\u0439<\/h4>\n<p>\u0421\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043a\u043b\u044e\u0447\u0438 &#8212; \u044d\u0442\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c Qlik \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0441\u0432\u044f\u0437\u0435\u0439 \u043c\u0435\u0436\u0434\u0443 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438. \u0412\u0430\u0436\u043d\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u043a\u043e\u0433\u0434\u0430 \u043e\u043d\u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0442 \u0438 \u043a\u0430\u043a \u0441 \u043d\u0438\u043c\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c.<\/p>\n<p><strong>\u041c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u044f:<\/strong><\/p>\n<p>\u041a\u043e\u0433\u0434\u0430 \u0434\u0432\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0438\u043c\u0435\u044e\u0442 \u0434\u0432\u0430 \u0438\u043b\u0438 \u0431\u043e\u043b\u0435\u0435 \u043e\u0431\u0449\u0438\u0445 \u043f\u043e\u043b\u044f, Qlik \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0441\u043a\u0440\u044b\u0442\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0441 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u043e\u043c $Syn:<\/p>\n<pre><code>\/\/ \u0422\u0430\u0431\u043b\u0438\u0446\u0430 Orders OrderID, CustomerID, ProductID, OrderDate  \/\/ \u0422\u0430\u0431\u043b\u0438\u0446\u0430 Shipments   ShipmentID, CustomerID, ProductID, ShipDate  \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: $Syn1 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0430\u044f CustomerID+ProductID<\/code><\/pre>\n<p><strong>\u041f\u043e\u0447\u0435\u043c\u0443 \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043a\u043b\u044e\u0447\u0438 &#8212; \u044d\u0442\u043e \u043f\u043b\u043e\u0445\u043e \u0434\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f?<\/strong><\/p>\n<ol>\n<li>\n<p><strong>\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c<\/strong>: \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0445<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u0430\u043c\u044f\u0442\u044c<\/strong>: \u0425\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0439 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u044b\u043c<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435<\/strong>: \u0423\u0441\u043b\u043e\u0436\u043d\u044f\u0435\u0442 \u043b\u043e\u0433\u0438\u043a\u0443<\/p>\n<\/li>\n<li>\n<p><strong>\u041d\u0435\u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u043e\u0441\u0442\u044c<\/strong>: \u041c\u043e\u0433\u0443\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0442\u044c \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u044b\u0435 \u0441\u0432\u044f\u0437\u0438 \u0438 \u0446\u0438\u043a\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u0441\u044b\u043b\u043a\u0438<\/p>\n<\/li>\n<\/ol>\n<p><strong>\u0420\u0435\u0448\u0435\u043d\u0438\u044f:<\/strong><\/p>\n<pre><code>\/\/ \u0421\u043f\u043e\u0441\u043e\u0431 1: \u0421\u043e\u0441\u0442\u0430\u0432\u043d\u043e\u0439 \u043a\u043b\u044e\u0447 Orders: LOAD      OrderID,     CustomerID &amp; '|' &amp; ProductID as Key,     OrderDate FROM ...;  \/\/ \u0421\u043f\u043e\u0441\u043e\u0431 2: \u041f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u043b\u0435\u0439 Orders: LOAD      OrderID,     CustomerID as Order_CustomerID,     ProductID as Order_ProductID,     OrderDate FROM ...;  \/\/ \u0421\u043f\u043e\u0441\u043e\u0431 3: \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043b\u0438\u0448\u043d\u0438\u0445 \u043f\u043e\u043b\u0435\u0439 DROP Field ProductID FROM Shipments;<\/code><\/pre>\n<h4>6. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0446\u0438\u043a\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u0441\u044b\u043b\u043a\u0438?<\/h4>\n<p>\u0426\u0438\u043a\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u0441\u044b\u043b\u043a\u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0442, \u043a\u043e\u0433\u0434\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441\u0432\u044f\u0437\u0430\u043d\u044b \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0447\u0442\u043e \u0431\u0443\u043a\u0432\u0430\u043b\u044c\u043d\u043e \u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442\u0441\u044f \u0437\u0430\u043c\u043a\u043d\u0443\u0442\u044b\u0439 \u043a\u0440\u0443\u0433 \u043d\u0430 \u0441\u0445\u0435\u043c\u0435 \u0434\u0430\u043d\u043d\u044b\u0445. \u042d\u0442\u043e \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0440\u0435\u0448\u0430\u0442\u044c.<\/p>\n<p><strong>\u041f\u043e\u0447\u0435\u043c\u0443 Qlik \u043d\u0435 \u0434\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u0446\u0438\u043a\u043b\u044b:<\/strong><\/p>\n<ul>\n<li>\n<p>\u041d\u0435\u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e\u0441\u0442\u044c \u043f\u0443\u0442\u0435\u0439 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0434\u0432\u0438\u0436\u043a\u0430<\/p>\n<\/li>\n<li>\n<p>\u0411\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0435 \u0446\u0438\u043a\u043b\u044b \u043f\u0440\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f\u0445<\/p>\n<\/li>\n<li>\n<p>\u041d\u0435\u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u044b\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0430\u0433\u0440\u0435\u0433\u0430\u0446\u0438\u0439<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041c\u0435\u0442\u043e\u0434\u044b \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f:<\/strong><\/p>\n<ol>\n<li>\n<p>Table Viewer \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043a\u0440\u0430\u0441\u043d\u044b\u0435 \u043b\u0438\u043d\u0438\u0438 (\u0432 \u0431\u043e\u043b\u0435\u0435 \u0440\u0430\u043d\u043d\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 Qlik \u043d\u0430 \u0441\u0445\u0435\u043c\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0438\u0434\u0435\u043d \u0446\u0438\u043a\u043b)<\/p>\n<\/li>\n<li>\n<p>\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0435 \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435<\/p>\n<\/li>\n<li>\n<p>$Syn \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0447\u0430\u0441\u0442\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043d\u0430 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0446\u0438\u043a\u043b\u044b<\/p>\n<\/li>\n<\/ol>\n<p><strong>\u0421\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u044f:<\/strong><\/p>\n<pre><code>\/\/ 1. \u0420\u0430\u0437\u0440\u044b\u0432 \u0446\u0438\u043a\u043b\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 QUALIFY, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u043e\u043b\u0435\u0439 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0434\u0432\u0438\u0436\u043a\u0430 QUALIFY CustomerID; LOAD * FROM Regions; UNQUALIFY CustomerID;  \/\/ 2. Link Table - \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443 LinkTable: LOAD DISTINCT     OrderID,     CustomerID,     RegionID FROM Orders;  \/\/ 3. \u0414\u0435\u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f Orders: LOAD      o.*,     c.CustomerName,     r.RegionName FROM Orders o LEFT JOIN Customers c ON o.CustomerID = c.CustomerID LEFT JOIN Regions r ON c.RegionID = r.RegionID;<\/code><\/pre>\n<h4>7. \u041a\u0430\u043a\u0438\u0435 \u0440\u0435\u0436\u0438\u043c\u044b \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0432 Qlik?<\/h4>\n<p>\u041f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439 \u0434\u0430\u043d\u043d\u044b\u0445 \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u043e \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0446\u0438\u0438 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439 \u0438 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u043b\u043e\u0433\u0438\u043a\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439.<\/p>\n<p><strong>\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f:<\/strong><\/p>\n<ol>\n<li>\n<p><strong>Selected (\u0412\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0435)<\/strong> &#8212; \u0417\u0435\u043b\u0435\u043d\u044b\u0439 \u0446\u0432\u0435\u0442:<\/p>\n<ul>\n<li>\n<p>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u044f\u0432\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c<\/p>\n<\/li>\n<li>\n<p>\u0410\u043a\u0442\u0438\u0432\u043d\u0430\u044f \u0432\u044b\u0431\u043e\u0440\u043a\u0430, \u0432\u043b\u0438\u044f\u044e\u0449\u0430\u044f \u043d\u0430 \u0432\u0441\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f<\/p>\n<\/li>\n<li>\n<p>\u041c\u043e\u0436\u043d\u043e \u043e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0447\u0435\u0440\u0435\u0437 Clear \u0438\u043b\u0438 Back<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Possible (\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435)<\/strong> &#8212; \u0411\u0435\u043b\u044b\u0439 \u0446\u0432\u0435\u0442:<\/p>\n<ul>\n<li>\n<p>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u043e\u0439<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0434\u043b\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u044b\u0431\u043e\u0440\u0430<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 &#171;\u0447\u0442\u043e \u0435\u0449\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c&#187;<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Excluded (\u0418\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0435)<\/strong> &#8212; \u0421\u0435\u0440\u044b\u0439 \u0446\u0432\u0435\u0442:<\/p>\n<ul>\n<li>\n<p>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0431\u0435\u0437 \u0441\u0432\u044f\u0437\u0438 \u0441 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u043e\u0439<\/p>\n<\/li>\n<li>\n<p>\u041d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0434\u043b\u044f \u0432\u044b\u0431\u043e\u0440\u0430 \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435<\/p>\n<\/li>\n<li>\n<p>\u0418\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440 &#171;\u0447\u0442\u043e \u043e\u0442\u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u0430\u043d\u043e&#187;<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Alternative (\u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0435)<\/strong> &#8212; \u0421\u0432\u0435\u0442\u043b\u043e-\u0441\u0435\u0440\u044b\u0439:<\/p>\n<ul>\n<li>\n<p>\u0414\u0440\u0443\u0433\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u0442\u043e\u043c \u0436\u0435 \u043f\u043e\u043b\u0435, \u0433\u0434\u0435 \u0435\u0441\u0442\u044c \u0432\u044b\u0431\u043e\u0440\u043a\u0430<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0432\u044b\u0431\u043e\u0440\u0430<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u043c\u043e\u0433\u0430\u044e\u0442 \u043f\u043e\u043d\u044f\u0442\u044c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0432\u044b\u0431\u043e\u0440\u043a\u0438<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><strong>\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0432 Qlik Sense:<\/strong><\/p>\n<ul>\n<li>\n<p><strong>Selected Excluded<\/strong> &#8212; \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0435, \u043d\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0435 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0432\u044b\u0431\u043e\u0440\u043a\u0430\u043c\u0438<\/p>\n<\/li>\n<li>\n<p><strong>Locked<\/strong> &#8212; \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f<\/p>\n<\/li>\n<\/ul>\n<h4>8. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Master Items \u0432 Qlik Sense?<\/h4>\n<p>Master Items &#8212; \u044d\u0442\u043e \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0449\u0430\u044f \u043a\u043e\u043d\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u044c \u0438 \u0443\u043f\u0440\u043e\u0449\u0430\u044e\u0449\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u041d\u0435 \u0441\u0442\u043e\u0438\u0442 \u0434\u0435\u043b\u0430\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043d\u044b\u0445 \u043c\u0435\u0440 \u0438 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0439 &#8212; \u043b\u0443\u0447\u0448\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043c\u0430\u0441\u0442\u0435\u0440-\u043c\u0435\u0440\u044b \u0438 \u043c\u0430\u0441\u0442\u0435\u0440-\u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f.<\/p>\n<p><strong>\u0422\u0438\u043f\u044b Master Items:<\/strong><\/p>\n<p><strong>Master Dimensions (\u041c\u0430\u0441\u0442\u0435\u0440-\u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f)<\/strong>:<\/p>\n<pre><code>\/\/ \u041f\u0440\u043e\u0441\u0442\u043e\u0435 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0435 ProductCategory  \/\/ \u0412\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u043c\u043e\u0435 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0435   =If(Sales &gt; 1000, 'High', 'Low')  \/\/ Drill-down \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0435 Country &gt; Region &gt; City<\/code><\/pre>\n<p><strong>Master Measures (\u041c\u0430\u0441\u0442\u0435\u0440-\u043c\u0435\u0440\u044b)<\/strong>:<\/p>\n<pre><code>\/\/ \u0421 \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0438 \u0446\u0432\u0435\u0442\u043e\u043c Sum(Sales)  \/\/ Number formatting: #,##0 \/\/ Color: rgb(77,166,255)  \/\/ \u0421 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430\u043c\u0438 Sum({&lt;Year={$(vCurrentYear)}&gt;} Sales)<\/code><\/pre>\n<p><strong>Master Visualizations<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0435 \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u044b \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u043d\u0435\u043e\u0434\u043d\u043e\u043a\u0440\u0430\u0442\u043d\u043e<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438 \u043c\u0430\u0441\u0442\u0435\u0440-\u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043e\u0431\u043d\u043e\u0432\u044f\u0442\u0441\u044f \u0432\u0441\u0435 \u0435\u0435 \u043a\u043e\u043f\u0438\u0438 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u0430\u0441\u0442\u0435\u0440-\u0430\u0439\u0442\u0435\u043c\u043e\u0432:<\/strong><\/p>\n<ul>\n<li>\n<p><strong>\u041a\u043e\u043d\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u044c<\/strong>: \u041e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0432\u043e \u0432\u0441\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430<\/strong>: \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0432 \u043e\u0434\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442 \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u0441\u0442\u0435\u0440-\u0430\u0439\u0442\u0435\u043c\u044b<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435<\/strong>: \u042d\u043a\u043e\u043d\u043e\u043c\u0438\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438<\/p>\n<\/li>\n<li>\n<p><strong>\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/strong>: \u041a\u0430\u0436\u0434\u044b\u0439 \u043c\u0430\u0441\u0442\u0435\u0440-\u0430\u0439\u0442\u0435\u043c \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0438 \u043d\u0435\u0433\u043e<\/p>\n<\/li>\n<\/ul>\n<h4>9. \u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Qlik?<\/h4>\n<p><strong>\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0440\u0430\u0437\u043d\u044b\u0435 \u0443\u0440\u043e\u0432\u043d\u0438 \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f:<\/strong><\/p>\n<ol>\n<li>\n<p><strong>Result Cache (\u041a\u044d\u0448 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432)<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u0425\u0440\u0430\u043d\u0438\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439<\/p>\n<\/li>\n<li>\n<p>\u041a\u043b\u044e\u0447 \u043a\u044d\u0448\u0430: \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 + \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0432\u044b\u0431\u043e\u0440\u043a\u0438<\/p>\n<\/li>\n<li>\n<p>\u041e\u0447\u0438\u0449\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u0432\u044b\u0431\u043e\u0440\u043a\u0438<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Associative Cache (\u0410\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u043a\u044d\u0448)<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u041a\u044d\u0448\u0438\u0440\u0443\u0435\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f possible\/excluded<\/p>\n<\/li>\n<li>\n<p>\u0423\u0441\u043a\u043e\u0440\u044f\u0435\u0442 \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044e \u043f\u043e \u043c\u043e\u0434\u0435\u043b\u0438<\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Calculation Cache<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u041f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439<\/p>\n<\/li>\n<li>\n<p>\u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u0435\u043d \u0434\u043b\u044f Aggr() \u0444\u0443\u043d\u043a\u0446\u0438\u0439<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><strong>\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u044d\u0448\u0435\u043c:<\/strong><\/p>\n<pre><code>\/\/ \u041f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0441\u0447\u0435\u0442 (\u043e\u0431\u0445\u043e\u0434 \u043a\u044d\u0448\u0430) =Sum(Sales) * (1 + Rand()*0.000001)  \/\/ Buffer Load - \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f QVD \u0441 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0436\u0438\u0437\u043d\u0438 Buffer (Expire 7) LOAD * FROM LargeTable;  \/\/ Incremental reload - \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0431\u0443\u0434\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 (Partial Reload) ADD ONLY LOAD * FROM NewData;<\/code><\/pre>\n<p><strong>\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438:<\/strong><\/p>\n<ul>\n<li>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0434\u043d\u0438 \u0438 \u0442\u0435 \u0436\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043f\u043e\u043f\u0430\u0434\u0430\u043d\u0438\u044f \u0432 \u043a\u044d\u0448<\/p>\n<\/li>\n<li>\n<p>\u0418\u0437\u0431\u0435\u0433\u0430\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 (Now(), Today()) \u0432 \u043c\u0435\u0440\u0430\u0445<\/p>\n<\/li>\n<li>\n<p>\u0412\u044b\u043d\u043e\u0441\u0438\u0442\u044c \u0442\u044f\u0436\u0435\u043b\u044b\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0432 \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442, \u0430 \u043d\u0435 \u0432 \u043c\u0435\u0440\u044b \u0432 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u0445<\/p>\n<\/li>\n<li>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439<\/p>\n<\/li>\n<\/ul>\n<h4>10. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0440\u0430\u0437\u0434\u0435\u043b Section Access?<\/h4>\n<p>Section Access &#8212; \u044d\u0442\u043e \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0434\u0430\u043d\u043d\u044b\u043c \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0441\u0442\u0440\u043e\u043a.<\/p>\n<pre><code>Section Access; ACCESS: LOAD * INLINE [     ACCESS, USERID, REGION     ADMIN, ADMIN1, *     USER, USER1, Europe     USER, USER2, Asia ]; Section Application;<\/code><\/pre>\n<p>\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430: &#171;Opening&#187; \u2192 &#171;Initial Data Reduction Based on Section Access&#187;.<\/p>\n<p> <strong>\u041e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435:<\/strong><\/p>\n<ul>\n<li>\n<p><strong>ACCESS<\/strong>: ADMIN (\u043f\u043e\u043b\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f) \u0438\u043b\u0438 USER (\u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u044b\u0439).<\/p>\n<\/li>\n<li>\n<p><strong>USERID<\/strong>: \u0418\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f (\u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u043b\u043e\u0433\u0438\u043d\u043e\u043c QlikView).<\/p>\n<\/li>\n<li>\n<p><strong>REGION<\/strong>: \u041f\u043e\u043b\u0435, \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u044e\u0449\u0435\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0432\u0438\u0434\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0432\u043e\u044e \u0437\u043e\u043d\u0443).<\/p>\n<\/li>\n<li>\n<p>*: \u0414\u043e\u0441\u0442\u0443\u043f \u043a\u043e \u0432\u0441\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c \u043f\u043e\u043b\u044f. \u041f\u0440\u0438\u043c\u0435\u0440: USER1 \u0443\u0432\u0438\u0434\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0430\u043d\u043d\u044b\u0435, \u0433\u0434\u0435 REGION = &#8216;Europe&#8217;.<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0412\u0430\u0436\u043d\u044b\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438:<\/strong><\/p>\n<ol>\n<li>\n<p>\u041f\u043e\u043b\u044f \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0432 UPPER CASE<\/p>\n<\/li>\n<li>\n<p>(\u0437\u0432\u0435\u0437\u0434\u043e\u0447\u043a\u0430) \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0432\u0441\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f  <\/p>\n<\/li>\n<li>\n<p>ADMIN \u0432\u0438\u0434\u0438\u0442 \u0432\u0441\u0451, USER &#8212; \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0432\u043e\u0438 \u0434\u0430\u043d\u043d\u044b\u0435<\/p>\n<\/li>\n<\/ol>\n<p> <strong>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438: <\/strong><\/p>\n<pre><code>\/\/ \u0412\u0441\u0435\u0433\u0434\u0430 \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0439\u0442\u0435 \u0437\u0430\u043f\u0430\u0441\u043d\u043e\u0439 ADMIN \u0434\u043e\u0441\u0442\u0443\u043f LOAD * INLINE [     ACCESS, USERID     ADMIN, INTERNAL\\SA_ADMIN ];<\/code><\/pre>\n<hr\/>\n<h3>\u0417\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u044b\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u044b<\/h3>\n<h4>11. \u041a\u0430\u043a\u0438\u0435 \u0435\u0441\u0442\u044c \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Qlik?<\/h4>\n<p><strong>\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438:<\/strong><\/p>\n<ul>\n<li>\n<p><strong>Direct Load<\/strong> &#8212; \u043f\u0440\u044f\u043c\u0430\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0438\u0437 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432:<\/p>\n<\/li>\n<\/ul>\n<pre><code>\/\/ \u0418\u0437 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 LIB CONNECT TO 'PostgreSQL_Production'; LOAD CustomerID, CustomerName, Country SQL SELECT * FROM Customers WHERE Active = 1;  \/\/ \u0418\u0437 \u0444\u0430\u0439\u043b\u043e\u0432 LOAD * FROM [lib:\/\/DataFiles\/Sales.xlsx] (ooxml, embedded labels, table is Sheet1);<\/code><\/pre>\n<ul>\n<li>\n<p><strong>Resident Load<\/strong> &#8212; \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0438\u0437 \u0443\u0436\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0445 \u0442\u0430\u0431\u043b\u0438\u0446:<\/p>\n<\/li>\n<\/ul>\n<pre><code>\/\/ \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0439 TempTable: LOAD * FROM Source.qvd (qvd);  FinalTable: LOAD      CustomerID,     Upper(CustomerName) as CustomerName,     Country RESIDENT TempTable WHERE Country &lt;&gt; 'Unknown';  DROP TABLE TempTable;<\/code><\/pre>\n<ul>\n<li>\n<p><strong>Inline Load<\/strong> &#8212; \u0432\u0432\u043e\u0434 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u044f\u043c\u043e \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435:<\/p>\n<\/li>\n<\/ul>\n<pre><code>\/\/ \u0414\u043b\u044f \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u043e\u0432 \u0438 mapping \u0442\u0430\u0431\u043b\u0438\u0446 Priorities: LOAD * INLINE [     Priority, PriorityNum, Color     High, 3, Red     Medium, 2, Yellow     Low, 1, Green ];<\/code><\/pre>\n<ul>\n<li>\n<p><strong>From Field<\/strong> &#8212; \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0438\u0437 \u043f\u043e\u043b\u044f:<\/p>\n<\/li>\n<\/ul>\n<pre><code>\/\/ \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u043f\u043e\u043b\u044f LOAD      CustomerID,     SubField(Tags, ',') as Tag FROM Customers.qvd (qvd);<\/code><\/pre>\n<ul>\n<li>\n<p><strong>Binary Load<\/strong> &#8212; \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0432\u0441\u0435\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 qvf-\u0444\u0430\u0439\u043b\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f:<\/p>\n<\/li>\n<\/ul>\n<pre><code>\/\/ \u0414\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u043e\u0439 \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 Binary [lib:\/\/Apps\/BaseDataModel.qvf];  \/\/ \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 LOAD * FROM AdditionalData.qvd (qvd);<\/code><\/pre>\n<h4>12. \u041e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u0435 \u0440\u0430\u0437\u043d\u0438\u0446\u0443 \u043c\u0435\u0436\u0434\u0443 JOIN, KEEP \u0438 CONCATENATE<\/h4>\n<p><strong>JOIN &#8212; \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446 \u0432 \u043e\u0434\u043d\u0443:<\/strong><\/p>\n<pre><code>\/\/ Left Join - \u0432\u0441\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u0438\u0437 \u043b\u0435\u0432\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b Orders: LOAD OrderID, CustomerID, Amount FROM Orders.csv;  LEFT JOIN (Orders) LOAD CustomerID, CustomerName, Country FROM Customers.csv; \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: \u0412\u0441\u0435 \u0437\u0430\u043a\u0430\u0437\u044b, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u043a\u043b\u0438\u0435\u043d\u0442 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d  \/\/ Inner Join - \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0449\u0438\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 INNER JOIN (Orders) LOAD CustomerID, CustomerName FROM Customers.csv; \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: \u0422\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u043a\u0430\u0437\u044b \u0441 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c\u0438  \/\/ Right Join - \u0432\u0441\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u0438\u0437 \u043f\u0440\u0430\u0432\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b RIGHT JOIN (Orders) LOAD CustomerID, CustomerName FROM Customers.csv; \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: \u0412\u0441\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u044b, \u0434\u0430\u0436\u0435 \u0431\u0435\u0437 \u0437\u0430\u043a\u0430\u0437\u043e\u0432  \/\/ Outer Join - \u0432\u0441\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u0438\u0437 \u043e\u0431\u0435\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0446 OUTER JOIN (Orders) LOAD CustomerID, CustomerName FROM Customers.csv; \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: \u0412\u0441\u0435 \u0437\u0430\u043a\u0430\u0437\u044b \u0438 \u0432\u0441\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u044b<\/code><\/pre>\n<p><strong>KEEP &#8212; \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f \u0441 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435\u043c \u0442\u0430\u0431\u043b\u0438\u0446 \u0440\u0430\u0437\u0434\u0435\u043b\u044c\u043d\u044b\u043c\u0438:<\/strong><\/p>\n<pre><code>\/\/ Left Keep - \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u0438 \u043b\u0435\u0432\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441 \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u044f\u043c\u0438 Orders: LOAD OrderID, CustomerID, Amount FROM Orders.csv;  LEFT KEEP (Orders) Customers: LOAD CustomerID, CustomerName FROM Customers.csv; \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: \u0412 Orders \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u043a\u0430\u0437\u044b \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \/\/ \u0422\u0430\u0431\u043b\u0438\u0446\u044b \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u0440\u0430\u0437\u0434\u0435\u043b\u044c\u043d\u044b\u043c\u0438!  \/\/ Inner Keep - \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0449\u0438\u0435 \u0432 \u043e\u0431\u0435\u0438\u0445 INNER KEEP (Orders) \/\/ \u041e\u0431\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u0438<\/code><\/pre>\n<p><strong>CONCATENATE &#8212; \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 (\u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435):<\/strong><\/p>\n<pre><code>Sales2023: LOAD * FROM Sales_2023.csv;  CONCATENATE (Sales2023) LOAD * FROM Sales_2024.csv; \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: \u041e\u0434\u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u043f\u0440\u043e\u0434\u0430\u0436\u0430\u043c\u0438 \u0437\u0430 \u0434\u0432\u0430 \u0433\u043e\u0434\u0430  \/\/ \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043a\u043e\u043d\u043a\u0430\u0442\u0435\u043d\u0430\u0446\u0438\u044f \u043f\u0440\u0438 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \/\/ \u041f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043a\u043e\u043d\u043a\u0430\u0442\u0435\u043d\u0430\u0446\u0438\u044f \u043f\u0440\u0438 \u0440\u0430\u0437\u043d\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 CONCATENATE (Sales2023) LOAD ...;  \/\/ \u041f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043a\u043e\u043d\u043a\u0430\u0442\u0435\u043d\u0430\u0446\u0438\u0438 NOCONCATENATE LOAD ...;<\/code><\/pre>\n<h4>13. \u041a\u0430\u043a \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u0443\u044e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443?<\/h4>\n<p><strong>\u0411\u0430\u0437\u043e\u0432\u0430\u044f \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044f INSERT only:<\/strong><\/p>\n<pre><code>\/\/ 1. \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u043e\u0439 \u0434\u0430\u0442\u044b IF FileSize('lib:\/\/QVD\/Sales.qvd') &gt; 0 THEN     MaxDate:     LOAD          Max(ModifiedDate) as MaxModifiedDate     FROM [lib:\/\/QVD\/Sales.qvd] (qvd);          LET vMaxDate = Peek('MaxModifiedDate', 0, 'MaxDate');     DROP TABLE MaxDate; ELSE     LET vMaxDate = '1900-01-01'; END IF  \/\/ 2. \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u043e\u0432\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 NewData: LOAD      *,     Now() as LoadTimestamp FROM [lib:\/\/Database\/Sales] WHERE ModifiedDate &gt; '$(vMaxDate)';  \/\/ 3. \u041e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 IF FileSize('lib:\/\/QVD\/Sales.qvd') &gt; 0 THEN     CONCATENATE (NewData)     LOAD *      FROM [lib:\/\/QVD\/Sales.qvd] (qvd); END IF  \/\/ 4. \u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0433\u043e QVD STORE NewData INTO [lib:\/\/QVD\/Sales.qvd] (qvd);<\/code><\/pre>\n<p><strong>\u0421\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044f INSERT \u0438 UPDATE:<\/strong><\/p>\n<pre><code>\/\/ \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u043d\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 UpdatedData: LOAD      SalesID,     CustomerID,     Amount,     ModifiedDate FROM Database WHERE ModifiedDate &gt; '$(vMaxDate)';  \/\/ \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 ID UpdatedIDs: LOAD DISTINCT      SalesID as UpdatedID RESIDENT UpdatedData;  \/\/ \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0435 CONCATENATE (UpdatedData) LOAD *  FROM [lib:\/\/QVD\/Sales.qvd] (qvd) WHERE NOT EXISTS(UpdatedID, SalesID);  DROP TABLE UpdatedIDs;<\/code><\/pre>\n<p><strong>\u0421\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044f \u0441 DELETE:<\/strong><\/p>\n<pre><code>\/\/ \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0438\u0437 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 ActiveRecords: LOAD      SalesID,     1 as IsActive FROM Database WHERE DeletedFlag = 0;  \/\/ \u041f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0444\u0438\u043b\u044c\u0442\u0440\u0430 \u043a \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u043c FinalData: LOAD *  FROM [lib:\/\/QVD\/Sales.qvd] (qvd) WHERE EXISTS(IsActive, SalesID);  DROP TABLE ActiveRecords;<\/code><\/pre>\n<h4>14. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Preceding Load \u0438 \u043a\u043e\u0433\u0434\u0430 \u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c?<\/h4>\n<p>Preceding Load &#8212; \u044d\u0442\u043e \u043c\u043e\u0449\u043d\u0430\u044f \u0442\u0435\u0445\u043d\u0438\u043a\u0430, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043a \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e LOAD \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430. \u042d\u0442\u043e \u0443\u043b\u0443\u0447\u0448\u0430\u0435\u0442 \u0447\u0438\u0442\u0430\u0435\u043c\u043e\u0441\u0442\u044c \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u0434\u0430.<\/p>\n<p><strong>\u041a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f \u0438 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441:<\/strong><\/p>\n<pre><code>\/\/ Preceding Load (\u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0432\u0442\u043e\u0440\u044b\u043c) LOAD      *,     Year(OrderDate) as OrderYear,     Month(OrderDate) as OrderMonth,     'Q' &amp; Ceil(Month(OrderDate)\/3) as Quarter,     If(Amount &gt; 1000, 'Large', 'Small') as OrderSize; \/\/ Base Load (\u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0432\u044b\u043c)     LOAD      OrderID,     CustomerID,     Date(OrderDate) as OrderDate,     Amount FROM Orders.csv;<\/code><\/pre>\n<p><strong>\u041f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430:<\/strong><\/p>\n<ol>\n<li>\n<p><strong>\u0427\u0438\u0442\u0430\u0435\u043c\u043e\u0441\u0442\u044c<\/strong>: \u041b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e\u0442\u0434\u0435\u043b\u0435\u043d\u044b \u043e\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435<\/strong>: \u041c\u043e\u0436\u043d\u043e \u0441\u0441\u044b\u043b\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044f<\/p>\n<\/li>\n<\/ol>\n<p><strong>\u0421\u043b\u043e\u0436\u043d\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b:<\/strong><\/p>\n<pre><code>\/\/ \u041c\u043d\u043e\u0433\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0439 Preceding Load LOAD      *,     If(RunningTotal &gt; 10000, 'Premium', 'Regular') as CustomerType; LOAD      *,     RangeSum(Amount, Peek('RunningTotal')) as RunningTotal; LOAD      CustomerID,     OrderDate,     Amount FROM Orders.qvd (qvd) ORDER BY CustomerID, OrderDate;  \/\/ \u0421 \u0430\u0433\u0440\u0435\u0433\u0430\u0446\u0438\u0435\u0439 LOAD      CustomerID,     CustomerName,     If(TotalAmount &gt; AvgAmount, 'Above Average', 'Below Average') as Performance; LOAD      CustomerID,     CustomerName,     Sum(Amount) as TotalAmount,     Avg(Total Amount) as AvgAmount FROM Orders.qvd (qvd) GROUP BY CustomerID, CustomerName;<\/code><\/pre>\n<h4>15. \u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044f ApplyMap?<\/h4>\n<p>ApplyMap &#8212; \u044d\u0442\u043e \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0430\u044f \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0430 JOIN \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043e\u043a \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439. <\/p>\n<p><strong>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 mapping \u0442\u0430\u0431\u043b\u0438\u0446\u044b:<\/strong><\/p>\n<pre><code>\/\/ \u0428\u0430\u0433 1: \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 mapping \u0442\u0430\u0431\u043b\u0438\u0446\u044b (\u0432\u0441\u0435\u0433\u0434\u0430 2 \u043f\u043e\u043b\u044f) CountryNames: MAPPING LOAD      CountryCode,    \/\/ \u041a\u043b\u044e\u0447 \u043f\u043e\u0438\u0441\u043a\u0430     CountryName     \/\/ \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 FROM Countries.csv;  \/\/ \u0428\u0430\u0433 2: \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 Orders: LOAD      OrderID,     CustomerID,     ApplyMap('CountryNames', CountryCode) as Country,     ApplyMap('CountryNames', CountryCode, 'Unknown Country') as CountryWithDefault,     Amount FROM Orders.csv;<\/code><\/pre>\n<p><strong>\u041f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0435 \u0442\u0435\u0445\u043d\u0438\u043a\u0438:<\/strong><\/p>\n<pre><code>\/\/ \u041c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 mapping \u0442\u0430\u0431\u043b\u0438\u0446\u044b CustomerSegments: MAPPING LOAD      CustomerID,     Segment FROM Segments.csv;  ProductCategories: MAPPING LOAD      ProductID,     Category   FROM Categories.csv;  \/\/ \u0426\u0435\u043f\u043e\u0447\u043a\u0438 ApplyMap Sales: LOAD      *,     ApplyMap('CustomerSegments', CustomerID, 'New') as Segment,     ApplyMap('ProductCategories', ProductID, 'Other') as Category,     ApplyMap('PriceTiers',          ApplyMap('ProductCategories', ProductID),          'Standard'     ) as PriceTier  \/\/ \u0412\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0439 ApplyMap FROM Sales.qvd;  \/\/ Mapping \u0441 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f\u043c\u0438 PriceBands: MAPPING LOAD      RecNo() as PriceLevel,     'Band ' &amp; RecNo() as PriceBand AUTOGENERATE 10;<\/code><\/pre>\n<p><strong>\u041f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u043d\u0430\u0434 JOIN:<\/strong><\/p>\n<ul>\n<li>\n<p>\u041d\u0435 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0442\u0440\u043e\u043a (\u043a\u0430\u043a LEFT JOIN)<\/p>\n<\/li>\n<li>\n<p>\u041b\u0443\u0447\u0448\u0430\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043e\u0431\u044a\u0435\u043c\u0430\u0445<\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u0434\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e<\/p>\n<\/li>\n<li>\n<p>\u041d\u0435 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u043b\u044e\u0447\u0435\u0439<\/p>\n<\/li>\n<\/ul>\n<h4>16. \u041e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u0435 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435<\/h4>\n<p>\u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0432 Qlik \u043d\u0443\u0436\u043d\u044b \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0438 \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439. \u041d\u0430 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0438 \u0432\u0430\u0441 \u0441 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c\u044e 95% \u0441\u043f\u0440\u043e\u0441\u044f\u0442 \u043f\u0440\u043e \u0440\u0430\u0437\u043d\u0438\u0446\u0443 \u043c\u0435\u0436\u0434\u0443 SET \u0438 LET.<\/p>\n<p><strong>\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b:<\/strong><\/p>\n<pre><code>\/\/ SET - \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u0442 \u0442\u0435\u043a\u0441\u0442 \u043a\u0430\u043a \u0435\u0441\u0442\u044c (\u0431\u0435\u0437 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f) SET vFormula = Sum(Sales); SET vToday = Today(); \/\/ vToday \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0442\u0435\u043a\u0441\u0442 \"Today()\", \u0430 \u043d\u0435 \u0434\u0430\u0442\u0443  \/\/ LET - \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u043d\u0438\u0438 LET vFormula = 'Sum(Sales)';  \/\/ \u041d\u0443\u0436\u043d\u044b \u043a\u0430\u0432\u044b\u0447\u043a\u0438 \u0434\u043b\u044f \u0442\u0435\u043a\u0441\u0442\u0430 LET vToday = Today();          \/\/ vToday \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0447\u0438\u0441\u043b\u043e\u0432\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u0430\u0442\u044b LET vCurrentYear = Year(Today());  \/\/ 2024  \/\/ \u041a\u043e\u043d\u043a\u0430\u0442\u0435\u043d\u0430\u0446\u0438\u044f \u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f LET vStartDate = Date(MonthStart(Today()), 'YYYY-MM-DD'); LET vTableName = 'Sales_' &amp; Year(Today());<\/code><\/pre>\n<p><strong>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445:<\/strong><\/p>\n<pre><code>\/\/ \u0412 \u043f\u0443\u0442\u044f\u0445 \u0438 \u0438\u043c\u0435\u043d\u0430\u0445 LOAD * FROM [lib:\/\/Data\/$(vTableName).qvd] (qvd);  \/\/ \u0412 WHERE \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 LOAD * FROM Orders WHERE OrderDate &gt;= '$(vStartDate)';  \/\/ \u0412 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f\u0445 LET vRowCount = NoOfRows('Orders'); TRACE Loaded $(vRowCount) orders;  \/\/ \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 (Qlik Sense) SET vCalculateSales = Sum({&lt;Year={$1}, Month={$2}&gt;} Sales); \/\/ \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435: $(vCalculateSales(2024, 'Jan'))<\/code><\/pre>\n<p><strong>\u0414\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435:<\/strong><\/p>\n<pre><code>\/\/ \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432 \u0446\u0438\u043a\u043b\u0435 FOR i = 1 TO 12     LET vMonth$(i) = Month(MakeDate(2024, $(i), 1));     \/\/ \u0421\u043e\u0437\u0434\u0430\u0435\u0442: vMonth1='Jan', vMonth2='Feb', \u0438 \u0442.\u0434. NEXT i  \/\/ \u0427\u0442\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b Variables: LOAD * INLINE [     VarName, VarValue     vMaxSales, Max(Sales)     vAvgSales, Avg(Sales) ];  FOR i = 0 TO NoOfRows('Variables')-1     LET vName = Peek('VarName', $(i), 'Variables');     LET vValue = Peek('VarValue', $(i), 'Variables');     LET $(vName) = '$(vValue)'; NEXT i<\/code><\/pre>\n<h4>17. \u041a\u0430\u043a \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c NULL \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435?<\/h4>\n<p><strong>\u0413\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438:<\/strong><\/p>\n<pre><code>\/\/ \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043a\u0430\u043a NULL \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 SET NullInterpret = '';  \/\/ \u041f\u0443\u0441\u0442\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0441\u0447\u0438\u0442\u0430\u044e\u0442\u0441\u044f NULL SET NullInterpret = '&lt;NULL&gt;';  \/\/ \u0421\u0442\u0440\u043e\u043a\u0430 '&lt;NULL&gt;' \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f NULL  \/\/ \u0417\u0430\u043c\u0435\u043d\u0430 NULL \u043d\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 NullAsValue *;  \/\/ \u0414\u043b\u044f \u0432\u0441\u0435\u0445 \u043f\u043e\u043b\u0435\u0439 SET NullValue = 'N\/A';  \/\/ NULL \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0430 'N\/A'  \/\/ \u0418\u043b\u0438 \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u043f\u043e\u043b\u0435\u0439 NullAsValue CustomerName, ProductName; SET NullValue = 'Unknown';<\/code><\/pre>\n<p><strong>\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0432 LOAD \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430\u0445:<\/strong><\/p>\n<pre><code>Customers: LOAD      CustomerID,     \/\/ \u0420\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 NULL     If(IsNull(CustomerName), 'Unknown Customer', CustomerName) as CustomerName,     If(Len(Trim(Email)) = 0, 'green@elephant.ru', Email) as Email,     Alt(Phone, Mobile, 'No Phone') as ContactPhone,  \/\/ \u041f\u0435\u0440\u0432\u043e\u0435 \u043d\u0435-NULL \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435     Coalesce(Discount, 0) as Discount,  \/\/ SQL-style, \u043d\u043e\u043b\u044c \u0435\u0441\u043b\u0438 NULL     RangeMin(Price, 9999999) as Price  \/\/ \u0417\u0430\u0449\u0438\u0442\u0430 \u043e\u0442 NULL \u0432 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f\u0445 FROM Customers.csv;  \/\/ \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 NULL \u0432 \u0434\u0430\u0442\u0430\u0445 LOAD      OrderID,     If(IsNull(ShipDate), Date(OrderDate + 3), ShipDate) as ShipDate,     If(DeliveryDate &lt; OrderDate or IsNull(DeliveryDate),         Date(OrderDate + 7),         DeliveryDate) as ValidDeliveryDate FROM Orders.csv;<\/code><\/pre>\n<p><strong>\u0421\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u043b\u0443\u0447\u0430\u0438:<\/strong><\/p>\n<pre><code>\/\/ \u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 NULL (\u0435\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e) NullAsNull Field1, Field2;  \/\/ \u041f\u043e\u0434\u0441\u0447\u0435\u0442 NULL \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 NullCount(FieldName) as NullRecords  \/\/ \u0424\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f NULL WHERE NOT IsNull(CustomerID) WHERE Len(Trim(ProductName)) &gt; 0<\/code><\/pre>\n<h4>18. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Crosstable Load?<\/h4>\n<p>Crosstable Load &#8212; \u044d\u0442\u043e \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0448\u0438\u0440\u043e\u043a\u043e\u0433\u043e \u0444\u043e\u0440\u043c\u0430\u0442\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 (\u043a\u0440\u043e\u0441\u0441-\u0442\u0430\u0431\u043b\u0438\u0446\u044b) \u0432 \u0434\u043b\u0438\u043d\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442, \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0434\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0432 Qlik. \u0413\u043e\u0432\u043e\u0440\u044f \u043f\u0440\u043e\u0441\u0442\u044b\u043c \u044f\u0437\u044b\u043a\u043e\u043c, &#171;\u0440\u0430\u0437\u0432\u043e\u0440\u043e\u0442 \u0442\u0430\u0431\u043b\u0438\u0446\u044b&#187; (\u043c\u043d\u043e\u0433\u0438\u0435 \u0438\u0437 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u0439 \u0442\u043e\u0447\u043d\u043e \u0434\u0435\u043b\u0430\u043b\u0438 \u0442\u0430\u043a\u0443\u044e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e \u0432 MS PowerQuery, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440)<\/p>\n<p><strong>\u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441:<\/strong><\/p>\n<pre><code>\/\/ \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435: \/\/ Product  | Jan | Feb | Mar \/\/ A        | 100 | 150 | 200 \/\/ B        | 200 | 180 | 220  \/\/ \u0422\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f: CrossTable(Month, Sales) LOAD      Product,     Jan,     Feb,     Mar FROM MonthlySales.xlsx;  \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: \/\/ Product | Month | Sales \/\/ A       | Jan   | 100 \/\/ A       | Feb   | 150 \/\/ A       | Mar   | 200 \/\/ B       | Jan   | 200 \/\/ B       | Feb   | 180 \/\/ B       | Mar   | 220<\/code><\/pre>\n<p><strong>\u041f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435:<\/strong><\/p>\n<pre><code>\/\/ \u0421 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 qualifying \u043f\u043e\u043b\u044f\u043c\u0438 CrossTable(MetricType, MetricValue, 3)  \/\/ 3 \u043f\u043e\u043b\u044f \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u043a\u0430\u043a \u0435\u0441\u0442\u044c LOAD      Year,     Region,     Product,     Sales_Actual,     Sales_Budget,     Sales_Forecast,     Costs_Actual,     Costs_Budget FROM Planning.xlsx;  \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 Year, Region, Product \u043a\u0430\u043a \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f \/\/ MetricType: Sales_Actual, Sales_Budget, \u0438 \u0442.\u0434. \/\/ MetricValue: \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f  \/\/ \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043f\u043e\u0441\u043b\u0435 Crosstable NormalizedData: LOAD      Year,     Region,      Product,     SubField(MetricType, '_', 1) as Metric,  \/\/ Sales, Costs     SubField(MetricType, '_', 2) as Version, \/\/ Actual, Budget     MetricValue RESIDENT TempCrosstable;<\/code><\/pre>\n<h4>19. \u041a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c For&#8230;Next \u0446\u0438\u043a\u043b\u044b \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435?<\/h4>\n<p>\u0426\u0438\u043a\u043b\u044b \u0432 Qlik \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0438\u0435\u0441\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0438 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435.<\/p>\n<p><strong>\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0442\u0438\u043f\u044b \u0446\u0438\u043a\u043b\u043e\u0432:<\/strong><\/p>\n<pre><code>\/\/ 1. \u0427\u0438\u0441\u043b\u043e\u0432\u043e\u0439 \u0446\u0438\u043a\u043b FOR i = 1 TO 12     LET vMonthName = Month(MakeDate(2024, $(i), 1));          MonthlyData:     LOAD          '$(vMonthName)' as Month,         $(i) as MonthNum,         *     FROM [lib:\/\/Data\/Sales_2024_$(i).xlsx]     (ooxml, embedded labels); NEXT i  \/\/ 2. \u0426\u0438\u043a\u043b \u043f\u043e \u0441\u043f\u0438\u0441\u043a\u0443 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 FOR Each vYear IN 2020, 2021, 2022, 2023, 2024     YearlyData:     LOAD          *,         '$(vYear)' as Year     FROM [lib:\/\/Data\/Sales_$(vYear).qvd] (qvd); NEXT vYear  \/\/ 3. \u0426\u0438\u043a\u043b \u043f\u043e \u0444\u0430\u0439\u043b\u0430\u043c FOR Each vFile IN FileList('lib:\/\/Data\/*.csv')     LET vFileName = SubField('$(vFile)', '\/', -1);     TRACE Loading $(vFileName);          Data:     LOAD          *,         '$(vFileName)' as SourceFile     FROM [$(vFile)]     (txt, utf8, embedded labels, delimiter is ','); NEXT vFile<\/code><\/pre>\n<p><strong>\u041f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0435 \u0442\u0435\u0445\u043d\u0438\u043a\u0438:<\/strong><\/p>\n<pre><code>\/\/ \u0426\u0438\u043a\u043b \u043f\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b Tables: LOAD * INLINE [     TableName, FilterCondition     Orders, Status='Active'     Customers, Country='USA' ];  FOR i = 0 TO NoOfRows('Tables')-1     LET vTable = Peek('TableName', $(i), 'Tables');     LET vFilter = Peek('FilterCondition', $(i), 'Tables');          $(vTable)_Filtered:     LOAD * FROM [lib:\/\/Data\/$(vTable).qvd] (qvd)     WHERE $(vFilter); NEXT i  \/\/ \u0412\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u0446\u0438\u043a\u043b\u044b FOR vYear = 2020 TO 2024     FOR vMonth = 1 TO 12         LET vPeriod = '$(vYear)' &amp; Num($(vMonth), '00');                  IF FileSize('lib:\/\/Data\/Sales_$(vPeriod).qvd') &gt; 0 THEN             Sales:             LOAD * FROM [lib:\/\/Data\/Sales_$(vPeriod).qvd] (qvd);         END IF     NEXT vMonth NEXT vYear<\/code><\/pre>\n<h4>20. \u041e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u0435 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044e Partial Reload<\/h4>\n<p>Partial Reload \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0430\u0441\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0445 \u0431\u0435\u0437 \u043f\u043e\u043b\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u042d\u0442\u043e \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u043e \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439.<\/p>\n<p><strong>\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/strong><\/p>\n<pre><code>\/\/ ADD - \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 Partial Reload ADD LOAD * FROM NewOrders.csv;  \/\/ \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 Partial Reload ADD ONLY LOAD * FROM TodayOrders.csv;  \/\/ REPLACE - \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u0438 Partial Reload REPLACE LOAD * FROM UpdatedCustomers.csv;  \/\/ \u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 Partial Reload \u0441 \u0437\u0430\u043c\u0435\u043d\u043e\u0439 REPLACE ONLY LOAD * FROM Corrections.csv;<\/code><\/pre>\n<p><strong>\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b:<\/strong><\/p>\n<pre><code>\/\/ \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0434\u043d\u044f IF IsPartialReload() THEN     \/\/ \u0423\u0434\u0430\u043b\u044f\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0434\u043d\u044f     WHERE Date &lt;&gt; Today();          \/\/ \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u0432\u0435\u0436\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435     ADD LOAD * FROM TodayTransactions.csv; ELSE     \/\/ \u041f\u043e\u043b\u043d\u0430\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430     LOAD * FROM AllTransactions.qvd (qvd); END IF  \/\/ \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u043e\u0432 Products: LOAD * FROM Products.qvd (qvd);  REPLACE ONLY LOAD * FROM ProductUpdates.csv;  \/\/ \u0423\u0441\u043b\u043e\u0432\u043d\u0430\u044f \u043b\u043e\u0433\u0438\u043a\u0430 IF IsPartialReload() THEN     LET vReloadType = 'Partial';     \/\/ \u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f ELSE     LET vReloadType = 'Full';     \/\/ \u041f\u043e\u043b\u043d\u0430\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 END IF<\/code><\/pre>\n<p><strong>\u0412\u0430\u0436\u043d\u044b\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438:<\/strong><\/p>\n<ul>\n<li>\n<p>\u0417\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u043f\u043e\u043b\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438<\/p>\n<\/li>\n<li>\n<p>\u041d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 DROP TABLE \u043a\u043e\u043c\u0430\u043d\u0434\u044b<\/p>\n<\/li>\n<li>\n<p>Binary Load \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u0438 Partial Reload<\/p>\n<\/li>\n<\/ul>\n<hr\/>\n<h3>\u041c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445<\/h3>\n<h4>21. \u041a\u0430\u043a\u0438\u0435 \u0442\u0438\u043f\u044b \u0441\u0445\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u044b \u0437\u043d\u0430\u0435\u0442\u0435 \u0432 Qlik?<\/h4>\n<p><strong>Star Schema (\u0417\u0432\u0435\u0437\u0434\u0430):<\/strong><\/p>\n<pre><code>\/\/ \u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0444\u0430\u043a\u0442\u043e\u0432 Facts: LOAD      OrderID,     CustomerID,     ProductID,     DateID,     Amount,     Quantity FROM Orders.qvd;  \/\/ \u0422\u0430\u0431\u043b\u0438\u0446\u044b \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0439 \u0432\u043e\u043a\u0440\u0443\u0433 Customers: LOAD CustomerID, CustomerName, Country FROM Customers.qvd;  Products: LOAD ProductID, ProductName, Category FROM Products.qvd;  Calendar: LOAD DateID, Date, Year, Month, Quarter FROM Calendar.qvd;<\/code><\/pre>\n<p><strong>\u041f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 Star Schema:<\/strong><\/p>\n<ul>\n<li>\n<p>\u041f\u0440\u043e\u0441\u0442\u043e\u0442\u0430 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f<\/p>\n<\/li>\n<li>\n<p>\u041e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c<\/p>\n<\/li>\n<li>\n<p>\u041c\u0438\u043d\u0438\u043c\u0443\u043c JOIN \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439<\/p>\n<\/li>\n<li>\n<p>\u0418\u0434\u0435\u0430\u043b\u044c\u043d\u0430 \u0434\u043b\u044f \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 Qlik<\/p>\n<\/li>\n<\/ul>\n<p><strong>Snowflake Schema (\u0421\u043d\u0435\u0436\u0438\u043d\u043a\u0430):<\/strong><\/p>\n<pre><code>\/\/ \u041d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f Products: LOAD ProductID, ProductName, SubCategoryID FROM Products.qvd;  SubCategories: LOAD SubCategoryID, SubCategoryName, CategoryID FROM SubCategories.qvd;  Categories: LOAD CategoryID, CategoryName FROM Categories.qvd;<\/code><\/pre>\n<p><strong>\u041a\u043e\u0433\u0434\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Snowflake:<\/strong><\/p>\n<ul>\n<li>\n<p>\u041e\u0447\u0435\u043d\u044c \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u0438 \u0441 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u044f\u043c\u0438<\/p>\n<\/li>\n<li>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0447\u0430\u0441\u0442\u043e\u0433\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445<\/p>\n<\/li>\n<li>\n<p>\u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445<\/p>\n<\/li>\n<\/ul>\n<p><strong>Link Table Schema:<\/strong><\/p>\n<pre><code>\/\/ \u0414\u043b\u044f \u0441\u0432\u044f\u0437\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0446 \u0444\u0430\u043a\u0442\u043e\u0432 LinkTable: LOAD DISTINCT     OrderID,     CustomerID,     ProductID,     DateID,     'Orders' as FactType FROM Orders.qvd;  CONCATENATE (LinkTable) LOAD DISTINCT     ShipmentID,     CustomerID,     ProductID,     DateID,     'Shipments' as FactType FROM Shipments.qvd;  \/\/ \u0424\u0430\u043a\u0442\u044b \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0439 OrderFacts: LOAD OrderID, Amount, Quantity FROM Orders.qvd;  ShipmentFacts: LOAD ShipmentID, Cost, DeliveryDays FROM Shipments.qvd;<\/code><\/pre>\n<h4>22. \u041a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044c \u0432 Qlik?<\/h4>\n<p>\u041a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044c &#8212; \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u043f\u043e\u0447\u0442\u0438 \u043b\u044e\u0431\u043e\u0433\u043e Qlik \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u0415\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0438\u0437 \u0438\u043c\u0435\u044e\u0449\u0435\u0439\u0441\u044f \u0443 \u0432\u0430\u0441 \u0411\u0414, \u0430 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e (\u044f \u043e\u0431\u044b\u0447\u043d\u043e \u0432\u044b\u0431\u0438\u0440\u0430\u043b \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u043d\u043e \u043f\u043e\u043a\u0430\u0436\u0443 \u0438 \u0432\u0442\u043e\u0440\u043e\u0439):<\/p>\n<p><strong>\u0411\u0430\u0437\u043e\u0432\u044b\u0439 Master Calendar:<\/strong><\/p>\n<pre><code>\/\/ 1. \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0433\u0440\u0430\u043d\u0438\u0446 \u0434\u0430\u0442 DateBounds: LOAD      Min(OrderDate) as MinDate,     Max(OrderDate) as MaxDate RESIDENT Orders;  LET vMinDate = Num(Peek('MinDate', 0, 'DateBounds')); LET vMaxDate = Num(Peek('MaxDate', 0, 'DateBounds')); DROP TABLE DateBounds;  \/\/ 2. \u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044f MasterCalendar: LOAD     Date as OrderDate,  \/\/ \u041a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u043f\u043e\u043b\u0435 \u0441\u0432\u044f\u0437\u0438     \/\/ \u0411\u0430\u0437\u043e\u0432\u044b\u0435 \u043f\u043e\u043b\u044f     Date,     Year(Date) as Year,     Quarter(Date) as Quarter,     'Q' &amp; Quarter(Date) as QuarterName,     Month(Date) as Month,     MonthName(Date) as MonthYear,     Week(Date) as Week,     WeekDay(Date) as WeekDay,     Day(Date) as Day,          \/\/ \u041f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0444\u043b\u0430\u0433\u0438     If(Date = Today(), 1, 0) as IsToday,     If(Date &gt;= MonthStart(Today()) and Date &lt;= Today(), 1, 0) as IsMTD,     If(Date &gt;= YearStart(Today()) and Date &lt;= Today(), 1, 0) as IsYTD,          \/\/ \u0424\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u044b\u0439 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044c (\u0435\u0441\u043b\u0438 FY \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u0438\u044e\u043b\u044f)     If(Month(Date) &gt;= 7, Year(Date) + 1, Year(Date)) as FiscalYear,     Mod(Month(Date) - 7, 12) + 1 as FiscalMonth,          \/\/ \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u043b\u044f     Date(MonthStart(Date), 'MMM-YYYY') as MonthStart,     Date(MonthEnd(Date), 'DD\/MM\/YYYY') as MonthEnd,     WeekStart(Date) as WeekStart,     WeekEnd(Date) as WeekEnd ; LOAD     Date($(vMinDate) + RecNo() - 1) as Date AUTOGENERATE $(vMaxDate) - $(vMinDate) + 1;<\/code><\/pre>\n<p><strong>\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0439 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044c \u0441 \u043f\u0440\u0430\u0437\u0434\u043d\u0438\u043a\u0430\u043c\u0438:<\/strong><\/p>\n<pre><code>\/\/ \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0430\u0437\u0434\u043d\u0438\u043a\u043e\u0432 Holidays: LOAD * INLINE [     Date, Holiday     2025-01-01, New Year     2025-01-07, Christmas ];  LEFT JOIN (MasterCalendar) LOAD      Date,     Holiday,     If(Len(Holiday) &gt; 0, 1, 0) as IsHoliday RESIDENT Holidays;  \/\/ \u0420\u0430\u0431\u043e\u0447\u0438\u0435 \u0434\u043d\u0438 LEFT JOIN (MasterCalendar) LOAD      Date,     If(WeekDay(Date) &gt;= 5 or IsHoliday = 1, 0, 1) as IsWorkingDay RESIDENT MasterCalendar;<\/code><\/pre>\n<h4>23. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Link Table \u0438 \u043a\u043e\u0433\u0434\u0430 \u0435\u0451 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c?<\/h4>\n<p>Link Table &#8212; \u044d\u0442\u043e \u0442\u0435\u0445\u043d\u0438\u043a\u0430 \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u0441\u0432\u044f\u0437\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0446 \u0444\u0430\u043a\u0442\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 \u043e\u0431\u0449\u0438\u0435 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f, \u0438\u0437\u0431\u0435\u0433\u0430\u044f \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u043b\u044e\u0447\u0435\u0439.<\/p>\n<p><strong>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0431\u0435\u0437 Link Table:<\/strong><\/p>\n<pre><code>\/\/ \u0414\u0432\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0444\u0430\u043a\u0442\u043e\u0432 \u0441 \u043e\u0431\u0449\u0438\u043c\u0438 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f\u043c\u0438 \u0441\u043e\u0437\u0434\u0430\u0434\u0443\u0442 \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043a\u043b\u044e\u0447 Orders: LOAD OrderID, CustomerID, ProductID, OrderDate, OrderAmount FROM ...;  Shipments: LOAD ShipmentID, CustomerID, ProductID, ShipDate, ShipmentCost FROM ...; \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: $Syn \u043a\u043b\u044e\u0447 \u0438\u0437 CustomerID + ProductID<\/code><\/pre>\n<p><strong>\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u0441 Link Table:<\/strong><\/p>\n<pre><code>\/\/ 1. \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u043b\u044e\u0447\u0438 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0444\u0430\u043a\u0442\u043e\u0432 Orders: LOAD      OrderID,     CustomerID &amp; '|' &amp; ProductID &amp; '|' &amp; OrderDate as LinkKey,     OrderAmount,     OrderQuantity FROM Orders.qvd;  Shipments: LOAD      ShipmentID,     CustomerID &amp; '|' &amp; ProductID &amp; '|' &amp; ShipDate as LinkKey,     ShipmentCost,     DeliveryDays FROM Shipments.qvd;  \/\/ 2. \u0421\u043e\u0437\u0434\u0430\u0435\u043c Link Table LinkTable: LOAD DISTINCT     LinkKey,     CustomerID,     ProductID,     OrderDate as Date,     'Order' as TransactionType FROM Orders.qvd;  CONCATENATE (LinkTable) LOAD DISTINCT     LinkKey,     CustomerID,     ProductID,     ShipDate as Date,     'Shipment' as TransactionType FROM Shipments.qvd;  \/\/ 3. \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f \u043a Link Table Customers: LOAD CustomerID, CustomerName FROM Customers.qvd;  Products: LOAD ProductID, ProductName FROM Products.qvd;<\/code><\/pre>\n<p><strong>\u041f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 Link Table:<\/strong><\/p>\n<ul>\n<li>\n<p>\u0418\u0437\u0431\u0435\u0433\u0430\u0435\u043c \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u043b\u044e\u0447\u0435\u0439<\/p>\n<\/li>\n<li>\n<p>\u0413\u0438\u0431\u043a\u043e\u0441\u0442\u044c \u0432 \u0430\u043d\u0430\u043b\u0438\u0437\u0435 \u0440\u0430\u0437\u043d\u044b\u0445 \u0444\u0430\u043a\u0442\u043e\u0432<\/p>\n<\/li>\n<li>\n<p>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u0431\u0449\u0435\u0433\u043e \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044f \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u0434\u0430\u0442<\/p>\n<\/li>\n<li>\n<p>\u041e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u0434\u0430\u043d\u043d\u044b\u0445<\/p>\n<\/li>\n<\/ul>\n<h4>24. \u041a\u0430\u043a \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u044c \u0434\u0430\u043d\u043d\u044b\u0445?<\/h4>\n<p><strong>1. \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043d\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u043f\u043e\u043b\u0435\u0439:<\/strong><\/p>\n<pre><code>\/\/ \u041f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 LOAD      OrderID,     CustomerID,     Amount     \/\/ \u041d\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u043d\u0435\u043d\u0443\u0436\u043d\u044b\u0435 \u043f\u043e\u043b\u044f FROM Orders.qvd;  \/\/ \u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 DROP FIELDS Field1, Field2 FROM Table1; DROP FIELD Field3;  \/\/ \u0418\u0437 \u0432\u0441\u0435\u0445 \u0442\u0430\u0431\u043b\u0438\u0446  \/\/ \u0410\u043d\u0430\u043b\u0438\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \/\/ Document Analyzer \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u043d\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u043f\u043e\u043b\u044f<\/code><\/pre>\n<p><strong>2. \u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0442\u0438\u043f\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445:<\/strong><\/p>\n<pre><code>\/\/ \u0427\u0438\u0441\u043b\u043e\u0432\u044b\u0435 \u043a\u043b\u044e\u0447\u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0445 Orders: LOAD      AutoNumber(CustomerID &amp; '|' &amp; ProductID) as Key,     \/\/ AutoNumber \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430 \u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0443\u0441\u043a\u043e\u0440\u044f\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f     Amount FROM Orders.qvd;  \/\/ \u041f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0435 \u0444\u043e\u0440\u043c\u0430\u0442\u044b \u0434\u0430\u0442 Date(Floor(Timestamp)) as Date,  \/\/ \u0423\u0431\u0438\u0440\u0430\u0435\u043c \u0432\u0440\u0435\u043c\u044f \/\/ \u0412\u043c\u0435\u0441\u0442\u043e \u043f\u043e\u043b\u043d\u043e\u0433\u043e timestamp \u0434\u043b\u044f \u0434\u043d\u0435\u0432\u043d\u043e\u0439 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0438<\/code><\/pre>\n<p><strong>3. \u0414\u0435\u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f vs \u041d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f:<\/strong><\/p>\n<pre><code>\/\/ \u0414\u0435\u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0445 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u043e\u0432 Orders: LOAD      o.*,     p.ProductName,     p.Category,     c.CustomerName,     c.Country FROM Orders.qvd (qvd) o LEFT JOIN (     LOAD ProductID, ProductName, Category      FROM Products.qvd (qvd) ) p ON o.ProductID = p.ProductID LEFT JOIN (     LOAD CustomerID, CustomerName, Country      FROM Customers.qvd (qvd) ) c ON o.CustomerID = c.CustomerID;  \/\/ \u042d\u043a\u043e\u043d\u043e\u043c\u0438\u043c \u043d\u0430 \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0446\u0438\u044f\u0445<\/code><\/pre>\n<p><strong>4. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0444\u043b\u0430\u0433\u043e\u0432 \u0432\u043c\u0435\u0441\u0442\u043e \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439:<\/strong><\/p>\n<pre><code>\/\/ \u0412 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 Orders: LOAD      *,     If(Amount &gt; 1000, 1, 0) as IsLargeOrder,     If(OrderDate &gt;= YearStart(Today()), 1, 0) as IsCurrentYear,     If(Status = 'Delivered' and DeliveryDate &lt;= DueDate, 1, 0) as IsOnTime FROM Orders.qvd;  \/\/ \u0412 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u0445 \u043f\u0440\u043e\u0441\u0442\u043e Sum(Sales * IsLargeOrder) \/\/ \u0412\u043c\u0435\u0441\u0442\u043e Sum(If(Amount &gt; 1000, Sales))<\/code><\/pre>\n<h4>25. \u041e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u0435 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044e Canonical Date<\/h4>\n<p>Canonical Date \u0440\u0435\u0448\u0430\u0435\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c\u0438 \u0434\u0430\u0442\u0430\u043c\u0438 (\u0434\u0430\u0442\u0430 \u0437\u0430\u043a\u0430\u0437\u0430, \u0434\u0430\u0442\u0430 \u043e\u0442\u0433\u0440\u0443\u0437\u043a\u0438, \u0434\u0430\u0442\u0430 \u043e\u043f\u043b\u0430\u0442\u044b \u0438 \u0442.\u0434.).<\/p>\n<p><strong>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0434\u0430\u0442:<\/strong><\/p>\n<pre><code>\/\/ \u041d\u0435\u043b\u044c\u0437\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0434\u0438\u043d \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044c \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u0434\u0430\u0442 Orders: LOAD      OrderID,     OrderDate,     ShipDate,     DeliveryDate,     PaymentDate FROM Orders.qvd;  \/\/ \u041a\u0430\u043a \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \"\u043f\u0440\u043e\u0434\u0430\u0436\u0438 \u043f\u043e \u043c\u0435\u0441\u044f\u0446\u0430\u043c\" - \u043f\u043e \u043a\u0430\u043a\u043e\u0439 \u0434\u0430\u0442\u0435?<\/code><\/pre>\n<p><strong>\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u0441 Canonical Date:<\/strong><\/p>\n<pre><code>\/\/ 1. \u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0444\u0430\u043a\u0442\u043e\u0432 Orders: LOAD      OrderID,     CustomerID,     ProductID,     OrderDate,     ShipDate,      DeliveryDate,     PaymentDate,     Amount FROM Orders.qvd;  \/\/ 2. \u0421\u043e\u0437\u0434\u0430\u0435\u043c Canonical Date Bridge DateBridge: \/\/ \u0414\u0430\u0442\u0430 \u0437\u0430\u043a\u0430\u0437\u0430 LOAD      OrderID,     OrderDate as CanonicalDate,     'Order' as DateType,     Amount as Value RESIDENT Orders;  \/\/ \u0414\u0430\u0442\u0430 \u043e\u0442\u0433\u0440\u0443\u0437\u043a\u0438 CONCATENATE (DateBridge) LOAD      OrderID,     ShipDate as CanonicalDate,     'Shipment' as DateType,     Amount as Value RESIDENT Orders WHERE NOT IsNull(ShipDate);  \/\/ \u0414\u0430\u0442\u0430 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 CONCATENATE (DateBridge) LOAD      OrderID,     DeliveryDate as CanonicalDate,     'Delivery' as DateType,     Amount as Value RESIDENT Orders WHERE NOT IsNull(DeliveryDate);  \/\/ \u0414\u0430\u0442\u0430 \u043e\u043f\u043b\u0430\u0442\u044b CONCATENATE (DateBridge) LOAD      OrderID,     PaymentDate as CanonicalDate,     'Payment' as DateType,     Amount as Value RESIDENT Orders WHERE NOT IsNull(PaymentDate);  \/\/ 3. \u0415\u0434\u0438\u043d\u044b\u0439 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044c \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0441 CanonicalDate Calendar: LOAD ... as CanonicalDate ...;<\/code><\/pre>\n<p><strong>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 \u0430\u043d\u0430\u043b\u0438\u0437\u0435:<\/strong><\/p>\n<ul>\n<li>\n<p>\u0412\u044b\u0431\u043e\u0440 DateType = &#8216;Order&#8217; \u0434\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043f\u043e \u0434\u0430\u0442\u0430\u043c \u0437\u0430\u043a\u0430\u0437\u043e\u0432<\/p>\n<\/li>\n<li>\n<p>\u0412\u044b\u0431\u043e\u0440 DateType = &#8216;Payment&#8217; \u0434\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043f\u043e \u0434\u0430\u0442\u0430\u043c \u043e\u043f\u043b\u0430\u0442<\/p>\n<\/li>\n<li>\n<p>\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a \u043f\u043e \u0440\u0430\u0437\u043d\u044b\u043c \u0442\u0438\u043f\u0430\u043c \u0434\u0430\u0442<\/p>\n<\/li>\n<\/ul>\n<h4>26. \u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u044f\u044e\u0449\u0438\u043c\u0438\u0441\u044f \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f\u043c\u0438 (SCD)?<\/h4>\n<p>Slowly Changing Dimensions (SCD) &#8212; \u044d\u0442\u043e \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c. <\/p>\n<p><strong>Type 1 &#8212; \u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u044c (\u0431\u0435\u0437 \u0438\u0441\u0442\u043e\u0440\u0438\u0438):<\/strong><\/p>\n<pre><code>\/\/ \u041f\u0440\u043e\u0441\u0442\u0430\u044f \u0437\u0430\u043c\u0435\u043d\u0430 \u0441\u0442\u0430\u0440\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043d\u043e\u0432\u044b\u043c\u0438 Products: LOAD      ProductID,     ProductName,     CurrentPrice,     Category FROM Products.csv;  \/\/ \u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u043d\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \/\/ \u041f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043e\u043a<\/code><\/pre>\n<p><strong>Type 2 &#8212; \u041f\u043e\u043b\u043d\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f:<\/strong><\/p>\n<pre><code>\/\/ \u0422\u0430\u0431\u043b\u0438\u0446\u0430 \u0441 \u0438\u0441\u0442\u043e\u0440\u0438\u0435\u0439 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 ProductHistory: LOAD      ProductID,     ProductName,     Price,     Category,     ValidFrom,     ValidTo,     If(IsNull(ValidTo), 1, 0) as IsCurrent,     ProductID &amp; '|' &amp; ValidFrom as ProductVersionKey FROM ProductHistory.qvd;  \/\/ \u0414\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0443\u044e \u0434\u0430\u0442\u0443 Orders: LOAD      OrderID,     ProductID,     OrderDate,     Amount FROM Orders.qvd;  \/\/ \u0421\u0432\u044f\u0437\u044c \u0447\u0435\u0440\u0435\u0437 IntervalMatch IntervalMatch(OrderDate, ProductID) LOAD      ValidFrom,     ValidTo,     ProductID RESIDENT ProductHistory;  \/\/ \u0418\u043b\u0438 \u0447\u0435\u0440\u0435\u0437 WHERE \u0432 Set Analysis \/\/ Sum({&lt;IsCurrent={1}&gt;} Sales) - \u043f\u0440\u043e\u0434\u0430\u0436\u0438 \u043f\u043e \u0442\u0435\u043a\u0443\u0449\u0438\u043c \u0446\u0435\u043d\u0430\u043c \/\/ Sum({&lt;ValidFrom={\"&lt;=$(vAnalysisDate)\"}, ValidTo={\"&gt;=$(vAnalysisDate)\"}&gt;} Sales)<\/code><\/pre>\n<p><strong>Type 3 &#8212; \u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f:<\/strong><\/p>\n<pre><code>\/\/ \u0425\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0438 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f Products: LOAD      ProductID,     ProductName,     CurrentPrice,     PreviousPrice,     PriceChangeDate,     CurrentCategory,     PreviousCategory FROM Products.csv;  \/\/ \u0410\u043d\u0430\u043b\u0438\u0437 \u0432\u043b\u0438\u044f\u043d\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 PriceImpact: LOAD      ProductID,     Sum(Amount) as Sales,     Avg(CurrentPrice - PreviousPrice) as AvgPriceChange RESIDENT Orders GROUP BY ProductID;<\/code><\/pre>\n<h4>27. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Generic Load?<\/h4>\n<p>Generic Load \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442 entity-attribute-value (EAV) \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430. \u0425\u043e\u0442\u0438\u043c \u0440\u0430\u0437\u0431\u0438\u0442\u044c \u043e\u0434\u043d\u0443 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e &#8212; \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c:<\/p>\n<p><strong>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 EAV \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b:<\/strong><\/p>\n<pre><code>\/\/ \u0422\u0438\u043f\u043e\u0432\u0430\u044f EAV \u0442\u0430\u0431\u043b\u0438\u0446\u0430 EntityAttributes: LOAD * INLINE [     EntityID, Attribute, Value     P001, Color, Red     P001, Size, Large     P001, Weight, 2.5     P002, Color, Blue     P002, Size, Medium     P002, Weight, 1.8 ]; \/\/ \u0415\u0435 \u0441\u043b\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0430\u043d\u0430\u043b\u0438\u0437\u0435<\/code><\/pre>\n<p><strong>\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u0441 Generic Load:<\/strong><\/p>\n<pre><code>\/\/ Generic \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b Generic LOAD      EntityID,     Attribute,     Value FROM EntityAttributes.csv;  \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 - \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b: \/\/ Color: EntityID, Color \/\/ Size: EntityID, Size   \/\/ Weight: EntityID, Weight  \/\/ \u041e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0432 \u043e\u0434\u043d\u0443 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 (\u0435\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e) CombinedAttributes: LOAD DISTINCT EntityID FROM EntityAttributes.csv;  FOR Each vTable in 'Color', 'Size', 'Weight'     LEFT JOIN (CombinedAttributes)     LOAD * RESIDENT [$(vTable)];          DROP TABLE [$(vTable)]; NEXT vTable<\/code><\/pre>\n<p><strong>\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435:<\/strong><\/p>\n<pre><code>\/\/ \u0414\u043b\u044f \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 ProductSpecs: Generic LOAD      ProductID,     SpecName,     SpecValue FROM ProductSpecifications.qvd WHERE SpecName IN ('RAM', 'Storage', 'ScreenSize', 'Processor');  \/\/ \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 \u0430\u043d\u0430\u043b\u0438\u0437\u0435 \/\/ \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043c\u043e\u0436\u0435\u043c \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u0430\u0442\u044c: \/\/ RAM = '8GB' \/\/ Processor = 'Intel i7'<\/code><\/pre>\n<h4>28. \u041a\u0430\u043a \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u044e \u0432 Qlik?<\/h4>\n<p>\u0418\u0435\u0440\u0430\u0440\u0445\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b (\u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0438-\u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u044b, \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438-\u043f\u043e\u0434\u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u0438 \u043f\u0440\u043e\u0447\u0438\u0435) \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u043b\u044f \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430.<\/p>\n<p><strong>Hierarchy \u0444\u0443\u043d\u043a\u0446\u0438\u044f:<\/strong><\/p>\n<pre><code>\/\/ \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435: EmployeeID, ManagerID EmployeeHierarchy: Hierarchy(     EmployeeID,           \/\/ Child (id)     ManagerID,            \/\/ Parent (id)     EmployeeName,             ParentName,           \/\/ Parent (\u0438\u043c\u044f)     EmployeePath,         \/\/ \u041e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435     PathDelimiter,        \/\/ \u0420\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c \u043f\u0443\u0442\u0438     Depth                 \/\/ \u0423\u0440\u043e\u0432\u0435\u043d\u044c \u0433\u043b\u0443\u0431\u0438\u043d\u044b ) LOAD      EmployeeID,     ManagerID,     EmployeeName,     Title,     Department FROM Employees.csv;  \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u044f: \/\/ Employee1 (CEO) \/\/ Employee2 (VP) \/\/ Employee3 (Manager) \/\/ PathDelimiter: CEO\/VP\/Manager \/\/ Depth: 3<\/code><\/pre>\n<p><strong>HierarchyBelongsTo &#8212; \u043e\u0431\u0440\u0430\u0442\u043d\u0430\u044f \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u044f:<\/strong><\/p>\n<pre><code>\/\/ \u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0432\u0441\u0435\u0445 \u043f\u043e\u0434\u0447\u0438\u043d\u0435\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f EmployeeHierarchyBelongsTo: HierarchyBelongsTo(     EmployeeID,     ManagerID,     EmployeeName,     AncestorID,               AncestorName          ) LOAD      EmployeeID,     ManagerID,     EmployeeName FROM Employees.csv;  \/\/ \u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c: \/\/ \"\u0412\u0441\u0435 \u043f\u0440\u043e\u0434\u0430\u0436\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430 X, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u043f\u043e\u0434\u0447\u0438\u043d\u0435\u043d\u043d\u044b\u0445\"<\/code><\/pre>\n<p><strong>\u0420\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u0430\u044f \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u044f \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445:<\/strong><\/p>\n<pre><code>\/\/ \u0414\u043b\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0439 Level1: LOAD      EmployeeID,     EmployeeName,     ManagerID,     1 as Level FROM Employees.csv WHERE IsNull(ManagerID);  \/\/ CEO level  FOR vLevel = 2 TO 10  \/\/ \u041c\u0430\u043a\u0441\u0438\u043c\u0443\u043c 10 \u0443\u0440\u043e\u0432\u043d\u0435\u0439     Level$(vLevel):     LOAD          e.EmployeeID,         e.EmployeeName,         e.ManagerID,         $(vLevel) as Level     FROM Employees.csv e     WHERE EXISTS(EmployeeID, e.ManagerID)     AND NOT EXISTS(EmployeeID, e.EmployeeID);          IF NoOfRows('Level$(vLevel)') = 0 THEN         EXIT FOR;     END IF NEXT vLevel  \/\/ \u041e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u0443\u0440\u043e\u0432\u043d\u0435\u0439 Hierarchy: LOAD * RESIDENT Level1; FOR vLevel = 2 TO 10     IF TableNumber('Level$(vLevel)') &gt;= 0 THEN         CONCATENATE (Hierarchy)         LOAD * RESIDENT Level$(vLevel);         DROP TABLE Level$(vLevel);     END IF NEXT vLevel<\/code><\/pre>\n<h4>29. \u041a\u0430\u043a \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u043e\u0431\u044a\u0435\u043c\u044b \u0434\u0430\u043d\u043d\u044b\u0445?<\/h4>\n<p><strong>1. \u041c\u043d\u043e\u0433\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u0430\u044f QVD \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430:<\/strong><\/p>\n<pre><code>\/\/ \u0421\u043b\u043e\u0439 1: Raw QVDs (\u0442\u043e\u0447\u043d\u0430\u044f \u043a\u043e\u043f\u0438\u044f \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430) RawOrders: LOAD * FROM Database; STORE RawOrders INTO Raw_Orders_$(vToday).qvd (qvd);  \/\/ \u0421\u043b\u043e\u0439 2: Transform QVDs (\u043e\u0447\u0438\u0441\u0442\u043a\u0430, \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f) TransformOrders: LOAD      OrderID,     Upper(CustomerID) as CustomerID,     Date(Floor(OrderDate)) as OrderDate,     Amount FROM Raw_Orders_*.qvd (qvd) WHERE Amount &gt; 0; STORE TransformOrders INTO Transform_Orders.qvd (qvd);  \/\/ \u0421\u043b\u043e\u0439 3: Datamart QVDs (\u0430\u0433\u0440\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435) OrdersSummary: LOAD      CustomerID,     Year(OrderDate) as Year,     Month(OrderDate) as Month,     Sum(Amount) as TotalAmount,     Count(OrderID) as OrderCount FROM Transform_Orders.qvd (qvd) GROUP BY CustomerID, Year(OrderDate), Month(OrderDate); STORE OrdersSummary INTO Datamart_OrdersSummary.qvd (qvd);<\/code><\/pre>\n<p><strong>2. \u0418\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0441 \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c:<\/strong><\/p>\n<pre><code>\/\/ \u041f\u0430\u0440\u0442\u0438\u0446\u0438\u0438 \u043f\u043e \u043c\u0435\u0441\u044f\u0446\u0430\u043c FOR vYear = 2020 TO Year(Today())     FOR vMonth = 1 TO 12         LET vPartition = '$(vYear)' &amp; Num($(vMonth), '00');                  IF FileSize('lib:\/\/QVD\/Orders_$(vPartition).qvd') &gt; 0 THEN             \/\/ \u0418\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u0438             MaxDate:             LOAD Max(ModifiedDate) as MaxDate             FROM [lib:\/\/QVD\/Orders_$(vPartition).qvd] (qvd);                          LET vMaxDate = Peek('MaxDate', 0, 'MaxDate');             DROP TABLE MaxDate;                          NewData:             LOAD * FROM Database             WHERE Year(OrderDate) = $(vYear)             AND Month(OrderDate) = $(vMonth)             AND ModifiedDate &gt; '$(vMaxDate)';                          IF NoOfRows('NewData') &gt; 0 THEN                 CONCATENATE (NewData)                 LOAD * FROM [lib:\/\/QVD\/Orders_$(vPartition).qvd] (qvd)                 WHERE NOT EXISTS(OrderID);                                  STORE NewData INTO [lib:\/\/QVD\/Orders_$(vPartition).qvd] (qvd);                 DROP TABLE NewData;             END IF         END IF     NEXT vMonth NEXT vYear<\/code><\/pre>\n<p><strong>3. On-Demand App Generation (ODAG):<\/strong><\/p>\n<pre><code>\/\/ \u041f\u0440\u0438\u043c\u0435\u0440 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 SET vCustomerSelection = $(odagCustomers); SET vDateFrom = $(odagDateFrom); SET vDateTo = $(odagDateTo);  \/\/ \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 DetailedData: LOAD * FROM AllOrders.qvd (qvd) WHERE Match(CustomerID, $(vCustomerSelection)) AND OrderDate &gt;= '$(vDateFrom)' AND OrderDate &lt;= '$(vDateTo)';<\/code><\/pre>\n<h4>30. \u041e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u0435 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044e As-Of \u0442\u0430\u0431\u043b\u0438\u0446<\/h4>\n<p>As-Of \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0437 \u043f\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044e \u043d\u0430 \u0434\u0430\u0442\u0443 \u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0438\u043e\u0434\u044b \u0447\u0435\u0440\u0435\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u0443.<\/p>\n<p><strong>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 As-Of \u0442\u0430\u0431\u043b\u0438\u0446\u044b:<\/strong><\/p>\n<pre><code>\/\/ \u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044c Calendar: LOAD      Date,     Year(Date) as Year,     Month(Date) as Month FROM ...;  \/\/ As-Of \u0442\u0430\u0431\u043b\u0438\u0446\u0430 AsOfTable: \/\/ \u0422\u0435\u043a\u0443\u0449\u0438\u0439 \u043f\u0435\u0440\u0438\u043e\u0434 LOAD      Date as AsOfDate,     Date as Date,     'Current' as PeriodType,     0 as PeriodOffset RESIDENT Calendar;  \/\/ \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0434\u0435\u043d\u044c CONCATENATE (AsOfTable) LOAD      Date as AsOfDate,     Date - 1 as Date,     'Previous Day' as PeriodType,     -1 as PeriodOffset RESIDENT Calendar;  \/\/ \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0430\u044f \u043d\u0435\u0434\u0435\u043b\u044f CONCATENATE (AsOfTable) LOAD      Date as AsOfDate,     Date - 7 as Date,     'Previous Week' as PeriodType,     -7 as PeriodOffset RESIDENT Calendar;  \/\/ \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u043c\u0435\u0441\u044f\u0446 CONCATENATE (AsOfTable) LOAD      Date as AsOfDate,     AddMonths(Date, -1) as Date,     'Previous Month' as PeriodType,     -30 as PeriodOffset RESIDENT Calendar;  \/\/ \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0433\u043e\u0434 CONCATENATE (AsOfTable) LOAD      Date as AsOfDate,     AddYears(Date, -1) as Date,     'Previous Year' as PeriodType,     -365 as PeriodOffset RESIDENT Calendar;<\/code><\/pre>\n<p><strong>\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0434\u043b\u044f \u0441\u043a\u043e\u043b\u044c\u0437\u044f\u0449\u0438\u0445 \u043f\u0435\u0440\u0438\u043e\u0434\u043e\u0432:<\/strong><\/p>\n<pre><code>\/\/ Rolling  As-Of AsOfRolling: \/\/ \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 7 \u0434\u043d\u0435\u0439 LOAD      Date as AsOfDate,     Date(Date - RecNo() + 1) as Date,     'Last 7 Days' as RollingPeriod RESIDENT Calendar WHILE RecNo() &lt;= 7;  \/\/ \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 30 \u0434\u043d\u0435\u0439 CONCATENATE (AsOfRolling) LOAD      Date as AsOfDate,     Date(Date - RecNo() + 1) as Date,     'Last 30 Days' as RollingPeriod RESIDENT Calendar WHILE RecNo() &lt;= 30;  \/\/ \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 12 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 CONCATENATE (AsOfRolling) LOAD      Date as AsOfDate,     MonthStart(Date, -RecNo() + 1) as Date,     'Last 12 Months' as RollingPeriod RESIDENT Calendar WHILE RecNo() &lt;= 12;<\/code><\/pre>\n<p><strong>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435:<\/strong><\/p>\n<ul>\n<li>\n<p>\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043e\u0434\u043d\u0443 AsOfDate<\/p>\n<\/li>\n<li>\n<p>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0437\u0430 \u0432\u0441\u0435 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0438\u043e\u0434\u044b<\/p>\n<\/li>\n<li>\n<p>\u041c\u043e\u0436\u0435\u043c \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c: \u0422\u0435\u043a\u0443\u0449\u0438\u0439 vs \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u043f\u0435\u0440\u0438\u043e\u0434 \u0438\u043b\u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0440\u0435\u043d\u0434\u044b \u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043d\u0435\u0434\u0435\u043b\u0438, \u043c\u0435\u0441\u044f\u0446\u044b \u0438\u043b\u0438 \u0433\u043e\u0434\u044b<\/p>\n<\/li>\n<\/ul>\n<hr\/>\n<h3>\u0412\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0438 UI<\/h3>\n<h4>31. \u041a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u044b?<\/h4>\n<p>\u0414\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u0434\u0435\u043b\u0430\u044e\u0442 \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u044b \u0431\u043e\u043b\u0435\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0432\u043d\u044b\u043c\u0438.<\/p>\n<p><strong>\u0411\u0430\u0437\u043e\u0432\u044b\u0435 \u0442\u0435\u0445\u043d\u0438\u043a\u0438:<\/strong><\/p>\n<pre><code>\/\/ \u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0438 ='Sales Analysis for ' &amp; GetFieldSelections(Year, ', ', 10) \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: \"Sales Analysis for 2023, 2024\"  \/\/ \u0421 \u043f\u043e\u0434\u0441\u0447\u0435\u0442\u043e\u043c \u0432\u044b\u0431\u043e\u0440\u043e\u043a ='Revenue by ' &amp;  If(GetSelectedCount(Product) = 0, 'All Products',    If(GetSelectedCount(Product) = 1, Only(Product),       GetSelectedCount(Product) &amp; ' Products'))  \/\/ \u0421 \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0447\u0438\u0441\u0435\u043b ='Total Sales: ' &amp; Num(Sum(Sales), '#,##0') &amp;  ' | Growth: ' &amp; Num((Sum(Sales)\/Sum({&lt;Year={$(=Max(Year)-1)}&gt;}Sales)-1), '0.0%')<\/code><\/pre>\n<p><strong>\u041f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b:<\/strong><\/p>\n<pre><code>\/\/ \u041c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0438 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 ='Dashboard: ' &amp;  If(GetSelectedCount(Country) &gt; 0,     GetFieldSelections(Country, ', ', 5) &amp; ' | ', '') &amp; If(GetSelectedCount(Year) &gt; 0,    'Years: ' &amp; GetFieldSelections(Year, '-', 10) &amp; ' | ', '') &amp; 'Updated: ' &amp; Date(ReloadTime(), 'DD\/MM\/YYYY hh:mm')  \/\/ \u0421 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 \u0438 KPI ='Performance: ' &amp;  If($(vCurrentSales) &gt; $(vTargetSales),     'Above Target \u2713',     'Below Target \u2717') &amp; ' (' &amp; Num($(vCurrentSales) \/ $(vTargetSales), '0%') &amp; ')'  \/\/ \u041c\u043d\u043e\u0433\u043e\u0441\u0442\u0440\u043e\u0447\u043d\u044b\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 ='Sales Trend Analysis' &amp; Chr(10) &amp; 'Period: ' &amp; MonthName(Min(Date)) &amp; ' - ' &amp; MonthName(Max(Date)) &amp; Chr(10) &amp; 'Records: ' &amp; Num(Count(Distinct OrderID), '#,##0')<\/code><\/pre>\n<h4>32. \u041a\u0430\u043a \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c drill-down \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c?<\/h4>\n<p>Drill-down \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u0443\u0433\u043b\u0443\u0431\u043b\u044f\u0442\u044c\u0441\u044f \u0432 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0442 \u043e\u0431\u0449\u0435\u0433\u043e \u043a \u0447\u0430\u0441\u0442\u043d\u043e\u043c\u0443.<\/p>\n<p><strong>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 drill-down:<\/strong><\/p>\n<pre><code>\/\/ \u0414\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0435 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0432\u044b\u0431\u043e\u0440\u043e\u043a =If(GetSelectedCount(Country) = 0,      Country,     If(GetSelectedCount(Region) = 0,          Region,         If(GetSelectedCount(City) = 0,              City,              Store)))  \/\/ \u0421 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u044f\u043c\u0438 =If(vDrillPath = 'Geographic',     Pick(vDrillLevel, Country, Region, City, Store),     Pick(vDrillLevel, Year, Quarter, Month, Week))<\/code><\/pre>\n<p><strong>\u0412\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u0438\u043d\u0434\u0438\u043a\u0430\u0446\u0438\u044f \u0443\u0440\u043e\u0432\u043d\u044f:<\/strong><\/p>\n<pre><code>\/\/ \u0412 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435 \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u044b ='Sales by ' &amp;  Pick(vDrillLevel, 'Country', 'Region', 'City', 'Store') &amp; ' (Level ' &amp; vDrillLevel &amp; ' of 4)'<\/code><\/pre>\n<h4>33. \u041e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u0435 conditional show\/hide \u0432 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u0445<\/h4>\n<p>\u0423\u0441\u043b\u043e\u0432\u043d\u043e\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0430\u0434\u0430\u043f\u0442\u0438\u0432\u043d\u044b\u0435 \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u044b, \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0435 \u0440\u0435\u043b\u0435\u0432\u0430\u043d\u0442\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430. \u042d\u0442\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u0435 \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e, \u0438 \u0438\u0445 \u0441\u0442\u043e\u0438\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u044e\u0437\u0435\u0440 \u0432\u044b\u0431\u0435\u0440\u0435\u0442 \u0447\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u0432 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0445.<\/p>\n<p><strong>\u0411\u0430\u0437\u043e\u0432\u044b\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f:<\/strong><\/p>\n<pre><code>\/\/ \u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u0432\u044b\u0431\u043e\u0440\u043a\u0438 GetSelectedCount(Product) &gt; 0  \/\/ \u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0440\u0438 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0438 GetFieldSelections(ReportType) = 'Detailed'  \/\/ \u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 Match(OSUser(), 'DOMAIN\\Manager1', 'DOMAIN\\Manager2') &gt; 0  \/\/ \u041a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f GetSelectedCount(Year) = 1 AND Sum(Sales) &gt; 1000000<\/code><\/pre>\n<p><strong>\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b:<\/strong><\/p>\n<pre><code>\/\/ \u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u043c\u0430\u043b\u043e\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0435 Count(Distinct Customer) &lt;= 100  \/\/ \u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 \u043d\u0435\u043f\u043e\u043b\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 Count({&lt;Status={'Pending'}&gt;} OrderID) &gt; 0  \/\/ \u0420\u043e\u043b\u0435\u0432\u043e\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \/\/ \u0412 Section Access \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u043b\u0435 ROLE Lookup('ROLE', 'USERID', OSUser(), 'SecurityTable') = 'Manager'<\/code><\/pre>\n<p><strong>\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e:<\/strong><\/p>\n<pre><code>\/\/ \u041d\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0442\u044f\u0436\u0435\u043b\u044b\u0435 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u0438 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0432\u044b\u0431\u043e\u0440\u043a\u0430\u0445 \/\/ Calculation condition Count(Distinct Product) * Count(Distinct Customer) &lt; 10000  \/\/ \u0421 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435\u043c \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f Calculation condition: GetSelectedCount(Year) &gt; 0 Error message: \"Please select at least one year\"<\/code><\/pre>\n<h4>34. \u041a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f?<\/h4>\n<p>\u0414\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c.<\/p>\n<p><strong>\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044b:<\/strong><\/p>\n<pre><code>\/\/ 1. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0441 Pick() \/\/ vDimensionSelector: 1=Product, 2=Category, 3=Brand =Pick($(vDimensionSelector),     Product,     Category,     Brand) \/\/ 2. \u0423\u0441\u043b\u043e\u0432\u043d\u0430\u044f \u043b\u043e\u0433\u0438\u043a\u0430 =If(vGroupBy = 'Time',    Pick(vTimeLevel, Year, Quarter, Month, Week, Date),    If(vGroupBy = 'Geography',        Pick(vGeoLevel, Country, Region, City),        If(vGroupBy = 'Product',            Pick(vProdLevel, Category, SubCategory, Product),            Customer))) \/\/ 3. Island \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0434\u043b\u044f \u0432\u044b\u0431\u043e\u0440\u0430 DimensionSelector: LOAD * INLINE [    DimID, DimName, DimExpression    1, Product, Product    2, Category, Category    3, Brand, Brand    4, Customer Segment, CustomerSegment ]; \/\/ \u0412 \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0435 =$(=Only(DimExpression)) <\/code><\/pre>\n<p><strong>\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u0441 \u043c\u0435\u0440\u0430\u043c\u0438:<\/strong><\/p>\n<pre><code>\/\/ \u0410\u0434\u0430\u043f\u0442\u0430\u0446\u0438\u044f \u043c\u0435\u0440 \u043f\u043e\u0434 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0435 =Pick($(vDimensionSelector),     Sum(Sales),                    \/\/ \u0414\u043b\u044f Product     Avg(Aggr(Sum(Sales), Product)), \/\/ \u0414\u043b\u044f Category     Sum(Sales) \/ Count(Distinct Product) \/\/ \u0414\u043b\u044f Brand )  \/\/ \u0414\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 =Pick($(vDimensionSelector),     Num(Sum(Sales), '#,##0'),     Num(Sum(Sales), '$#,##0.00'),     Num(Sum(Sales), '0.0%') )<\/code><\/pre>\n<h4>35. \u041a\u0430\u043a \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c?<\/h4>\n<p><strong>1. \u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043c\u0430 \u0434\u0430\u043d\u043d\u044b\u0445:<\/strong><\/p>\n<pre><code>\/\/ Dimension Limits \/\/ \u0412 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u044b \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c: Limitation \u2192 Fixed number \u2192 10 \/\/ \u0418\u043b\u0438 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \"Show others with threshold\"  \/\/ \u0423\u0441\u043b\u043e\u0432\u043d\u043e\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 Count(Distinct Customer) &lt; 10000  \/\/ \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \/\/ \u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u043f-20 \u043f\u043e \u043f\u0440\u043e\u0434\u0430\u0436\u0430\u043c =Aggr(     If(Rank(Sum(Sales)) &lt;= 20, Product),     Product )<\/code><\/pre>\n<p><strong>2. \u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439:<\/strong><\/p>\n<pre><code>\/\/ \u041f\u041b\u041e\u0425\u041e: \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0432 \u0430\u0433\u0440\u0435\u0433\u0430\u0446\u0438\u0438 Sum(If(Year = 2024 and Region = 'North', Sales)) \/\/ \u0425\u041e\u0420\u041e\u0428\u041e: Set Analysis Sum({&lt;Year={2024}, Region={'North'}&gt;} Sales) \/\/ \u041f\u041b\u041e\u0425\u041e: \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0432 \u043c\u0435\u0440\u0430\u0445 Sum(Sales * (1 + If(Customer = 'VIP', 0.1, 0))) \/\/ \u0425\u041e\u0420\u041e\u0428\u041e: \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0441\u0447\u0435\u0442 \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \/\/ \u0412 \u0441\u043a\u0440\u0438\u043f\u0442\u0435: If(Customer = 'VIP', 1.1, 1) as PriceFactor Sum(Sales * PriceFactor) <\/code><\/pre>\n<p><strong>3. \u041a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435:<\/strong><\/p>\n<pre><code>\/\/ \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Master Measures \/\/ \u0412\u043c\u0435\u0441\u0442\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u0435\u043d\u0438\u044f Sum(Sales) \u0432\u0435\u0437\u0434\u0435 \/\/ \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439 SET vYTDSales = Sum({&lt;Date={\"&gt;=$(=YearStart(Today()))&lt;=$(=Today())\"}&gt;} Sales); \/\/ \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435: $(vYTDSales) \/\/ \u041a\u044d\u0448 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0435\u0435 \u0441 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b\u043c\u0438 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u043c\u0438 <\/code><\/pre>\n<h4>36. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Alternate States?<\/h4>\n<p>Alternate States \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0438\u043c\u0435\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0445 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0438 \u0432 \u043e\u0434\u043d\u043e\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0434\u043b\u044f \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430.<\/p>\n<p><strong>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435:<\/strong><\/p>\n<pre><code>\/\/ \u0412 QlikView: Document Properties \u2192 Alternate States \/\/ \u0412 Qlik Sense: \u0447\u0435\u0440\u0435\u0437 \u0441\u043a\u0440\u0438\u043f\u0442 \u0438\u043b\u0438 API  \/\/ \u041f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0432 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u0445 \/\/ State1 selection Sum({State1} Sales)  \/\/ State2 selection   Sum({State2} Sales)  \/\/ \u0420\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f\u043c\u0438 Sum({State1} Sales) - Sum({State2} Sales)  \/\/ \u041f\u0440\u043e\u0446\u0435\u043d\u0442 \u043e\u0442 State2 Sum({State1} Sales) \/ Sum({State2} Sales) * 100<\/code><\/pre>\n<p><strong>\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439:<\/strong><\/p>\n<pre><code>\/\/ \u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u044b\u0431\u043e\u0440\u043a\u0438 Year \u0438\u0437 State1 \u0432 State2 Sum({State2&lt;Year=State1::Year&gt;} Sales)  \/\/ \u041d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0437 default state Sum({State1&lt;Product=$::Product&gt;} Sales)  \/\/ \u041e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0432\u044b\u0431\u043e\u0440\u043e\u043a Sum({State1&lt;Customer=State1::Customer+State2::Customer&gt;} Sales)  \/\/ \u0418\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 Sum({State1&lt;Product=State1::Product-State2::Product&gt;} Sales)<\/code><\/pre>\n<p><strong>\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f:<\/strong><\/p>\n<pre><code>\/\/ \u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0438\u043e\u0434\u043e\u0432 \/\/ State1: Current Period \/\/ State2: Comparison Period  \/\/ \u0412 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 Measure 1: Sum({CurrentPeriod} Sales) Measure 2: Sum({ComparisonPeriod} Sales) Measure 3: Column(1) - Column(2)  \/\/ \u0420\u0430\u0437\u043d\u0438\u0446\u0430 Measure 4: Column(1) \/ Column(2) - 1  \/\/ \u0420\u043e\u0441\u0442 \u0432 %  \/\/ \u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 \/\/ StateActual: \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \/\/ StateBudget: \u0431\u044e\u0434\u0436\u0435\u0442 \/\/ StateForecast: \u043f\u0440\u043e\u0433\u043d\u043e\u0437<\/code><\/pre>\n<h4>37. \u041a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0442\u044c heat map \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435?<\/h4>\n<p>Heat map \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u0445 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u043e \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0445\u043e\u0436\u0438\u0435 \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u044b \u0438 \u0432\u044b\u0431\u0440\u043e\u0441\u044b \u0438\u0437 \u0432\u044b\u0431\u043e\u0440\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 \u0446\u0432\u0435\u0442\u043e\u0432\u043e\u0435 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435.<\/p>\n<p><strong>\u0411\u0430\u0437\u043e\u0432\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f:<\/strong><\/p>\n<pre><code>\/\/ Background Color Expression \/\/ \u0413\u0440\u0430\u0434\u0438\u0435\u043d\u0442 \u043e\u0442 \u043a\u0440\u0430\u0441\u043d\u043e\u0433\u043e \u043a \u0437\u0435\u043b\u0435\u043d\u043e\u043c\u0443 ColorMix1(     (Sum(Sales) - Min(Total Sum(Sales))) \/      (Max(Total Sum(Sales)) - Min(Total Sum(Sales))),     RGB(255,0,0),    \/\/ \u041a\u0440\u0430\u0441\u043d\u044b\u0439 \u0434\u043b\u044f \u043c\u0438\u043d\u0438\u043c\u0443\u043c\u0430     RGB(0,255,0)     \/\/ \u0417\u0435\u043b\u0435\u043d\u044b\u0439 \u0434\u043b\u044f \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c\u0430 )  \/\/ \u0418\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442 (\u0437\u0435\u043b\u0435\u043d\u044b\u0439\u2192\u043a\u0440\u0430\u0441\u043d\u044b\u0439) ColorMix1(     (Sum(Sales) - Min(Total Sum(Sales))) \/      (Max(Total Sum(Sales)) - Min(Total Sum(Sales))),     RGB(0,255,0),         RGB(255,0,0) )<\/code><\/pre>\n<p><strong>\u041f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0435 \u0442\u0435\u0445\u043d\u0438\u043a\u0438:<\/strong><\/p>\n<pre><code>\/\/ \u0422\u0440\u0435\u0445\u0446\u0432\u0435\u0442\u043d\u044b\u0439 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442 \u0447\u0435\u0440\u0435\u0437 ColorMix2 ColorMix2(    (Sum(Sales) - Min(Total Sum(Sales))) \/     (Max(Total Sum(Sales)) - Min(Total Sum(Sales))) * 2 - 1,    RGB(255,0,0),      \/\/ \u041d\u0438\u0436\u0435 \u0441\u0440\u0435\u0434\u043d\u0435\u0433\u043e    RGB(255,255,255),  \/\/ \u0421\u0440\u0435\u0434\u043d\u0435\u0435      RGB(0,255,0)       \/\/ \u0412\u044b\u0448\u0435 \u0441\u0440\u0435\u0434\u043d\u0435\u0433\u043e ) \/\/ \u0421 \u043f\u043e\u0440\u043e\u0433\u043e\u0432\u044b\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 If(Sum(Sales) &lt; $(vThresholdLow), RGB(255,200,200),   If(Sum(Sales) &lt; $(vThresholdMed), RGB(255,255,200),      If(Sum(Sales) &lt; $(vThresholdHigh), RGB(200,255,200),         RGB(100,255,100)))) \/\/ \u041e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0440\u0435\u0434\u043d\u0435\u0433\u043e \u043f\u043e \u0441\u0442\u0440\u043e\u043a\u0435\/\u0441\u0442\u043e\u043b\u0431\u0446\u0443 ColorMix1(    (Sum(Sales) - Avg(Total &lt;Product&gt; Sum(Sales))) \/     StDev(Total &lt;Product&gt; Sum(Sales)),    RGB(255,200,200),    RGB(200,255,200) ) <\/code><\/pre>\n<p><strong>\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435:<\/strong><\/p>\n<pre><code>\/\/ Text Color Expression (\u0434\u043b\u044f \u043a\u043e\u043d\u0442\u0440\u0430\u0441\u0442\u0430) If(     (Sum(Sales) - Min(Total Sum(Sales))) \/      (Max(Total Sum(Sales)) - Min(Total Sum(Sales))) &gt; 0.5,     RGB(0,0,0),      \/\/ \u0427\u0435\u0440\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u043d\u0430 \u0441\u0432\u0435\u0442\u043b\u043e\u043c \u0444\u043e\u043d\u0435     RGB(255,255,255) \/\/ \u0411\u0435\u043b\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u043d\u0430 \u0442\u0435\u043c\u043d\u043e\u043c \u0444\u043e\u043d\u0435 )  \/\/ \u041a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 \u0438\u043a\u043e\u043d\u043a\u0430\u043c\u0438 If(Sum(Sales) &gt; Sum(Target), '\u2713 ', '') &amp; Num(Sum(Sales), '#,##0')<\/code><\/pre>\n<h4>38. \u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430\u043c\u0438 (Container objects)?<\/h4>\n<p>\u041a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u0430, \u0440\u0430\u0437\u043c\u0435\u0449\u0430\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439 \u0432 \u043e\u0434\u043d\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438.<\/p>\n<hr\/>\n<h3>Set Analysis<\/h3>\n<h4>39. \u041e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u0435 \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 Set Analysis<\/h4>\n<p>Set Analysis &#8212; \u044d\u0442\u043e \u044f\u0437\u044b\u043a \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 Qlik \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u043d\u0430\u0431\u043e\u0440\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u0445. \u041f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0435\u0433\u043e \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u043e \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439.<\/p>\n<p><strong>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 Set Expression:<\/strong><\/p>\n<pre><code>\/\/ \u0411\u0430\u0437\u043e\u0432\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 {&lt;SetModifier&gt;}  \/\/ \u041f\u043e\u043b\u043d\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 {SetIdentifier&lt;SetModifier&gt;}  \/\/ \u041a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b: Sum({$&lt;Year={2024}&gt;} Sales) \/\/   \u2502 \u2502     \u2502  \u2502 \/\/   \u2502 \u2502     \u2502  \u2514\u2500\u2500 \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430 \/\/   \u2502 \u2502     \u2514\u2500\u2500\u2500\u2500\u2500\u2500 \u041f\u043e\u043b\u0435 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430   \/\/   \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Set \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \/\/   \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Set \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 ($)<\/code><\/pre>\n<p><strong>Set \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b:<\/strong><\/p>\n<pre><code>\/\/ $ - \u0442\u0435\u043a\u0443\u0449\u0430\u044f \u0432\u044b\u0431\u043e\u0440\u043a\u0430 (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e) Sum({$} Sales)  \/\/ \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u043e Sum(Sales)  \/\/ 1 - \u043f\u043e\u043b\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 (\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u0442 \u0432\u044b\u0431\u043e\u0440\u043a\u0438) Sum({1} Sales)  \/\/ \u0432\u0441\u0435 \u043f\u0440\u043e\u0434\u0430\u0436\u0438 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u0432\u044b\u0431\u043e\u0440\u043e\u043a  \/\/ $1 - \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0430\u044f \u0432\u044b\u0431\u043e\u0440\u043a\u0430 (Back) Sum({$1} Sales)  \/\/ \u043f\u0440\u043e\u0434\u0430\u0436\u0438 \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f  \/\/ Bookmark01 - \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043d\u0430\u044f \u0437\u0430\u043a\u043b\u0430\u0434\u043a\u0430 Sum({Bookmark01} Sales)  \/\/ \u043f\u0440\u043e\u0434\u0430\u0436\u0438 \u0434\u043b\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0437\u0430\u043a\u043b\u0430\u0434\u043a\u0438  \/\/ Alternate State Sum({State1} Sales)  \/\/ \u043f\u0440\u043e\u0434\u0430\u0436\u0438 \u0432 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438<\/code><\/pre>\n<p><strong>\u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u0432:<\/strong><\/p>\n<pre><code>\/\/ = : \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0432\u044b\u0431\u043e\u0440\u043a\u0443 {&lt;Year={2024}&gt;}  \/\/ \u0442\u043e\u043b\u044c\u043a\u043e 2024  \/\/ += : \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043a \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0435 {&lt;Year+={2024}&gt;}  \/\/ \u0442\u0435\u043a\u0443\u0449\u0430\u044f \u0432\u044b\u0431\u043e\u0440\u043a\u0430 + 2024  \/\/ -= : \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0438\u0437 \u0432\u044b\u0431\u043e\u0440\u043a\u0438 {&lt;Year-={2023}&gt;}  \/\/ \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u044c 2023  \/\/ *= : \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0435 \u0441 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u043e\u0439 {&lt;Customer*={&lt;Region={'North'}&gt;}&gt;}  \/\/ \u043a\u043b\u0438\u0435\u043d\u0442\u044b \u0438\u0437 North \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0435  \/\/ \/= : \u0441\u0438\u043c\u043c\u0435\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0440\u0430\u0437\u043d\u043e\u0441\u0442\u044c (XOR) {&lt;Product\/={'A','B'}&gt;}  \/\/ \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u044b \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0435 \u0418\u041b\u0418 A,B, \u043d\u043e \u043d\u0435 \u043e\u0431\u0430<\/code><\/pre>\n<h4>40. \u041a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Set Analysis \u0441 \u0434\u0430\u0442\u0430\u043c\u0438?<\/h4>\n<p>\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u0434\u0430\u0442\u0430\u043c\u0438 \u0432 Set Analysis \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043a \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0443 \u0438 \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e:<\/p>\n<p><strong>\u0421\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0434\u0430\u0442\u044b:<\/strong><\/p>\n<pre><code>\/\/ \u041a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0430\u044f \u0434\u0430\u0442\u0430 (\u0444\u043e\u0440\u043c\u0430\u0442 \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0442\u044c \u0441 \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u043c \u043f\u043e\u043b\u044f) Sum({&lt;Date={'2024-01-15'}&gt;} Sales)  \/\/ \u0414\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u0434\u0430\u0442 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043f\u043e\u0438\u0441\u043a\u0430 Sum({&lt;Date={\"&gt;2024-01-01&lt;2024-12-31\"}&gt;} Sales) Sum({&lt;Date={\"&gt;=2024-01-01&lt;=2024-12-31\"}&gt;} Sales)  \/\/ \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e  \/\/ \u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u0430\u0442 Sum({&lt;Date={'2024-01-01','2024-01-15','2024-01-31'}&gt;} Sales)<\/code><\/pre>\n<p><strong>\u0414\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0434\u0430\u0442\u044b:<\/strong><\/p>\n<pre><code>\/\/ \u0422\u0435\u043a\u0443\u0449\u0438\u0439 \u0433\u043e\u0434 Sum({&lt;Year={$(=Year(Today()))}&gt;} Sales)  \/\/ \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 30 \u0434\u043d\u0435\u0439 Sum({&lt;Date={\"&gt;=$(=Date(Today()-30))&lt;=$(=Date(Today()))\"}&gt;} Sales)  \/\/ \u0422\u0435\u043a\u0443\u0449\u0438\u0439 \u043c\u0435\u0441\u044f\u0446 (\u043e\u0442 \u043d\u0430\u0447\u0430\u043b\u0430 \u0434\u043e \u0441\u0435\u0433\u043e\u0434\u043d\u044f) Sum({&lt;Date={\"&gt;=$(=MonthStart(Today()))&lt;=$(=Today())\"}&gt;} Sales)  \/\/ YTD (Year to Date) Sum({&lt;Date={\"&gt;=$(=YearStart(Today()))&lt;=$(=Today())\"}&gt;} Sales)  \/\/ \u041f\u0440\u043e\u0448\u043b\u044b\u0439 \u0433\u043e\u0434, \u0442\u043e\u0442 \u0436\u0435 \u043f\u0435\u0440\u0438\u043e\u0434 YTD Sum({&lt;     Year={$(=Year(Today())-1)},     Date={\"&lt;=$(=Date(AddYears(Today(),-1)))\"} &gt;} Sales)<\/code><\/pre>\n<p><strong>\u041e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0438\u043e\u0434\u044b:<\/strong><\/p>\n<pre><code>\/\/ Rolling 12 months Sum({&lt;Date={\"&gt;=$(=AddMonths(Today(),-12))&lt;=$(=Today())\"}&gt;} Sales)  \/\/ \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043f\u043e\u043b\u043d\u044b\u0439 \u043c\u0435\u0441\u044f\u0446 Sum({&lt;Date={\"&gt;=$(=MonthStart(Today(),-1))&lt;=$(=MonthEnd(Today(),-1))\"}&gt;} Sales)  \/\/ \u0422\u043e\u0442 \u0436\u0435 \u043f\u0435\u0440\u0438\u043e\u0434 \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e \u0433\u043e\u0434\u0430 Sum({&lt;Date={\"&gt;=$(=AddYears(Min(Date),-1))&lt;=$(=AddYears(Max(Date),-1))\"}&gt;} Sales)  \/\/ \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 N \u0434\u043d\u0435\u0439 (\u0447\u0435\u0440\u0435\u0437 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e) \/\/ vDaysBack = 90 Sum({&lt;Date={\"&gt;=$(=Date(Today()-$(vDaysBack)))&lt;=$(=Today())\"}&gt;} Sales)<\/code><\/pre>\n<h4>41. \u041a\u0430\u043a \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u0431\u043e\u0440\u043a\u0438 \u0432 Set Analysis?<\/h4>\n<p>\u0418\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u044b\u0431\u043e\u0440\u043e\u043a \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u043e-\u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u043e\u0432 \u0438 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0439.<\/p>\n<p><strong>\u041f\u043e\u043b\u043d\u043e\u0435 \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u0432\u044b\u0431\u043e\u0440\u043e\u043a:<\/strong><\/p>\n<pre><code>\/\/ \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430 1 Sum({1} Sales)  \/\/ \u0441\u0443\u043c\u043c\u0430 \u0432\u0441\u0435\u0445 \u043f\u0440\u043e\u0434\u0430\u0436 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438  \/\/ \u041f\u0440\u043e\u0446\u0435\u043d\u0442 \u043e\u0442 \u043e\u0431\u0449\u0435\u0433\u043e Sum(Sales) \/ Sum({1} Sales) * 100<\/code><\/pre>\n<p><strong>\u0418\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u043f\u043e\u043b\u0435\u0439:<\/strong><\/p>\n<pre><code>\/\/ \u0421\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441: Field= Sum({&lt;Product=, Region=, Customer=&gt;} Sales) \/\/ \u0418\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u0442 \u0432\u044b\u0431\u043e\u0440\u043a\u0438 \u0432 Product, Region, Customer  \/\/ \u0418\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u043f\u043e\u043b\u0435\u0439 \u0434\u0430\u0442\u044b Sum({&lt;Year=, Quarter=, Month=, Date=&gt;} Sales)  \/\/ \u041a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430\u043c\u0438 Sum({&lt;Product=, Region=, Year={2024}&gt;} Sales) \/\/ \u0418\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u0442 Product \u0438 Region, \u043d\u043e \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 Year=2024<\/code><\/pre>\n<p><strong>\u0412\u044b\u0431\u043e\u0440\u043e\u0447\u043d\u043e\u0435 \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435:<\/strong><\/p>\n<pre><code>\/\/ \u0418\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435, \u043a\u0440\u043e\u043c\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u043f\u043e\u043b\u0435\u0439 Sum({1&lt;Year=$::Year, Month=$::Month&gt;} Sales) \/\/ \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043f\u043e\u043b\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u043e \u043d\u0430\u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0432\u044b\u0431\u043e\u0440\u043a\u0438 Year \u0438 Month  \/\/ \u041d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0437 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439 Sum({1&lt;Product=State1::Product&gt;} Sales)  \/\/ \u0421\u043b\u043e\u0436\u043d\u044b\u0435 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438 Sum({1&lt;     Year=$::Year,     Customer={&lt;Sales={\"&gt;10000\"}&gt;},     Product= &gt;} Sales)<\/code><\/pre>\n<h4>42. \u041e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u0435 P() \u0438 E() \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 Set Analysis<\/h4>\n<p>P() \u0438 E() \u0444\u0443\u043d\u043a\u0446\u0438\u0438 &#8212; \u044d\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c\u0438 \u0438 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438.<\/p>\n<p><strong>P() &#8212; Possible values (\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f):<\/strong><\/p>\n<pre><code>\/\/ \u0411\u0430\u0437\u043e\u0432\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Sum({&lt;Product=P()&gt;} Sales) \/\/ \u0421\u0443\u043c\u043c\u0430 \u043f\u0440\u043e\u0434\u0430\u0436 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 (\u0431\u0435\u043b\u044b\u0445 \u0432 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0445) \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432  \/\/ P() \u0441 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043e\u043c Sum({&lt;Customer=P({&lt;Product={'Laptop'}&gt;})&gt;} Sales) \/\/ \u041f\u0440\u043e\u0434\u0430\u0436\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043a\u0443\u043f\u0430\u043b\u0438 Laptop  \/\/ P() \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c \u043f\u043e\u043b\u044f \u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b Sum({&lt;ProductID=P({&lt;Year={2024}&gt;} ProductID)&gt;} Sales) \/\/ \u041f\u0440\u043e\u0434\u0443\u043a\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u043e\u0434\u0430\u0432\u0430\u043b\u0438\u0441\u044c \u0432 2024<\/code><\/pre>\n<p><strong>E() &#8212; Excluded values (\u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f):<\/strong><\/p>\n<pre><code>\/\/ \u0411\u0430\u0437\u043e\u0432\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Sum({&lt;Product=E()&gt;} Sales) \/\/ \u0421\u0443\u043c\u043c\u0430 \u043f\u0440\u043e\u0434\u0430\u0436 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0445 (\u0441\u0435\u0440\u044b\u0445) \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432  \/\/ E() \u0441 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043e\u043c Sum({&lt;Customer=E({&lt;Region={'North'}&gt;})&gt;} Sales) \/\/ \u041f\u0440\u043e\u0434\u0430\u0436\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u041d\u0415 \u0438\u0437 \u0440\u0435\u0433\u0438\u043e\u043d\u0430 North  \/\/ \u041a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 P() \u0438 E() Sum({&lt;Product=P({&lt;Year={2024}&gt;}) - E({&lt;Year={2023}&gt;})&gt;} Sales) \/\/ \u041f\u0440\u043e\u0434\u0443\u043a\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u043e\u0434\u0430\u0432\u0430\u043b\u0438\u0441\u044c \u0432 2024, \u043d\u043e \u041d\u0415 \u0432 2023<\/code><\/pre>\n<p><strong>\u041f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b:<\/strong><\/p>\n<pre><code>\/\/ \u041a\u043b\u0438\u0435\u043d\u0442\u044b, \u043a\u0443\u043f\u0438\u0432\u0448\u0438\u0435 \u0432\u0441\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u044b Count({&lt;Customer=P({&lt;Product=P()&gt;} Customer)&gt;} Distinct Customer)  \/\/ \u041f\u0440\u043e\u0434\u0443\u043a\u0442\u044b, \u043d\u0435 \u043a\u0443\u043f\u043b\u0435\u043d\u043d\u044b\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u043c\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c\u0438 Sum({&lt;Product=E({&lt;Customer=P()&gt;} Product)&gt;} Sales)  \/\/ \u041c\u043d\u043e\u0433\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 Sum({&lt;     OrderID=P({&lt;         Customer=P({&lt;             Product={'Laptop','Phone'}         &gt;} Customer)     &gt;} OrderID) &gt;} Sales) \/\/ \u0417\u0430\u043a\u0430\u0437\u044b \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432, \u043a\u0443\u043f\u0438\u0432\u0448\u0438\u0445 \u0438 Laptop, \u0438 Phone<\/code><\/pre>\n<h4>43. \u041a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0432 Set Analysis?<\/h4>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432 Set Analysis \u0434\u0435\u043b\u0430\u0435\u0442 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0438 \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u043c\u0438.<\/p>\n<p><strong>\u041f\u0440\u044f\u043c\u0430\u044f \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445:<\/strong><\/p>\n<pre><code>\/\/ vCurrentYear = 2024 Sum({&lt;Year={$(vCurrentYear)}&gt;} Sales)  \/\/ vYearList = 2022,2023,2024 Sum({&lt;Year={$(vYearList)}&gt;} Sales)  \/\/ \u0422\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u043a\u0430\u0432\u044b\u0447\u0435\u043a \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \/\/ vRegion = 'North'  \/\/ \u0441 \u043a\u0430\u0432\u044b\u0447\u043a\u0430\u043c\u0438 Sum({&lt;Region={$(vRegion)}&gt;} Sales)<\/code><\/pre>\n<p><strong>\u0412\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u043c\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435:<\/strong><\/p>\n<pre><code>\/\/ \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 = \u0434\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f Sum({&lt;Year={$(=Max(Year))}&gt;} Sales) Sum({&lt;Year={$(=Max(Year)-1)}&gt;} Sales)  \/\/ \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0433\u043e\u0434  \/\/ \u0421\u043b\u043e\u0436\u043d\u044b\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f Sum({&lt;Customer={$(=Chr(39) &amp; Concat(Distinct Customer, Chr(39) &amp; ',' &amp; Chr(39)) &amp; Chr(39))}&gt;} Sales) \/\/ Chr(39) - \u043e\u0434\u0438\u043d\u0430\u0440\u043d\u0430\u044f \u043a\u0430\u0432\u044b\u0447\u043a\u0430<\/code><\/pre>\n<p><strong>\u0414\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u043e\u043b\u044f \u0438 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b:<\/strong><\/p>\n<pre><code>\/\/ vDimension = 'Product' \u0438\u043b\u0438 'Category' Sum({&lt;$(vDimension)={'A','B','C'}&gt;} Sales)  \/\/ vSetModifier = 'Year={2024}, Region={North}' Sum({&lt;$(vSetModifier)&gt;} Sales)  \/\/ \u0423\u0441\u043b\u043e\u0432\u043d\u044b\u0435 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b \/\/ vIncludeHistory = 1 \u0438\u043b\u0438 0 Sum({&lt;Year={$(=If($(vIncludeHistory)=1, '*', Year(Today())))}&gt;} Sales)<\/code><\/pre>\n<p><strong>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435:<\/strong><\/p>\n<pre><code>\/\/ \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 SET vSalesByYear = Sum({&lt;Year={$1}&gt;} Sales);  \/\/ \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 $(vSalesByYear(2024))  \/\/ \u043f\u0440\u043e\u0434\u0430\u0436\u0438 \u0437\u0430 2024 $(vSalesByYear($(=Max(Year))))  \/\/ \u043f\u0440\u043e\u0434\u0430\u0436\u0438 \u0437\u0430 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0433\u043e\u0434  \/\/ \u041c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b SET vSalesByRegionYear = Sum({&lt;Region={$1}, Year={$2}&gt;} Sales); $(vSalesByRegionYear('North', 2024))<\/code><\/pre>\n<h4>44. \u041a\u0430\u043a \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c \u043f\u0435\u0440\u0438\u043e\u0434\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Set Analysis?<\/h4>\n<p>\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0438\u043e\u0434\u043e\u0432 &#8212; \u043e\u0434\u043d\u0430 \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u0447\u0430\u0441\u0442\u044b\u0445 \u0437\u0430\u0434\u0430\u0447 \u0432 \u0431\u0438\u0437\u043d\u0435\u0441-\u0430\u043d\u0430\u043b\u0438\u0437\u0435:<\/p>\n<p><strong>Year-over-Year (YoY) \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f:<\/strong><\/p>\n<pre><code>\/\/ \u0422\u0435\u043a\u0443\u0449\u0438\u0439 \u0433\u043e\u0434 vs \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0433\u043e\u0434 \/\/ \u0422\u0435\u043a\u0443\u0449\u0438\u0439 \u0433\u043e\u0434 Sum({&lt;Year={$(=Max(Year))}&gt;} Sales)  \/\/ \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0433\u043e\u0434 Sum({&lt;Year={$(=Max(Year)-1)}&gt;} Sales)  \/\/ YoY \u0440\u043e\u0441\u0442 \u0432 % (Sum({&lt;Year={$(=Max(Year))}&gt;} Sales) \/   Sum({&lt;Year={$(=Max(Year)-1)}&gt;} Sales) - 1) * 100  \/\/ YoY \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u0432\u044b\u0431\u043e\u0440\u043a\u0438 \u043f\u0435\u0440\u0438\u043e\u0434\u0430 (Sum(Sales) \/   Sum({&lt;Year={$(=Only(Year)-1)}&gt;} Sales) - 1) * 100<\/code><\/pre>\n<p><strong>Month-over-Month (MoM) \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f:<\/strong><\/p>\n<pre><code>\/\/ \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u0442 \/\/ vCurrentMonth = Max(MonthYear) \/\/ vPreviousMonth = AddMonths(Max(MonthYear), -1)  \/\/ \u0422\u0435\u043a\u0443\u0449\u0438\u0439 \u043c\u0435\u0441\u044f\u0446 Sum({&lt;MonthYear={\"$(=Date(Max(MonthYear),'MMM-YYYY'))\"}&gt;} Sales)  \/\/ \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u043c\u0435\u0441\u044f\u0446 Sum({&lt;MonthYear={\"$(=Date(AddMonths(Max(MonthYear),-1),'MMM-YYYY'))\"}&gt;} Sales)  \/\/ MoM \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 Sum({&lt;MonthYear={\"$(=Date(Max(MonthYear),'MMM-YYYY'))\"}&gt;} Sales) - Sum({&lt;MonthYear={\"$(=Date(AddMonths(Max(MonthYear),-1),'MMM-YYYY'))\"}&gt;} Sales)<\/code><\/pre>\n<p><strong>\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0441 \u0442\u0435\u043c \u0436\u0435 \u043f\u0435\u0440\u0438\u043e\u0434\u043e\u043c \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e \u0433\u043e\u0434\u0430:<\/strong><\/p>\n<pre><code>\/\/ YTD \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0433\u043e\u0434\u0430 Sum({&lt;Year={$(=Max(Year))}, Date={\"&lt;=$(=Max(Date))\"}&gt;} Sales)  \/\/ YTD \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u0433\u043e\u0434\u0430 (\u0442\u0430 \u0436\u0435 \u0434\u0430\u0442\u0430) Sum({&lt;Year={$(=Max(Year)-1)}, Date={\"&lt;=$(=AddYears(Max(Date),-1))\"}&gt;} Sales)  \/\/ Rolling 12 months vs Previous 12 months \/\/ \u0422\u0435\u043a\u0443\u0449\u0438\u0435 12 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 Sum({&lt;Date={\"&gt;=$(=AddMonths(Max(Date),-11))&lt;=$(=Max(Date))\"}&gt;} Sales)  \/\/ \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 12 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 Sum({&lt;Date={\"&gt;=$(=AddMonths(Max(Date),-23))&lt;=$(=AddMonths(Max(Date),-12))\"}&gt;} Sales)<\/code><\/pre>\n<h4>45. \u041e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u0435 Element Functions \u0432 Set Analysis<\/h4>\n<p>Element Functions \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043d\u0430\u0434 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0432 Set Analysis.<\/p>\n<p><strong>\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438:<\/strong><\/p>\n<pre><code>\/\/ + (Union) - \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432 Sum({&lt;Year={2023}+{2024}&gt;} Sales) \/\/ \u042d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u043e: Year={2023,2024}  \/\/ - (Difference) - \u0440\u0430\u0437\u043d\u043e\u0441\u0442\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432 Sum({&lt;Product={\"*\"}-{\"ProductA\",\"ProductB\"}&gt;} Sales) \/\/ \u0412\u0441\u0435 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u044b \u043a\u0440\u043e\u043c\u0435 ProductA \u0438 ProductB  \/\/ * (Intersection) - \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0435 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432 Sum({&lt;Customer={&lt;Year={2023}&gt;}*{&lt;Year={2024}&gt;}&gt;} Sales) \/\/ \u041a\u043b\u0438\u0435\u043d\u0442\u044b, \u043a\u0443\u043f\u0438\u0432\u0448\u0438\u0435 \u0418 \u0432 2023 \u0418 \u0432 2024  \/\/ \/ (Symmetric Difference\/XOR) Sum({&lt;Product={&lt;Region={'North'}&gt;}\/{&lt;Region={'South'}&gt;}&gt;} Sales) \/\/ \u041f\u0440\u043e\u0434\u0443\u043a\u0442\u044b \u0438\u0437 North \u0418\u041b\u0418 South, \u043d\u043e \u043d\u0435 \u0438\u0437 \u043e\u0431\u043e\u0438\u0445<\/code><\/pre>\n<p><strong>\u041a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438:<\/strong><\/p>\n<pre><code>\/\/ \u0421\u043b\u043e\u0436\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0441 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043e\u043c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 Sum({&lt;Customer=     {&lt;Year={2024}&gt;} -      {&lt;Product={'Returned'}&gt;} +      {&lt;Status={'VIP'}&gt;} &gt;} Sales) \/\/ \u041a\u043b\u0438\u0435\u043d\u0442\u044b 2024 \u0433\u043e\u0434\u0430, \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u044f \u0432\u0435\u0440\u043d\u0443\u0432\u0448\u0438\u0445 \u0442\u043e\u0432\u0430\u0440, \u043f\u043b\u044e\u0441 \u0432\u0441\u0435 VIP  \/\/ \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 P() \u0438 E() Sum({&lt;Product=P({&lt;Year={2024}&gt;})-E({&lt;Profit={\"&lt;0\"}&gt;})&gt;} Sales) \/\/ \u041f\u0440\u043e\u0434\u0443\u043a\u0442\u044b 2024 \u0433\u043e\u0434\u0430, \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u044f \u0443\u0431\u044b\u0442\u043e\u0447\u043d\u044b\u0435  \/\/ \u0412\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 Sum({&lt;OrderID=P({&lt;     Customer=P({&lt;Segment={'Premium'}&gt;})*P({&lt;Year={2024}&gt;}) &gt;})&gt;} Sales) \/\/ \u0417\u0430\u043a\u0430\u0437\u044b Premium \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0432 2024 \u0433\u043e\u0434\u0443<\/code><\/pre>\n<h4>46. \u041a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Set Analysis \u0441 Aggr()?<\/h4>\n<p>\u041a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f Set Analysis \u0441 Aggr() \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u043c\u043d\u043e\u0433\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f.<\/p>\n<p><strong>\u0411\u0430\u0437\u043e\u0432\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b:<\/strong><\/p>\n<pre><code>\/\/ \u041f\u043e\u0434\u0441\u0447\u0435\u0442 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0441 \u043f\u0440\u043e\u0434\u0430\u0436\u0430\u043c\u0438 &gt; 10000 Count({&lt;Customer={\"=Sum(Sales)&gt;10000\"}&gt;} Distinct Customer)  \/\/ \u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0430 \u0447\u0435\u0440\u0435\u0437 Aggr Count(     Aggr(         If(Sum(Sales) &gt; 10000, Customer),         Customer     ) )  \/\/ Set Analysis \u0432\u043d\u0443\u0442\u0440\u0438 Aggr Sum(     Aggr(         Sum({&lt;Year={2024}&gt;} Sales),         Customer, Product     ) )<\/code><\/pre>\n<p><strong>\u041f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0435 \u0442\u0435\u0445\u043d\u0438\u043a\u0438:<\/strong><\/p>\n<pre><code>\/\/ \u0422\u043e\u043f-10 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 \u043f\u043e \u043f\u0440\u043e\u0434\u0430\u0436\u0430\u043c \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 Sum({&lt;Product={\"=Rank(Sum(Sales), 4) &lt;= 10\"}&gt;} Sales)  \/\/ \u0427\u0435\u0440\u0435\u0437 Aggr \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0435\u043c Sum(     Aggr(         If(Rank(Sum({&lt;Year={2024}&gt;} Sales)) &lt;= 10,             Sum({&lt;Year={2024}&gt;} Sales),             0         ),         Category, Product     ) )  \/\/ \u041a\u043b\u0438\u0435\u043d\u0442\u044b \u0441 \u0440\u043e\u0441\u0442\u043e\u043c \u043f\u0440\u043e\u0434\u0430\u0436 Count({&lt;Customer={\"=Sum({&lt;Year={2024}&gt;}Sales) &gt; Sum({&lt;Year={2023}&gt;}Sales)\"}&gt;}      Distinct Customer)  \/\/ \u041f\u0440\u043e\u0434\u0443\u043a\u0442\u044b, \u043f\u0440\u043e\u0434\u0430\u044e\u0449\u0438\u0435\u0441\u044f \u0432\u043e \u0432\u0441\u0435\u0445 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u0440\u0435\u0433\u0438\u043e\u043d\u0430\u0445 Sum({&lt;Product={\"=Count(Distinct Region) = GetSelectedCount(Region)\"}&gt;} Sales)<\/code><\/pre>\n<p><strong>\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438:<\/strong><\/p>\n<pre><code>\/\/ \u041c\u0415\u0414\u041b\u0415\u041d\u041d\u041e: \u043f\u043e\u0438\u0441\u043a \u0432 Set Analysis Sum({&lt;Customer={\"=Sum(Sales)&gt;$(vThreshold)\"}&gt;} Sales)  \/\/ \u0411\u042b\u0421\u0422\u0420\u041e: \u0444\u043b\u0430\u0433 \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \/\/ \u0412 \u0441\u043a\u0440\u0438\u043f\u0442\u0435: If(CustomerTotalSales &gt; $(vThreshold), 1, 0) as IsKeyCustomer  \/\/ \u0412 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0438: Sum({&lt;IsKeyCustomer={1}&gt;} Sales)  \/\/ \u0418\u043b\u0438 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0441\u0447\u0435\u0442 \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 SET vKeyCustomers = =Chr(39) &amp; Concat({&lt;Customer={\"=Sum(Sales)&gt;10000\"}&gt;}      Distinct Customer, Chr(39) &amp; ',' &amp; Chr(39)) &amp; Chr(39);  Sum({&lt;Customer={$(vKeyCustomers)}&gt;} Sales<\/code><\/pre>\n<h4>47. \u041e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u0435 indirect Set Analysis<\/h4>\n<p>Indirect Set Analysis \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u0430\u0441\u043a\u0430\u0434\u043d\u044b\u0435 \u0444\u0438\u043b\u044c\u0442\u0440\u044b \u0438 \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043c\u0435\u0436\u0434\u0443 \u043f\u043e\u043b\u044f\u043c\u0438.<\/p>\n<p><strong>\u0411\u0430\u0437\u043e\u0432\u0430\u044f \u043a\u043e\u0441\u0432\u0435\u043d\u043d\u0430\u044f \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f:<\/strong><\/p>\n<pre><code>\/\/ \u041f\u0440\u043e\u0434\u0430\u0436\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043a\u0443\u043f\u0430\u043b\u0438 Product A Sum({&lt;Customer=P({&lt;Product={'A'}&gt;} Customer)&gt;} Sales)  \/\/ \u0420\u0430\u0437\u0431\u043e\u0440 \u043b\u043e\u0433\u0438\u043a\u0438: \/\/ 1. {&lt;Product={'A'}&gt;} - \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0433\u0434\u0435 \u0432\u044b\u0431\u0440\u0430\u043d Product A \/\/ 2. P(...Customer) - \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u044b \u0432 \u044d\u0442\u043e\u043c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \/\/ 3. Customer=... - \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c \u043a \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c\u0443 \u043d\u0430\u0431\u043e\u0440\u0443<\/code><\/pre>\n<p><strong>\u041c\u043d\u043e\u0433\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438:<\/strong><\/p>\n<pre><code>\/\/ \u0417\u0430\u043a\u0430\u0437\u044b \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0438\u0437 \u043c\u0430\u0433\u0430\u0437\u0438\u043d\u043e\u0432 \u0441\u0435\u0432\u0435\u0440\u043d\u043e\u0433\u043e \u0440\u0435\u0433\u0438\u043e\u043d\u0430 Sum({&lt;     OrderID=P({&lt;         Customer=P({&lt;             Store=P({&lt;Region={'North'}&gt;} Store)         &gt;} Customer)     &gt;} OrderID) &gt;} Sales)  \/\/ \u041f\u0440\u043e\u0434\u0443\u043a\u0442\u044b, \u043a\u0443\u043f\u043b\u0435\u043d\u043d\u044b\u0435 VIP \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c\u0438 \u0432 2024 Sum({&lt;     Product=P({&lt;         Customer=P({&lt;Segment={'VIP'}&gt;}),         Year={2024}     &gt;} Product) &gt;} Sales)<\/code><\/pre>\n<p><strong>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u043c\u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f\u043c\u0438:<\/strong><\/p>\n<pre><code>\/\/ \u041f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0432\u044b\u0431\u043e\u0440\u043a\u0438 \u0438\u0437 State1 Sum({&lt;Product=State1::Product&gt;} Sales)  \/\/ \u041a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439 Sum({&lt;     Customer=State1::Customer,     Product=State2::Product,     Year=$::Year  \/\/ \u0438\u0437 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f &gt;} Sales)  \/\/ \u0421\u043b\u043e\u0436\u043d\u044b\u0435 \u043c\u0435\u0436\u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 Sum({&lt;Customer=P({State1} Customer) * P({State2} Customer)&gt;} Sales) \/\/ \u041a\u043b\u0438\u0435\u043d\u0442\u044b, \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0432 \u043e\u0431\u043e\u0438\u0445 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f\u0445<\/code><\/pre>\n<h4>48. \u041a\u0430\u043a \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c Set Analysis?<\/h4>\n<p><strong>1. \u0418\u0437\u0431\u0435\u0433\u0430\u0435\u043c \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f:<\/strong><\/p>\n<pre><code>\/\/ \u041c\u0415\u0414\u041b\u0415\u041d\u041d\u041e: \u043f\u043e\u0438\u0441\u043a \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 Sum({&lt;Product={\"*Laptop*\"}&gt;} Sales) Sum({&lt;Customer={\"=Sum(Sales)&gt;10000\"}&gt;} Sales)  \/\/ \u0411\u042b\u0421\u0422\u0420\u041e: \u0442\u043e\u0447\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0441\u0447\u0435\u0442 Sum({&lt;ProductCategory={'Laptops'}&gt;} Sales) Sum({&lt;IsKeyCustomer={1}&gt;} Sales)  \/\/ \u0444\u043b\u0430\u0433 \u0438\u0437 \u0441\u043a\u0440\u0438\u043f\u0442\u0430<\/code><\/pre>\n<p><strong>2. \u0414\u0435\u043b\u0430\u0435\u043c \u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0441\u0447\u0435\u0442 \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445:<\/strong><\/p>\n<pre><code>\/\/ \u041c\u0415\u0414\u041b\u0415\u041d\u041d\u041e: \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u0442\u044b \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 Sum({&lt;Date={\"&gt;=$(=MonthStart(Today()))\"}&gt;} Sales)  \/\/ \u0411\u042b\u0421\u0422\u0420\u041e: \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \/\/ \u0412 \u0441\u043a\u0440\u0438\u043f\u0442\u0435: LET vMonthStart = MonthStart(Today()); Sum({&lt;Date={\"&gt;=$(vMonthStart)\"}&gt;} Sales)  \/\/ \u0414\u043b\u044f \u0441\u043f\u0438\u0441\u043a\u043e\u0432 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 SET vTop10Products = =Chr(39) &amp; Concat(     {&lt;Product={\"=Rank(Sum(Sales))&lt;=10\"}&gt;} Distinct Product,      Chr(39) &amp; ',' &amp; Chr(39) ) &amp; Chr(39);  Sum({&lt;Product={$(vTop10Products)}&gt;} Sales)<\/code><\/pre>\n<p><strong>3. \u0423\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439:<\/strong><\/p>\n<pre><code>\/\/ \u041c\u0415\u0414\u041b\u0415\u041d\u041d\u041e: \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 P() \u0444\u0443\u043d\u043a\u0446\u0438\u0438 Sum({&lt;OrderID=P({&lt;Customer=P({&lt;Product=P({&lt;Category={'Electronics'}&gt;})&gt;})&gt;})&gt;} Sales)  \/\/ \u0411\u042b\u0421\u0422\u0420\u041e: \u043f\u0440\u044f\u043c\u044b\u0435 \u0441\u0432\u044f\u0437\u0438 \u0433\u0434\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e Sum({&lt;Category={'Electronics'}&gt;} Sales)  \/\/ \u0418\u043b\u0438 \u0447\u0435\u0440\u0435\u0437 \u0444\u043b\u0430\u0433\u0438 \u0432 \u043c\u043e\u0434\u0435\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \/\/ \u0412 \u0441\u043a\u0440\u0438\u043f\u0442\u0435: If(Category='Electronics', 1, 0) as IsElectronics Sum(Sales * IsElectronics)<\/code><\/pre>\n<p><strong>4. \u041f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u0432:<\/strong><\/p>\n<pre><code>\/\/ \u0418\u0437\u0431\u0435\u0433\u0430\u0435\u043c \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u044b\u0445 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u0432 \/\/ \u041f\u041b\u041e\u0425\u041e: Sum({&lt;Year={2024}, Quarter=, Month=, Week=, Date=&gt;} Sales)  \/\/ \u0425\u041e\u0420\u041e\u0428\u041e: Sum({&lt;Year={2024}, Quarter=, Month=&gt;} Sales) \/\/ Week \u0438 Date \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u0431\u0440\u043e\u0441\u044f\u0442\u0441\u044f \u043f\u0440\u0438 Quarter= \u0438 Month=  \/\/ \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0433\u0434\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \/\/ \u0412\u043c\u0435\u0441\u0442\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0441\u0435\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u0439 Sum({$&lt;Product={'A'}&gt;} Sales)  \/\/ \u043d\u0430\u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0442\u0435\u043a\u0443\u0449\u0438\u0435 \u0432\u044b\u0431\u043e\u0440\u043a\u0438 + Product=A<\/code><\/pre>\n<p><strong>5. \u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0438 \u043e\u0442\u043b\u0430\u0434\u043a\u0430:<\/strong><\/p>\n<pre><code>\/\/ \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 GetFieldSelections \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 =GetFieldSelections(Product, ', ', 100)  \/\/ \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0439\u0442\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 =GetPossibleCount(Customer)  \/\/ \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0432 \u0432\u044b\u0431\u043e\u0440\u043a\u0435  \/\/ \u041f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 Document Analyzer \/\/ \u0421\u043c\u043e\u0442\u0440\u0438\u0442\u0435 CalcTime \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f<\/code><\/pre>\n<h4>49. \u041e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u0435 \u0440\u0430\u0437\u043d\u0438\u0446\u0443 \u043c\u0435\u0436\u0434\u0443 Sum() \u0438 Total Sum()<\/h4>\n<p><strong>\u0411\u0430\u0437\u043e\u0432\u0430\u044f \u0440\u0430\u0437\u043d\u0438\u0446\u0430:<\/strong><\/p>\n<pre><code>\/\/ Sum() - \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u0443\u0435\u0442 \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u0442\u0435\u043a\u0443\u0449\u0438\u0445 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0439 Sum(Sales)   \/\/ \u0412 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0441 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f\u043c\u0438 Product, Region - \u0441\u0443\u043c\u043c\u0430 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438  \/\/ Total Sum() - \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u0442 \u0432\u0441\u0435 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u044b Sum(Total Sales)   \/\/ \u0412\u0441\u0435\u0433\u0434\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043e\u0431\u0449\u0443\u044e \u0441\u0443\u043c\u043c\u0443 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u0441\u0442\u0440\u043e\u043a\u0438<\/code><\/pre>\n<p><strong>TOTAL \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0439:<\/strong><\/p>\n<pre><code>\/\/ Total &lt;Field1, Field2&gt; - \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u0442 \u0432\u0441\u0435 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f \u041a\u0420\u041e\u041c\u0415 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0445 Sum(Total &lt;Region&gt; Sales) \/\/ \u0421\u0443\u043c\u043c\u0430 \u0432 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u0445 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0440\u0435\u0433\u0438\u043e\u043d\u0430  \/\/ \u041f\u0440\u0438\u043c\u0435\u0440 \u0441 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f\u043c\u0438 \/\/ \u0422\u0430\u0431\u043b\u0438\u0446\u0430: Region | Product | Sales | % of Region Sum(Sales) \/ Sum(Total &lt;Region&gt; Sales) * 100 \/\/ \u041f\u0440\u043e\u0446\u0435\u043d\u0442 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 \u043e\u0442 \u043f\u0440\u043e\u0434\u0430\u0436 \u0440\u0435\u0433\u0438\u043e\u043d\u0430  \/\/ \u0412\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u044b \/\/ % \u043e\u0442 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u0432\u043d\u0443\u0442\u0440\u0438 \u0440\u0435\u0433\u0438\u043e\u043d\u0430 Sum(Sales) \/ Sum(Total &lt;Region, Category&gt; Sales) * 100<\/code><\/pre>\n<p><strong>\u041f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435:<\/strong><\/p>\n<pre><code>\/\/ \u041d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Total RangeSum(Above(Sum(Sales), 0, RowNo(Total)))  \/\/ \u0420\u0430\u043d\u0436\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u043d\u0443\u0442\u0440\u0438 \u0433\u0440\u0443\u043f\u043f\u044b Rank(Sum(Sales)) \/\/ \u0420\u0430\u043d\u0433 \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0433\u0440\u0443\u043f\u043f\u0435 Rank(Total Sum(Sales)) \/\/ \u0420\u0430\u043d\u0433 \u043f\u043e \u0432\u0441\u0435\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 Rank(Total &lt;Region&gt; Sum(Sales)) \/\/ \u0420\u0430\u043d\u0433 \u0432\u043d\u0443\u0442\u0440\u0438 \u0440\u0435\u0433\u0438\u043e\u043d\u0430<\/code><\/pre>\n<p><strong>\u0412\u0430\u0436\u043d\u044b\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438:<\/strong><\/p>\n<ul>\n<li>\n<p>TOTAL \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u044b<\/p>\n<\/li>\n<li>\n<p>\u041d\u0435 \u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 Set Analysis<\/p>\n<\/li>\n<li>\n<p>\u041c\u043e\u0436\u0435\u0442 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u043b\u0438\u044f\u0442\u044c \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c<\/p>\n<\/li>\n<\/ul>\n<h4>50. \u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044f Aggr()?<\/h4>\n<p>Aggr() &#8212; \u044d\u0442\u043e &#171;\u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430&#187; \u0432\u043d\u0443\u0442\u0440\u0438 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043c\u043d\u043e\u0433\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0435 \u0430\u0433\u0440\u0435\u0433\u0430\u0446\u0438\u0438. \u041f\u043e \u0441\u0443\u0442\u0438, &#171;\u0430\u0433\u0433\u0440\u044b&#187; &#8212; \u044d\u0442\u043e \u0430\u043d\u0430\u043b\u043e\u0433 \u043e\u043a\u043e\u043d\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0432 SQL.<\/p>\n<p><strong>\u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0438 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f:<\/strong><\/p>\n<pre><code>Aggr(Expression, Dimension1 [, Dimension2...])  \/\/ Aggr \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c\u0438 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f\u043c\u0438 \/\/ \u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 Expression \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438<\/code><\/pre>\n<p><strong>\u041f\u0440\u043e\u0441\u0442\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b:<\/strong><\/p>\n<pre><code>\/\/ \u0421\u0440\u0435\u0434\u043d\u044f\u044f \u0441\u0443\u043c\u043c\u0430 \u043f\u0440\u043e\u0434\u0430\u0436 \u043f\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c Avg(Aggr(Sum(Sales), Customer)) \/\/ 1. Aggr \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 Sum(Sales) \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e Customer \/\/ 2. Avg() \u0431\u0435\u0440\u0435\u0442 \u0441\u0440\u0435\u0434\u043d\u0435\u0435 \u043e\u0442 \u044d\u0442\u0438\u0445 \u0441\u0443\u043c\u043c  \/\/ \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0441 \u043f\u0440\u043e\u0434\u0430\u0436\u0430\u043c\u0438 &gt; 10000 Count(Aggr(If(Sum(Sales) &gt; 10000, 1), Customer)) \/\/ \u0418\u043b\u0438 \u0431\u043e\u043b\u0435\u0435 \u044d\u043b\u0435\u0433\u0430\u043d\u0442\u043d\u043e: Sum(Aggr(If(Sum(Sales) &gt; 10000, 1, 0), Customer))  \/\/ \u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0435 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0434\u0430\u0436 \u043f\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430\u043c StDev(Aggr(Sum(Sales), Product))<\/code><\/pre>\n<p><strong>\u041f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435:<\/strong><\/p>\n<pre><code>\/\/ \u0412\u0442\u043e\u0440\u043e\u0439 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c \u043f\u0440\u043e\u0434\u0430\u0436 Max(Aggr(Sum(Sales), Product), 2)  \/\/ \u0422\u043e\u043f-3 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 Sum(Aggr(     If(Rank(Sum(Sales)) &lt;= 3, Sum(Sales), 0),     Category, Product ))  \/\/ \u041c\u0435\u0434\u0438\u0430\u043d\u0430 \u043f\u0440\u043e\u0434\u0430\u0436 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 Median(Aggr(Sum(Sales), Customer))  \/\/ \u041f\u0440\u043e\u0446\u0435\u043d\u0442 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u043e\u0442 \u043e\u0431\u0449\u0435\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0432 \u0440\u0435\u0433\u0438\u043e\u043d\u0435 Count(Distinct Customer) \/  Count(Total &lt;Region&gt; Aggr(1, Customer, Region))<\/code><\/pre>\n<p><strong>Aggr() \u0441 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u043e\u0439:<\/strong><\/p>\n<pre><code>\/\/ \u0412\u0430\u0436\u043d\u043e: \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 like Rank(), Above(), etc. Concat(Aggr(     Product &amp; ': ' &amp; Num(Sum(Sales), '#,##0'),     Product,     (Sum(Sales), DESC)  \/\/ \u0421\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u043f\u043e \u0443\u0431\u044b\u0432\u0430\u043d\u0438\u044e \u043f\u0440\u043e\u0434\u0430\u0436 ), Chr(10))  \/\/ \u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u0441\u0442\u0440\u043e\u043a\u0438 \u043a\u0430\u043a \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c  \/\/ \u041d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430 \u0442\u043e\u043f-\u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 Sum(Aggr(     If(Rank(Sum(Sales)) &lt;= 10,         RangeSum(Above(Sum(Sales), 0, Rank(Sum(Sales))))),     Product,     (Sum(Sales), DESC) ))<\/code><\/pre>\n<p><strong>\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f:<\/strong><\/p>\n<pre><code>\/\/ \u041d\u0415\u042d\u0424\u0424\u0415\u041a\u0422\u0418\u0412\u041d\u041e: Aggr \u0432 Set Analysis Count({&lt;Customer={\"=Sum(Aggr(Sum(Sales), Customer, Product)) &gt; 10000\"}&gt;} Customer)  \/\/ \u042d\u0424\u0424\u0415\u041a\u0422\u0418\u0412\u041d\u041e: \u0424\u043b\u0430\u0433 \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u0438\u043b\u0438 \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u0435 Count(Aggr(If(Sum(Sales) &gt; 10000, Customer), Customer))  \/\/ Aggr() \u0441 NODISTINCT (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e DISTINCT) Sum(Aggr(NODISTINCT Sales * 0.1, OrderID)) \/\/ \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u044b \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435<\/code><\/pre>\n<h4>51. \u041e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 Rank() \u0438 HRank()<\/h4>\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u0440\u0430\u043d\u0436\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u044b \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0442\u043e\u043f-\u0441\u043f\u0438\u0441\u043a\u043e\u0432, \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0438\u043b\u0435\u0439 \u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430.<\/p>\n<p><strong>Rank() &#8212; \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0440\u0430\u043d\u0436\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 (\u0432 \u0441\u0442\u043e\u043b\u0431\u0446\u0435):<\/strong><\/p>\n<pre><code>\/\/ \u0411\u0430\u0437\u043e\u0432\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Rank(Sum(Sales)) \/\/ \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043f\u043e\u0437\u0438\u0446\u0438\u044e \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u043e Sum(Sales)  \/\/ \u041e\u0431\u0440\u0430\u0442\u043d\u043e\u0435 \u0440\u0430\u043d\u0436\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 Rank(-Sum(Sales))  \/\/ \u041d\u0430\u0438\u043c\u0435\u043d\u044c\u0448\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0442 \u0440\u0430\u043d\u0433 1<\/code><\/pre>\n<p><strong>HRank() &#8212; \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u0440\u0430\u043d\u0436\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 (\u0432 \u0441\u0442\u0440\u043e\u043a\u0435, \u0434\u043b\u044f pivot \u0442\u0430\u0431\u043b\u0438\u0446):<\/strong><\/p>\n<pre><code>\/\/ \u0412 pivot \u0442\u0430\u0431\u043b\u0438\u0446\u0435: Product x Month HRank(Sum(Sales))  \/\/ \u0420\u0430\u043d\u0433 \u043c\u0435\u0441\u044f\u0446\u0430 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430  \/\/ \u041a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 Total HRank(Total Sum(Sales))  \/\/ \u0420\u0430\u043d\u0433 \u043f\u043e \u0432\u0441\u0435\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435<\/code><\/pre>\n<p><strong>\u041f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0435 \u0442\u0435\u0445\u043d\u0438\u043a\u0438 \u0440\u0430\u043d\u0436\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f:<\/strong><\/p>\n<pre><code>\/\/ \u0420\u0430\u043d\u0436\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u043d\u0443\u0442\u0440\u0438 \u0433\u0440\u0443\u043f\u043f\u044b Rank(Total &lt;Category&gt; Sum(Sales)) \/\/ \u0420\u0430\u043d\u0433 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 \u0432\u043d\u0443\u0442\u0440\u0438 \u0435\u0433\u043e \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438  \/\/ \u041f\u0440\u043e\u0446\u0435\u043d\u0442\u0438\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u043d\u0433 Rank(Sum(Sales), 4) * 100  \/\/ \u041f\u0440\u043e\u0446\u0435\u043d\u0442 \u043e\u0442 0 \u0434\u043e 100  \/\/ \u0422\u043e\u043f-N \u0441 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043f\u043e\u0440\u043e\u0433\u043e\u043c If(Rank(Sum(Sales)) &lt;= vTopN, Sum(Sales))  \/\/ \u0412\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0442\u043e\u043f-10%  If(Rank(Sum(Sales), 4) &gt;= 0.9, 'Top 10%', 'Other')  \/\/ \u0420\u0430\u043d\u0436\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u0435\u0432 Rank(Sum(Sales) * 1000000 + Sum(Quantity)) \/\/ \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u043e Sales, \u043f\u043e\u0442\u043e\u043c \u043f\u043e Quantity<\/code><\/pre>\n<p><strong>\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438:<\/strong><\/p>\n<pre><code>\/\/ \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430: \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u044b \u0441 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c\u0438 \u043f\u0440\u043e\u0434\u0430\u0436\u0430\u043c\u0438 \/\/ \u0420\u0435\u0448\u0435\u043d\u0438\u0435 1: \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c Rank(Sum(Sales) + RowNo() * 0.00001)  \/\/ \u0420\u0435\u0448\u0435\u043d\u0438\u0435 2: \u0432\u0442\u043e\u0440\u0438\u0447\u043d\u0430\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 Rank(Aggr(     Sum(Sales) * 1000000 + Sum(Quantity),     Product ))  \/\/ \u0420\u0435\u0448\u0435\u043d\u0438\u0435 3: \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Mode 2 \u0438\u043b\u0438 3 Rank(Sum(Sales), 2)  \/\/ \u0421\u0440\u0435\u0434\u043d\u0438\u0439 \u0440\u0430\u043d\u0433 \u0434\u043b\u044f \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445<\/code><\/pre>\n<h4>52. \u041a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 Inter Record?<\/h4>\n<p>Inter Record \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0442\u0440\u043e\u043a \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435, \u0447\u0442\u043e \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u043e \u0434\u043b\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0442\u0440\u0435\u043d\u0434\u043e\u0432.<\/p>\n<p><strong>\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438:<\/strong><\/p>\n<pre><code>\/\/ Above() - \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438\u0437 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432\u044b\u0448\u0435 Above(Expression [, Offset [, Count]])  Above(Sum(Sales))      \/\/ \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 Above(Sum(Sales), 2)   \/\/ 2 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432\u044b\u0448\u0435 Above(Sum(Sales), 0, 3) \/\/ \u0422\u0435\u043a\u0443\u0449\u0430\u044f \u0438 2 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432\u044b\u0448\u0435 (\u0432\u0441\u0435\u0433\u043e 3)  \/\/ Below() - \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438\u0437 \u0441\u0442\u0440\u043e\u043a\u0438 \u043d\u0438\u0436\u0435 Below(Sum(Sales))      \/\/ \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 Below(Sum(Sales), 3)   \/\/ 3 \u0441\u0442\u0440\u043e\u043a\u0438 \u043d\u0438\u0436\u0435  \/\/ Before() \/ After() - \u0434\u043b\u044f pivot \u0442\u0430\u0431\u043b\u0438\u0446 (\u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u043e) Before(Sum(Sales))     \/\/ \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0441\u0442\u043e\u043b\u0431\u0435\u0446 After(Sum(Sales), 2)   \/\/ 2 \u0441\u0442\u043e\u043b\u0431\u0446\u0430 \u0432\u043f\u0440\u0430\u0432\u043e<\/code><\/pre>\n<p><strong>\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f:<\/strong><\/p>\n<pre><code>\/\/ \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u043c \u043f\u0435\u0440\u0438\u043e\u0434\u043e\u043c Sum(Sales) - Above(Sum(Sales))  \/\/ \u041f\u0440\u043e\u0446\u0435\u043d\u0442 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f (Sum(Sales) - Above(Sum(Sales))) \/ Above(Sum(Sales)) * 100  \/\/ \u0421\u043a\u043e\u043b\u044c\u0437\u044f\u0449\u0435\u0435 \u0441\u0440\u0435\u0434\u043d\u0435\u0435 \u0437\u0430 3 \u043f\u0435\u0440\u0438\u043e\u0434\u0430 RangeAvg(Above(Sum(Sales), 0, 3))  \/\/ \u0421\u043a\u043e\u043b\u044c\u0437\u044f\u0449\u0435\u0435 \u0441\u0440\u0435\u0434\u043d\u0435\u0435 \u0437\u0430 12 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 RangeAvg(Above(Sum(Sales), 0, 12))  \/\/ \u041d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430 RangeSum(Above(Sum(Sales), 0, RowNo()))  \/\/ \u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0430 \u0447\u0435\u0440\u0435\u0437 running total RangeSum(Above(Total Sum(Sales), 0, RowNo(Total)))<\/code><\/pre>\n<p><strong>\u041f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0435 \u0442\u0435\u0445\u043d\u0438\u043a\u0438:<\/strong><\/p>\n<pre><code>\/\/ \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0442\u0440\u0435\u043d\u0434\u0430 (\u0440\u0430\u0441\u0442\u0443\u0449\u0438\u0439\/\u043f\u0430\u0434\u0430\u044e\u0449\u0438\u0439) If(Sum(Sales) &gt; Above(Sum(Sales)) and     Above(Sum(Sales)) &gt; Above(Sum(Sales), 2),     '\u2191\u2191',     If(Sum(Sales) &lt; Above(Sum(Sales)) and        Above(Sum(Sales)) &lt; Above(Sum(Sales), 2),        '\u2193\u2193',        '\u2192'))  \/\/ \u041c\u0430\u043a\u0441\u0438\u043c\u0443\u043c \u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 N \u043f\u0435\u0440\u0438\u043e\u0434\u043e\u0432 RangeMax(Above(Sum(Sales), 0, 12))  \/\/ Volatility (\u0438\u0437\u043c\u0435\u043d\u0447\u0438\u0432\u043e\u0441\u0442\u044c) StDev(Above(Sum(Sales), 0, 12))  \/\/ Year-over-Year \u0441 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u043e\u0439 If(RowNo() &gt; 12,     (Sum(Sales) - Above(Sum(Sales), 12)) \/ Above(Sum(Sales), 12) * 100)  \/\/ \u0417\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 Alt(Sum(Sales), Above(Alt(Sum(Sales), 0)))<\/code><\/pre>\n<p><strong>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 Total:<\/strong><\/p>\n<pre><code>\/\/ \u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0441 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u043e\u0439 Sum(Sales) - First(Total Sum(Sales))  \/\/ \u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0441\u0442\u0440\u043e\u043a\u043e\u0439 Sum(Sales) - Last(Total Sum(Sales))  \/\/ \u041f\u043e\u0437\u0438\u0446\u0438\u044f \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c\u0430 Sum(Sales) \/ Max(Total Aggr(Sum(Sales), Month))<\/code><\/pre>\n<h4>53. \u041e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 FirstSortedValue() \u0438 LastSortedValue()<\/h4>\n<p>\u042d\u0442\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044f, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 \u043f\u0435\u0440\u0432\u043e\u043c\u0443 \u0438\u043b\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u043c\u0443 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \u043f\u0440\u0438 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0435 \u043f\u043e \u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u043f\u043e\u043b\u044e.<\/p>\n<p><strong>\u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441:<\/strong><\/p>\n<pre><code>FirstSortedValue([DISTINCT] Expression, SortExpression [, n]) \/\/ Expression - \u0447\u0442\u043e \u0432\u0435\u0440\u043d\u0443\u0442\u044c \/\/ SortExpression - \u043f\u043e \u0447\u0435\u043c\u0443 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \/\/ n - \u043a\u0430\u043a\u043e\u0435 \u043f\u043e \u0441\u0447\u0435\u0442\u0443 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 1)<\/code><\/pre>\n<p><strong>\u041f\u0440\u043e\u0441\u0442\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b:<\/strong><\/p>\n<pre><code>\/\/ \u041f\u0440\u043e\u0434\u0443\u043a\u0442 \u0441 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0434\u0430\u0436\u0430\u043c\u0438 FirstSortedValue(Product, -Sales) \/\/ \u041c\u0438\u043d\u0443\u0441 \u043f\u0435\u0440\u0435\u0434 Sales \u0434\u043b\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u043f\u043e \u0443\u0431\u044b\u0432\u0430\u043d\u0438\u044e  \/\/ \u041a\u043b\u0438\u0435\u043d\u0442 \u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0434\u0430\u0436\u0430\u043c\u0438 FirstSortedValue(Customer, Sales) \/\/ \u0411\u0435\u0437 \u043c\u0438\u043d\u0443\u0441\u0430 - \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u043f\u043e \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u043d\u0438\u044e  \/\/ \u0414\u0430\u0442\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0437\u0430\u043a\u0430\u0437\u0430 FirstSortedValue(OrderDate, -OrderDate) \/\/ \u0418\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e Max(OrderDate)  \/\/ \u041f\u0440\u043e\u0434\u0443\u043a\u0442 \u0441 \u0442\u0440\u0435\u0442\u044c\u0438\u043c\u0438 \u043f\u043e \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u0435 \u043f\u0440\u043e\u0434\u0430\u0436\u0430\u043c\u0438 FirstSortedValue(Product, -Sales, 3)<\/code><\/pre>\n<p><strong>\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u0430\u0433\u0440\u0435\u0433\u0430\u0446\u0438\u044f\u043c\u0438:<\/strong><\/p>\n<pre><code>\/\/ \u041f\u0440\u043e\u0434\u0443\u043a\u0442 \u0441 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0443\u043c\u043c\u043e\u0439 \u043f\u0440\u043e\u0434\u0430\u0436 FirstSortedValue(Product, -Aggr(Sum(Sales), Product))  \/\/ \u0420\u0435\u0433\u0438\u043e\u043d \u0441 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c \u0441\u0440\u0435\u0434\u043d\u0438\u043c \u0447\u0435\u043a\u043e\u043c FirstSortedValue(Region, -Aggr(Avg(Sales), Region))  \/\/ \u041c\u0435\u0441\u044f\u0446 \u0441 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u043d\u043e\u0432\u044b\u0445 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 FirstSortedValue(     Month,      -Aggr(Count(Distinct If(FirstOrderDate = OrderDate, Customer)), Month) )<\/code><\/pre>\n<p><strong>\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439:<\/strong><\/p>\n<pre><code>\/\/ \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430: \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 \u0441 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c\u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0434\u0430\u0436\u0430\u043c\u0438 \/\/ \u0420\u0435\u0448\u0435\u043d\u0438\u0435 1: DISTINCT FirstSortedValue(DISTINCT Product, -Sales) \/\/ \u0412\u0435\u0440\u043d\u0435\u0442 NULL \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0445  \/\/ \u0420\u0435\u0448\u0435\u043d\u0438\u0435 2: \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c FirstSortedValue(Product, -Sales + Rand() * 0.0001)  \/\/ \u0420\u0435\u0448\u0435\u043d\u0438\u0435 3: \u043a\u043e\u043d\u043a\u0430\u0442\u0435\u043d\u0430\u0446\u0438\u044f \u0432\u0441\u0435\u0445 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0445 Concat(Aggr(     If(Sum(Sales) = Max(Total Aggr(Sum(Sales), Product)), Product),     Product ), ', ')<\/code><\/pre>\n<p><strong>LastSortedValue() &#8212; \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u043f\u043e\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c:<\/strong><\/p>\n<pre><code>\/\/ \u041f\u0440\u043e\u0434\u0443\u043a\u0442 \u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0434\u0430\u0436\u0430\u043c\u0438 LastSortedValue(Product, -Sales) \/\/ \u042d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u043e FirstSortedValue(Product, Sales)  \/\/ \u0421\u0430\u043c\u044b\u0439 \u0441\u0442\u0430\u0440\u044b\u0439 \u0437\u0430\u043a\u0430\u0437 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 LastSortedValue(OrderID, OrderDate)  \/\/ \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 KPI ='Best Product: ' &amp; FirstSortedValue(Product, -Sales) &amp;   ' (' &amp; Num(Max(Aggr(Sum(Sales), Product)), '#,##0') &amp; ')'<\/code><\/pre>\n<p><strong>\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043a\u0435\u0439\u0441\u044b:<\/strong><\/p>\n<pre><code>\/\/ \u0422\u043e\u043f \u043f\u0440\u043e\u0434\u0430\u0432\u0435\u0446 \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u0440\u0435\u0433\u0438\u043e\u043d\u0435 (\u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435) FirstSortedValue(Salesperson, -Aggr(Sum(Sales), Region, Salesperson))  \/\/ \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0441\u0442\u0430\u0442\u0443\u0441 \u0437\u0430\u043a\u0430\u0437\u0430 FirstSortedValue(Status, -StatusDate)  \/\/ \u0412\u0430\u043b\u044e\u0442\u0430 \u0441 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c \u043a\u0443\u0440\u0441\u043e\u043c \u043d\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0434\u0430\u0442\u0443 FirstSortedValue(Currency, -Aggr(FirstSortedValue(Rate, -Date), Currency))<\/code><\/pre>\n<h4>54. \u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 Range?<\/h4>\n<p>Range \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043a\u0430\u043a \u043c\u0430\u0441\u0441\u0438\u0432, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u0438\u0445 \u043d\u0435\u0437\u0430\u043c\u0435\u043d\u0438\u043c\u044b\u043c\u0438 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u043f\u043e\u043b\u044f\u043c\u0438 \u0438\u043b\u0438 \u043c\u0435\u0436\u0441\u0442\u0440\u043e\u0447\u043d\u044b\u043c\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f\u043c\u0438.<\/p>\n<p><strong>\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 Range \u0444\u0443\u043d\u043a\u0446\u0438\u0438:<\/strong><\/p>\n<pre><code>\/\/ RangeSum - \u0441\u0443\u043c\u043c\u0430 \u0432\u0441\u0435\u0445 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 RangeSum(1, 2, 3, 4, 5)  \/\/ = 15 RangeSum(Sales1, Sales2, Sales3)  \/\/ \u0421\u0443\u043c\u043c\u0430 \u0442\u0440\u0435\u0445 \u043f\u043e\u043b\u0435\u0439 RangeSum(Above(Sales, 0, 12))  \/\/ \u0421\u0443\u043c\u043c\u0430 \u0437\u0430 12 \u043f\u0435\u0440\u0438\u043e\u0434\u043e\u0432  \/\/ RangeAvg - \u0441\u0440\u0435\u0434\u043d\u0435\u0435 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 RangeAvg(Q1, Q2, Q3, Q4)  \/\/ \u0421\u0440\u0435\u0434\u043d\u0435\u0435 \u0437\u0430 \u0433\u043e\u0434 RangeAvg(Above(Sum(Sales), 0, 3))  \/\/ \u0421\u043a\u043e\u043b\u044c\u0437\u044f\u0449\u0435\u0435 \u0441\u0440\u0435\u0434\u043d\u0435\u0435  \/\/ RangeMin \/ RangeMax RangeMin(Price, DiscountPrice, 0)  \/\/ \u041d\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 0 RangeMax(0, Sum(Sales) - Sum(Costs))  \/\/ \u041f\u0440\u0438\u0431\u044b\u043b\u044c \u0438\u043b\u0438 0  \/\/ RangeCount - \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 RangeCount(Field1, Field2, Field3)  \/\/ \u0421\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u0435-null<\/code><\/pre>\n<p><strong>\u041f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438:<\/strong><\/p>\n<pre><code>\/\/ RangeStDev - \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0435 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u0435 RangeStDev(Above(Sum(Sales), 0, 12))  \/\/ \u0412\u043e\u043b\u0430\u0442\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0437\u0430 \u0433\u043e\u0434  \/\/ RangeMode - \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0447\u0430\u0441\u0442\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 RangeMode(Rating1, Rating2, Rating3)  \/\/ \u0421\u0430\u043c\u0430\u044f \u0447\u0430\u0441\u0442\u0430\u044f \u043e\u0446\u0435\u043d\u043a\u0430  \/\/ RangeCorrel - \u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u044f RangeCorrel(     Above(Sum(Sales), 0, 12),     Above(Sum(Marketing), 0, 12) )  \/\/ \u041a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u044f \u043f\u0440\u043e\u0434\u0430\u0436 \u0438 \u043c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433\u0430  \/\/ RangeFractile - \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0438\u043b\u044c RangeFractile(0.75, Above(Sum(Sales), 0, 12))  \/\/ 75-\u0439 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0438\u043b\u044c  \/\/ RangeIRR \/ RangeNPV - \u0444\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 RangeIRR(Investment, CashFlow1, CashFlow2, CashFlow3) RangeNPV(0.1, 0, Payment1, Payment2, Payment3)  \/\/ NPV \u0441 10% \u0441\u0442\u0430\u0432\u043a\u043e\u0439<\/code><\/pre>\n<p><strong>\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f:<\/strong><\/p>\n<pre><code>\/\/ \u0417\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0441\u0440\u0435\u0434\u043d\u0438\u043c Alt(Sales, RangeAvg(Above(Sales), Below(Sales)))  \/\/ \u0421\u0433\u043b\u0430\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0440\u044f\u0434\u043e\u0432 RangeAvg(Above(Sum(Sales), -1, 3))  \/\/ \u0421\u0440\u0435\u0434\u043d\u0435\u0435: \u043f\u0440\u0435\u0434, \u0442\u0435\u043a\u0443\u0449\u0438\u0439, \u0441\u043b\u0435\u0434  \/\/ \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0432\u044b\u0431\u0440\u043e\u0441\u043e\u0432 If(Abs(Sum(Sales) - RangeAvg(Above(Sum(Sales), 0, 12))) &gt;     2 * RangeStDev(Above(Sum(Sales), 0, 12)),     'Outlier',     'Normal')  \/\/ \u041d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0441 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u043c\u0438 RangeSum(     If(Above(Sum(Sales)) &gt; 0, Above(Sum(Sales)), 0),     If(Above(Sum(Sales), 2) &gt; 0, Above(Sum(Sales), 2), 0),     If(Above(Sum(Sales), 3) &gt; 0, Above(Sum(Sales), 3), 0) )<\/code><\/pre>\n<p><strong>\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0441 Range \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438:<\/strong><\/p>\n<pre><code>\/\/ \u0412\u043c\u0435\u0441\u0442\u043e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 If() \/\/ \u041f\u041b\u041e\u0425\u041e: If(IsNull(Field1), 0, Field1) +  If(IsNull(Field2), 0, Field2) +  If(IsNull(Field3), 0, Field3)  \/\/ \u0425\u041e\u0420\u041e\u0428\u041e: RangeSum(Field1, Field2, Field3)  \/\/ \u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0435 \u0434\u0435\u043b\u0435\u043d\u0438\u0435 RangeMax(Sum(Sales), 0.0001) \/ RangeMax(Sum(Costs), 0.0001) \/\/ \u0418\u0437\u0431\u0435\u0433\u0430\u0435\u043c \u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043d\u0430 \u043d\u043e\u043b\u044c<\/code><\/pre>\n<h4>55. \u041e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u0435 Fractile() \u0438 Median()<\/h4>\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0438\u043b\u0435\u0439 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u044b \u0434\u043b\u044f \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0438 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<p><strong>Median() &#8212; \u043c\u0435\u0434\u0438\u0430\u043d\u0430 (50-\u0439 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0438\u043b\u044c):<\/strong><\/p>\n<pre><code>\/\/ \u0411\u0430\u0437\u043e\u0432\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Median(Sales)  \/\/ \u041c\u0435\u0434\u0438\u0430\u043d\u0430 \u0432\u0441\u0435\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 Sales  \/\/ \u0421 \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u043e\u0439 Median(Total Sales)  \/\/ \u041c\u0435\u0434\u0438\u0430\u043d\u0430 \u043f\u043e \u0432\u0441\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u043c Median(Total &lt;Region&gt; Sales)  \/\/ \u041c\u0435\u0434\u0438\u0430\u043d\u0430 \u0432\u043d\u0443\u0442\u0440\u0438 \u0440\u0435\u0433\u0438\u043e\u043d\u0430  \/\/ \u041c\u0435\u0434\u0438\u0430\u043d\u0430 \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 Median(Aggr(Sum(Sales), Customer))  \/\/ \u041c\u0435\u0434\u0438\u0430\u043d\u0430 \u043f\u0440\u043e\u0434\u0430\u0436 \u043f\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c<\/code><\/pre>\n<p><strong>Fractile() &#8212; \u043b\u044e\u0431\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0438\u043b\u044c:<\/strong><\/p>\n<pre><code>\/\/ \u0421\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441: Fractile(Expression, Fraction) Fractile(Sales, 0.25)  \/\/ 25-\u0439 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0438\u043b\u044c (Q1) Fractile(Sales, 0.50)  \/\/ 50-\u0439 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0438\u043b\u044c (\u043c\u0435\u0434\u0438\u0430\u043d\u0430) Fractile(Sales, 0.75)  \/\/ 75-\u0439 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0438\u043b\u044c (Q3) Fractile(Sales, 0.90)  \/\/ 90-\u0439 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0438\u043b\u044c  \/\/ \u041a\u0432\u0430\u0440\u0442\u0438\u043b\u0438 Q1: Fractile(Sales, 0.25) Q2: Fractile(Sales, 0.50)  \/\/ = Median(Sales) Q3: Fractile(Sales, 0.75)  \/\/ \u041c\u0435\u0436\u043a\u0432\u0430\u0440\u0442\u0438\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0430\u0445 (IQR) Fractile(Sales, 0.75) - Fractile(Sales, 0.25)<\/code><\/pre>\n<h4>56. \u041a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043e \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438?<\/h4>\n<p>\u0421\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b \u0434\u043b\u044f \u043e\u0447\u0438\u0441\u0442\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0438\u0437 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0445 \u043f\u043e\u043b\u0435\u0439.<\/p>\n<p><strong>\u0411\u0430\u0437\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445:<\/strong><\/p>\n<pre><code>\/\/ Left, Right, Mid - \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a Left('ABCDEF', 3)  \/\/ 'ABC' Right('ABCDEF', 2)  \/\/ 'EF' Mid('ABCDEF', 2, 3)  \/\/ 'BCD' (\u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 2, \u0434\u043b\u0438\u043d\u0430 3)  \/\/ \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b Left(CustomerCode, 2) as RegionCode  \/\/ \u041f\u0435\u0440\u0432\u044b\u0435 2 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 Right(Phone, 4) as PhoneExt  \/\/ \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 4 \u0446\u0438\u0444\u0440\u044b Mid(ProductSKU, 4, 3) as ProductCategory  \/\/ \u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f \u0438\u0437 SKU  \/\/ Len - \u0434\u043b\u0438\u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0438 Len('Hello')  \/\/ 5 Len(Trim(' Hello '))  \/\/ 5 (\u043f\u043e\u0441\u043b\u0435 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u0435\u043b\u043e\u0432) If(Len(Email) &gt; 0, Email, 'No Email')  \/\/ \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u043f\u0443\u0441\u0442\u043e\u0442\u0443<\/code><\/pre>\n<p><strong>\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0438\u0441\u043a\u0430 \u0438 \u0437\u0430\u043c\u0435\u043d\u044b:<\/strong><\/p>\n<pre><code>\/\/ Index - \u043f\u043e\u0437\u0438\u0446\u0438\u044f \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0438 Index('user@example.ru', '@')  \/\/ 5 Index('ABC-DEF-GHI', '-', 2)  \/\/ 8 (\u0432\u0442\u043e\u0440\u043e\u0435 \u0432\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435)  \/\/ \u0418\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435 \u0434\u043e\u043c\u0435\u043d\u0430 email Mid(Email, Index(Email, '@') + 1) as EmailDomain  \/\/ Replace - \u0437\u0430\u043c\u0435\u043d\u0430 \u0442\u0435\u043a\u0441\u0442\u0430 Replace('2024-01-15', '-', '\/')  \/\/ '2025\/01\/01' Replace(Phone, ' ', '')  \/\/ \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u0435\u043b\u043e\u0432 Replace(ProductName, Chr(10), ' ')  \/\/ \u0417\u0430\u043c\u0435\u043d\u0430 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u043e\u0432 \u0441\u0442\u0440\u043e\u043a  \/\/ SubStringCount - \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0439 SubStringCount('A,B,C,D', ',')  \/\/ 3 SubStringCount(Tags, 'Important')  \/\/ \u0421\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u0442\u0435\u0433<\/code><\/pre>\n<p><strong>\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f:<\/strong><\/p>\n<pre><code>\/\/ \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 Upper('Hello')  \/\/ 'HELLO' Lower('Hello')  \/\/ 'hello' Capitalize('hello world')  \/\/ 'Hello World' Proper('JOHN DOE')  \/\/ 'John Doe' (\u0432 QlikView)  \/\/ Trim - \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u0435\u043b\u043e\u0432 Trim('  Hello  ')  \/\/ 'Hello' LTrim('  Hello')  \/\/ 'Hello' (\u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043b\u0435\u0432\u0430) RTrim('Hello  ')  \/\/ 'Hello' (\u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043f\u0440\u0430\u0432\u0430)  \/\/ PurgeChar \/ KeepChar - \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 PurgeChar('A1B2C3', '123')  \/\/ 'ABC' (\u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0446\u0438\u0444\u0440\u044b) KeepChar('A1B2C3', '0123456789')  \/\/ '123' (\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0446\u0438\u0444\u0440\u044b) KeepChar(Phone, '0123456789')  \/\/ \u0422\u043e\u043b\u044c\u043a\u043e \u0446\u0438\u0444\u0440\u044b \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430<\/code><\/pre>\n<p><strong>\u041f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0435 \u0442\u0435\u0445\u043d\u0438\u043a\u0438:<\/strong><\/p>\n<pre><code>\/\/ \u0420\u0430\u0437\u0431\u043e\u0440 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \/\/ \u0418\u043c\u044f \u0438 \u0444\u0430\u043c\u0438\u043b\u0438\u044f SubField('John Doe', ' ', 1) as FirstName  \/\/ 'John' SubField('John Doe', ' ', 2) as LastName   \/\/ 'Doe' SubField('John Doe', ' ', -1) as LastName  \/\/ \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0441\u043b\u043e\u0432\u043e  \/\/ \u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u043f\u0443\u0442\u044f\u043c\u0438 \u0444\u0430\u0439\u043b\u043e\u0432 SubField('C:\\Data\\Files\\Report.xlsx', '\\', -1) as FileName SubField(SubField('Report.xlsx', '.', 1), '\\', -1) as FileNameNoExt  \/\/ \u041c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 Left(CardNumber, 4) &amp; Repeat('*', Len(CardNumber) - 8) &amp; Right(CardNumber, 4) \/\/ '1234********5678'  \/\/ \u0420\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f (\u0447\u0435\u0440\u0435\u0437 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0438\u043b\u0438 Replace) \/\/ \u0418\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435 \u0446\u0438\u0444\u0440 KeepChar(Field, '0123456789')  \/\/ \u0424\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430 If(Len(KeepChar(Phone, '0123456789')) = 10,     '(' &amp; Mid(KeepChar(Phone, '0123456789'), 1, 3) &amp; ') ' &amp;     Mid(KeepChar(Phone, '0123456789'), 4, 3) &amp; '-' &amp;     Mid(KeepChar(Phone, '0123456789'), 7, 4),     Phone)  \/\/ \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u043e\u0432 Concat(     Left(         SubField(CustomerName, ' '),         1     ),     '.' ) &amp; '.' as Initials<\/code><\/pre>\n<p><strong>\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u043c\u0438:<\/strong><\/p>\n<pre><code>\/\/ Chr() - \u0441\u0438\u043c\u0432\u043e\u043b \u043f\u043e \u043a\u043e\u0434\u0443 Chr(10)  \/\/ \u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u0441\u0442\u0440\u043e\u043a\u0438 (LF) Chr(13)  \/\/ \u0412\u043e\u0437\u0432\u0440\u0430\u0442 \u043a\u0430\u0440\u0435\u0442\u043a\u0438 (CR) Chr(9)   \/\/ \u0422\u0430\u0431\u0443\u043b\u044f\u0446\u0438\u044f Chr(39)  \/\/ \u041e\u0434\u0438\u043d\u0430\u0440\u043d\u0430\u044f \u043a\u0430\u0432\u044b\u0447\u043a\u0430 Chr(34)  \/\/ \u0414\u0432\u043e\u0439\u043d\u0430\u044f \u043a\u0430\u0432\u044b\u0447\u043a\u0430  \/\/ Ord() - \u043a\u043e\u0434 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 Ord('A')  \/\/ 65<\/code><\/pre>\n<h4>57. \u041e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u0435 Dual() \u0444\u0443\u043d\u043a\u0446\u0438\u044e<\/h4>\n<p>Dual() &#8212; \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f Qlik, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441 \u0434\u0432\u043e\u0439\u043d\u044b\u043c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c: \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u043c \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u043c \u0434\u043b\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439.<\/p>\n<p><strong>\u0411\u0430\u0437\u043e\u0432\u0430\u044f \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f:<\/strong><\/p>\n<pre><code>Dual(TextValue, NumericValue)  \/\/ \u041f\u0440\u0438\u043c\u0435\u0440\u044b Dual('High', 3)    \/\/ \u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f 'High', \u0441\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a 3 Dual('Medium', 2)  \/\/ \u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f 'Medium', \u0441\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a 2   Dual('Low', 1)     \/\/ \u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f 'Low', \u0441\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a 1  \/\/ \u0412 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0438 Priority: LOAD     OrderID,     Dual(PriorityText, PriorityNum) as Priority FROM Orders;<\/code><\/pre>\n<p><strong>\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435:<\/strong><\/p>\n<pre><code>\/\/ \u041a\u0430\u0441\u0442\u043e\u043c\u043d\u0430\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 MonthDual: LOAD * INLINE [     MonthText, MonthNum     January, 1     February, 2     March, 3     \/\/ \u0438 \u0442.\u0434. ];  \/\/ \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 LOAD     *,     Dual(MonthText, MonthNum) as Month FROM Data;  \/\/ \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u0435\u0441\u044f\u0446\u044b \u0441\u043e\u0440\u0442\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e<\/code><\/pre>\n<p><strong>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u0445:<\/strong><\/p>\n<pre><code>\/\/ \u0426\u0432\u0435\u0442\u043e\u0432\u043e\u0435 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 If(Performance &gt; 0.9, Dual('Excellent', RGB(0,255,0)),    If(Performance &gt; 0.7, Dual('Good', RGB(255,255,0)),       If(Performance &gt; 0.5, Dual('Average', RGB(255,128,0)),          Dual('Poor', RGB(255,0,0)))))  \/\/ \u0414\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u044b Class(Sales, 10000) as SalesRange  \/\/ \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u044b \/\/ \u0418\u043b\u0438 \u0441 Dual \u0434\u043b\u044f \u043b\u0443\u0447\u0448\u0435\u0433\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f If(Sales &lt; 10000, Dual('0-10K', 1),    If(Sales &lt; 50000, Dual('10-50K', 2),       If(Sales &lt; 100000, Dual('50-100K', 3),          Dual('100K+', 4))))<\/code><\/pre>\n<h4>58. \u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 NULL \u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438?<\/h4>\n<p><strong>\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 NULL:<\/strong><\/p>\n<pre><code>\/\/ IsNull() - \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 NULL IsNull(Field)  \/\/ \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 -1 (true) \u0435\u0441\u043b\u0438 NULL, 0 (false) \u0435\u0441\u043b\u0438 \u043d\u0435\u0442  \/\/ \u041f\u0440\u0438\u043c\u0435\u0440\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f If(IsNull(Discount), 0, Discount) as DiscountClean If(Not IsNull(Email), 'Has Email', 'No Email') as EmailStatus Count(If(IsNull(Phone), CustomerID)) as CustomersWithoutPhone  \/\/ Null() - \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0449\u0430\u044f NULL If(Sales &lt; 0, Null(), Sales) as ValidSales<\/code><\/pre>\n<p><strong>\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439:<\/strong><\/p>\n<pre><code>\/\/ Alt() - \u043f\u0435\u0440\u0432\u043e\u0435 \u043d\u0435-NULL \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430 Alt(PreferredPhone, MobilePhone, HomePhone, 'No Phone') as ContactPhone Alt(Discount, 0) as DiscountValue  \/\/ 0 \u0435\u0441\u043b\u0438 Discount is NULL  \/\/ Coalesce() - \u0430\u043d\u0430\u043b\u043e\u0433 SQL COALESCE Coalesce(Email, SecondaryEmail, 'noemail@company.com') as ContactEmail  \/\/ RangeMin\/Max \u0434\u043b\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 RangeMin(Price, 999999) as SafePrice  \/\/ \u0418\u0437\u0431\u0435\u0433\u0430\u0435\u043c NULL \u0432 Min() RangeMax(Discount, 0) as SafeDiscount  \/\/ \u041c\u0438\u043d\u0438\u043c\u0443\u043c 0<\/code><\/pre>\n<p><strong>\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043f\u0443\u0441\u0442\u044b\u0445 \u0441\u0442\u0440\u043e\u043a vs NULL:<\/strong><\/p>\n<pre><code>\/\/ \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u043f\u0443\u0441\u0442\u043e\u0442\u0443 (NULL \u0438\u043b\u0438 \u043f\u0443\u0441\u0442\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430) If(Len(Trim(Field)) = 0, 'Empty', Field) as CleanField  \/\/ \u0420\u0430\u0437\u043b\u0438\u0447\u0435\u043d\u0438\u0435 NULL \u0438 \u043f\u0443\u0441\u0442\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 If(IsNull(Field), 'NULL',    If(Len(Field) = 0, 'Empty String',       Field)) as FieldStatus  \/\/ \u0417\u0430\u043c\u0435\u043d\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \"\u043f\u0443\u0441\u0442\u043e\u0442\u044b\" If(IsNull(Field) or Len(Trim(Field)) = 0 or Field = '-' or Field = 'N\/A',    'No Data',    Field) as StandardizedField<\/code><\/pre>\n<p><strong>\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0434\u0441\u0447\u0435\u0442\u0430 NULL:<\/strong><\/p>\n<pre><code>\/\/ NullCount() - \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e NULL \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 NullCount(Sales) as NullSalesCount  \/\/ MissingCount() - NULL + \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f MissingCount(Sales) as MissingSalesCount  \/\/ \u041f\u0440\u043e\u0446\u0435\u043d\u0442 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u043e\u0441\u0442\u0438 (Count(Sales) \/ Count(CustomerID)) * 100 as SalesCompleteness  \/\/ \u041f\u043e\u043b\u043d\u043e\u0442\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e \u043f\u043e\u043b\u044f\u043c CrossTable(FieldName, Value) LOAD      RecNo() as RowID,     * FROM Data;  DataQuality: LOAD      FieldName,     Count(If(Not IsNull(Value), RowID)) \/ Count(RowID) * 100 as Completeness RESIDENT CrossTableData GROUP BY FieldName;<\/code><\/pre>\n<p><strong>Set Analysis \u0441 NULL:<\/strong><\/p>\n<pre><code>\/\/ \u0418\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 NULL \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 Sum({&lt;Customer={\"*\"}&gt;} Sales)  \/\/ * \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0432\u0441\u0435 \u043d\u0435-NULL \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f  \/\/ \u0422\u043e\u043b\u044c\u043a\u043e NULL \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f (\u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0444\u043b\u0430\u0433) \/\/ \u0412 \u0441\u043a\u0440\u0438\u043f\u0442\u0435: If(IsNull(Region), 1, 0) as IsRegionNull Sum({&lt;IsRegionNull={1}&gt;} Sales)  \/\/ \u041a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f Sum({&lt;Customer={\"*\"}, Product={\"*\"}&gt;} Sales)  \/\/ \u041e\u0431\u0430 \u043f\u043e\u043b\u044f \u043d\u0435 NULL<\/code><\/pre>\n<p><strong>\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u0434\u043b\u044f NULL:<\/strong><\/p>\n<pre><code>\/\/ 1. \u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 NullAsValue CustomerName, ProductName; Set NullValue = 'Unknown';  \/\/ 2. \u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \/\/ \u0418\u0437\u0431\u0435\u0433\u0430\u0439\u0442\u0435: Sum(Sales) \/ Count(Customer) \/\/ \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435: Sum(Sales) \/ RangeMax(Count(Customer), 1)  \/\/ 3. \u042f\u0432\u043d\u0430\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0432 \u0430\u0433\u0440\u0435\u0433\u0430\u0446\u0438\u044f\u0445 Sum(If(Not IsNull(Discount), Sales * (1 - Discount), Sales))  \/\/ 4. \u0412\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 DataValidation: LOAD     'Sales' as Field,     Count(If(IsNull(Sales), 1)) as NullCount,     Count(If(Sales &lt; 0, 1)) as NegativeCount,     Count(If(Sales &gt; 1000000, 1)) as PossibleErrors FROM Transactions;<\/code><\/pre>\n<hr\/>\n<h3>\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c<\/h3>\n<h4>59. \u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 Section Access?<\/h4>\n<p>Section Access &#8212; \u044d\u0442\u043e \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 Qlik \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c \u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c \u0438 \u0434\u0430\u043d\u043d\u044b\u043c \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0441\u0442\u0440\u043e\u043a. \u042d\u0442\u043e \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u044d\u043d\u0442\u0435\u0440\u043f\u0440\u0430\u0439\u0437-\u0440\u0435\u0448\u0435\u043d\u0438\u0439.<\/p>\n<p><strong>\u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430:<\/strong><\/p>\n<pre><code>Section Access; LOAD * INLINE [     ACCESS, USERID, PASSWORD, REGION     ADMIN, ADMIN, admin123, *     USER, USER1, pass1, North     USER, USER2, pass2, South ]; Section Application;<\/code><\/pre>\n<p><strong>\u041a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430:<\/strong><\/p>\n<ul>\n<li>\n<p>\u0412\u0441\u0435 \u043f\u043e\u043b\u044f \u0432 Section Access \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0432 UPPER CASE<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u043b\u044f \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0441 Section Application \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e \u0438\u043c\u0435\u043d\u0430\u043c<\/p>\n<\/li>\n<li>\n<p>\u0417\u0432\u0435\u0437\u0434\u043e\u0447\u043a\u0430 (*) \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043a\u043e \u0432\u0441\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c<\/p>\n<\/li>\n<li>\n<p>ADMIN \u043c\u043e\u0436\u0435\u0442 \u0432\u0438\u0434\u0435\u0442\u044c \u0432\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442<\/p>\n<\/li>\n<li>\n<p>USER \u0432\u0438\u0434\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0440\u0435\u0434\u0443\u043a\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445:<\/strong><\/p>\n<ul>\n<li>\n<p>Initial Data Reduction &#8212; \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0438<\/p>\n<\/li>\n<li>\n<p>Dynamic Data Reduction &#8212; \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f \u0432 runtime<\/p>\n<\/li>\n<li>\n<p>Strict Exclusion &#8212; \u0437\u0430\u043f\u0440\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043f\u0440\u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0438 \u0432 Section Access<\/p>\n<\/li>\n<\/ul>\n<h4>60. \u041a\u0430\u043a\u0438\u0435 \u0443\u0440\u043e\u0432\u043d\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0432 Section Access?<\/h4>\n<p><strong>\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0443\u0440\u043e\u0432\u043d\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430:<\/strong><\/p>\n<ol>\n<li>\n<p><strong>ADMIN<\/strong>: <\/p>\n<ul>\n<li>\n<p>\u041f\u043e\u043b\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043a\u043e \u0432\u0441\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u043c<\/p>\n<\/li>\n<li>\n<p>\u041c\u043e\u0436\u0435\u0442 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438<\/p>\n<\/li>\n<li>\n<p>\u041c\u043e\u0436\u0435\u0442 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c Section Access<\/p>\n<\/li>\n<li>\n<p>\u0412\u0438\u0434\u0438\u0442 \u0432\u0441\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0438 \u043b\u0438\u0441\u0442\u044b<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>USER<\/strong>: <\/p>\n<ul>\n<li>\n<p>\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c<\/p>\n<\/li>\n<li>\n<p>\u041d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442<\/p>\n<\/li>\n<li>\n<p>\u0412\u0438\u0434\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435<\/p>\n<\/li>\n<li>\n<p>\u041c\u043e\u0436\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043e\u0431\u044a\u0435\u043a\u0442\u044b (\u0435\u0441\u043b\u0438 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u043e)<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>NONE<\/strong>: <\/p>\n<ul>\n<li>\n<p>\u042f\u0432\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0430<\/p>\n<\/li>\n<li>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h4>61. \u041e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u0435 Initial Data Reduction<\/h4>\n<p>Initial Data Reduction &#8212; \u044d\u0442\u043e \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0433\u043e \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u0440\u0430\u0432\u0438\u043b Section Access.<\/p>\n<p><strong>\u041a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438:<\/strong><\/p>\n<ul>\n<li>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438 \u0443\u0434\u0430\u043b\u044f\u044e\u0442\u0441\u044f \u043f\u0440\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0438<\/p>\n<\/li>\n<li>\n<p>\u0423\u043c\u0435\u043d\u044c\u0448\u0430\u0435\u0442 \u0440\u0430\u0437\u043c\u0435\u0440 \u0444\u0430\u0439\u043b\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/p>\n<\/li>\n<li>\n<p>\u041d\u0435\u043e\u0431\u0440\u0430\u0442\u0438\u043c\u0430\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0438 binary load<\/p>\n<\/li>\n<\/ul>\n<h4>62. \u041a\u0430\u043a \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0441\u0442\u0440\u043e\u043a \u0438 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432?<\/h4>\n<p><strong>Row Level Security (\u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0441\u0442\u0440\u043e\u043a):<\/strong><\/p>\n<pre><code>Section Access; LOAD * INLINE [     ACCESS, USERID, COUNTRY, PRODUCT     USER, USER1, USA, *     USER, USER2, UK|Germany, Laptops     USER, USER3, *, Phones ]; \/\/ USER1: \u0432\u0441\u0435 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u044b \u0432 USA \/\/ USER2: \u0442\u043e\u043b\u044c\u043a\u043e Laptops \u0432 UK \u0438 Germany \/\/ USER3: \u0442\u043e\u043b\u044c\u043a\u043e Phones \u0432\u043e \u0432\u0441\u0435\u0445 \u0441\u0442\u0440\u0430\u043d\u0430\u0445<\/code><\/pre>\n<p><strong>Column Level Security (\u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432):<\/strong><\/p>\n<pre><code>Section Access; LOAD * INLINE [     ACCESS, USERID, OMIT     USER, USER1, SALARY|BONUS|SSN     USER, USER2, SSN     ADMIN, ADMIN,  ]; \/\/ USER1: \u043d\u0435 \u0432\u0438\u0434\u0438\u0442 SALARY, BONUS, SSN \/\/ USER2: \u043d\u0435 \u0432\u0438\u0434\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e SSN \/\/ ADMIN: \u0432\u0438\u0434\u0438\u0442 \u0432\u0441\u0435 \u043f\u043e\u043b\u044f<\/code><\/pre>\n<p><strong>\u041a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434:<\/strong><\/p>\n<ul>\n<li>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043e\u0431\u0430 \u043c\u0435\u0442\u043e\u0434\u0430 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e<\/p>\n<\/li>\n<li>\n<p>\u0422\u0435\u0441\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u0432\u0441\u0435 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u043c\u0430\u0442\u0440\u0438\u0446\u0443 \u0434\u043e\u0441\u0442\u0443\u043f\u0430<\/p>\n<\/li>\n<\/ul>\n<h4>63. \u041a\u0430\u043a \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0430\u0443\u0434\u0438\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0430?<\/h4>\n<p><strong>\u0412\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b:<\/strong><\/p>\n<ul>\n<li>\n<p><strong>\u041b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435<\/strong>:<\/p>\n<\/li>\n<\/ul>\n<pre><code>\/\/ \u0417\u0430\u043f\u0438\u0441\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0430 LET vUser = OSUser(); LET vTimestamp = Now();  AuditLog: LOAD     '$(vUser)' as UserID,     '$(vTimestamp)' as AccessTime,     DocumentName() as Document,     ComputerName() as Machine AutoGenerate 1;  STORE AuditLog INTO [lib:\/\/Logs\/AuditLog_$(vTimestamp).qvd] (qvd);<\/code><\/pre>\n<ul>\n<li>\n<p><strong>\u041a\u0430\u0441\u0442\u043e\u043c\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435<\/strong>:<\/p>\n<\/li>\n<\/ul>\n<pre><code>\/\/ \u0422\u0430\u0431\u043b\u0438\u0446\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 SUB LogActivity(Action)     ActivityLog:     LOAD         OSUser() as User,         Now() as Timestamp,         '$(Action)' as Action     AutoGenerate 1;          CONCATENATE (ActivityLog)     LOAD * FROM [lib:\/\/Logs\/ActivityLog.qvd] (qvd);          STORE ActivityLog INTO [lib:\/\/Logs\/ActivityLog.qvd] (qvd); END SUB  CALL LogActivity('Data Reload Started');<\/code><\/pre>\n<hr\/>\n<h3>\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f<\/h3>\n<h4>64. \u041a\u0430\u043a\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0432\u0430\u0436\u043d\u044b \u0434\u043b\u044f \u043e\u0446\u0435\u043d\u043a\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438?<\/h4>\n<p><strong>\u041a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438:<\/strong><\/p>\n<ol>\n<li>\n<p><strong>Response Time<\/strong>: <\/p>\n<ul>\n<li>\n<p>\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f &lt; 3 \u0441\u0435\u043a<\/p>\n<\/li>\n<li>\n<p>\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u043a\u043b\u0438\u043a\u0430 \u043d\u0430 \u0432\u044b\u0431\u043e\u0440\u043a\u0443 &lt; 1 \u0441\u0435\u043a<\/p>\n<\/li>\n<li>\n<p>\u0412\u0440\u0435\u043c\u044f \u0440\u0430\u0441\u0447\u0435\u0442\u0430 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439 &lt; 0.5 \u0441\u0435\u043a<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Memory Usage<\/strong>: <\/p>\n<ul>\n<li>\n<p>RAM footprint \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/p>\n<\/li>\n<li>\n<p>Memory per user (concurrent)<\/p>\n<\/li>\n<li>\n<p>Peak memory during reload<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>CPU Utilization<\/strong>: <\/p>\n<ul>\n<li>\n<p>During reload<\/p>\n<\/li>\n<li>\n<p>During user interactions<\/p>\n<\/li>\n<li>\n<p>Calculation time per object<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><strong>\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430:<\/strong><\/p>\n<ol>\n<li>\n<p><strong>Document Analyzer<\/strong> (QlikView): <\/p>\n<ul>\n<li>\n<p>Object calculation times<\/p>\n<\/li>\n<li>\n<p>Memory allocation by table<\/p>\n<\/li>\n<li>\n<p>Expression complexity<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Operations Monitor<\/strong> (Qlik Sense): <\/p>\n<ul>\n<li>\n<p>Session duration<\/p>\n<\/li>\n<li>\n<p>App performance metrics<\/p>\n<\/li>\n<li>\n<p>User concurrency<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Performance Log<\/strong>:<\/p>\n<\/li>\n<\/ol>\n<pre><code>\/\/ \u0412 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 LET vStartTime = Now(); \/\/ ... \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 ... LET vDuration = Interval(Now() - vStartTime, 'hh:mm:ss'); TRACE Load completed in $(vDuration);<\/code><\/pre>\n<h4>65. \u041a\u0430\u043a \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438?<\/h4>\n<p><strong>\u0421\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438:<\/strong><\/p>\n<ol>\n<li>\n<p><strong>\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0445<\/strong>: <\/p>\n<ul>\n<li>\n<p>\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043d\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u043f\u043e\u043b\u0435\u0439<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445 (\u0447\u0438\u0441\u043b\u0430 vs \u0441\u0442\u0440\u043e\u043a\u0438)<\/p>\n<\/li>\n<li>\n<p>\u0414\u0435\u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u0430\u043b\u044b\u0445 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u043e\u0432<\/p>\n<\/li>\n<li>\n<p>\u0418\u0437\u0431\u0435\u0433\u0430\u043d\u0438\u0435 \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u043b\u044e\u0447\u0435\u0439<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Symbol Tables<\/strong>: <\/p>\n<ul>\n<li>\n<p>\u0423\u043c\u0435\u043d\u044c\u0448\u0435\u043d\u0438\u0435 \u043a\u0430\u0440\u0434\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438<\/p>\n<\/li>\n<li>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 AutoNumber() \u0434\u043b\u044f \u043a\u043b\u044e\u0447\u0435\u0439<\/p>\n<\/li>\n<li>\n<p>\u041e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u0435 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u042d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b<\/strong>:<\/p>\n<pre><code>\/\/ \u0412\u043c\u0435\u0441\u0442\u043e timestamp \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u043b\u044f Date(Floor(Timestamp)) as Date, Hour(Timestamp) as Hour  \/\/ \u0412\u043c\u0435\u0441\u0442\u043e \u0434\u043b\u0438\u043d\u043d\u044b\u0445 \u0441\u0442\u0440\u043e\u043a - \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432 int \u043a\u043b\u044e\u0447\u0438 AutoNumber(ProductName &amp; '|' &amp; Category) as ProductKey<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>QVD \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f<\/strong>: <\/p>\n<ul>\n<li>\n<p>\u0418\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430<\/p>\n<\/li>\n<li>\n<p>\u0421\u0435\u0433\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0446<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h4>66. \u041a\u0430\u043a \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f?<\/h4>\n<p><strong>\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u044b:<\/strong><\/p>\n<ol>\n<li>\n<p><strong>Set Analysis vs IF:<\/strong><\/p>\n<\/li>\n<\/ol>\n<pre><code>\/\/ \u041f\u043b\u043e\u0445\u043e Sum(If(Year = 2024, Sales))  \/\/ \u0425\u043e\u0440\u043e\u0448\u043e Sum({&lt;Year={2024}&gt;} Sales)<\/code><\/pre>\n<p><strong>2. \u041f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f:<\/strong><\/p>\n<pre><code>\/\/ \u0412 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 If(OrderDate &gt;= YearStart(Today()), 1, 0) as IsCurrentYear  \/\/ \u0412 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0438 Sum(Sales * IsCurrentYear)<\/code><\/pre>\n<p><strong>3. \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0438\u0445\u0441\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439<\/strong>:<\/p>\n<pre><code>SET vYTDSales = Sum({&lt;Date={\"&gt;=$(=YearStart(Today()))\"}&gt;} Sales); \/\/ \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435: $(vYTDSales)<\/code><\/pre>\n<p><strong>4. \u0418\u0437\u0431\u0435\u0433\u0430\u043d\u0438\u0435 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439<\/strong>: <\/p>\n<ul>\n<li>\n<p>Now(), Today() \u0432 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u0445<\/p>\n<\/li>\n<li>\n<p>Rand() \u0431\u0435\u0437 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438<\/p>\n<\/li>\n<li>\n<p>\u0421\u043b\u043e\u0436\u043d\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438<\/p>\n<\/li>\n<\/ul>\n<h4>67. \u041e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u0435 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044e Calculation Condition<\/h4>\n<p>Calculation Condition \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0442\u044f\u0436\u0435\u043b\u044b\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u043f\u0440\u0438 \u043d\u0435\u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445.<\/p>\n<p><strong>\u041f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435:<\/strong><\/p>\n<pre><code>\/\/ \u0411\u0430\u0437\u043e\u0432\u043e\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 Count(Distinct Customer) &lt; 1000  \/\/ \u0421 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435\u043c \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0435 Calculation condition: GetSelectedCount(Year) &gt; 0 Displayed message: \"Please select at least one year\"  \/\/ \u041a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u044b\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f GetSelectedCount(Product) &lt;= 10 AND  GetPossibleCount(Customer) &lt; 5000  \/\/ \u041e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 Sum(Aggr(1, Customer, Product)) &lt; 100000  \/\/ \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b<\/code><\/pre>\n<h4>68. \u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Qlik?<\/h4>\n<p><strong>\u0422\u0438\u043f\u044b \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f:<\/strong><\/p>\n<ol>\n<li>\n<p><strong>Expression Cache<\/strong>: <\/p>\n<ul>\n<li>\n<p>\u0425\u0440\u0430\u043d\u0438\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439<\/p>\n<\/li>\n<li>\n<p>\u041a\u043b\u044e\u0447: \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 + \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0432\u044b\u0431\u043e\u0440\u043a\u0438<\/p>\n<\/li>\n<li>\n<p>\u041e\u0447\u0438\u0449\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u0432\u044b\u0431\u043e\u0440\u043a\u0438<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Selection Cache<\/strong>: <\/p>\n<ul>\n<li>\n<p>\u041a\u044d\u0448\u0438\u0440\u0443\u0435\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445\/\u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439<\/p>\n<\/li>\n<li>\n<p>\u0423\u0441\u043a\u043e\u0440\u044f\u0435\u0442 \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>QVD Buffer<\/strong>:<\/p>\n<\/li>\n<\/ol>\n<pre><code>Buffer (Expire 7) LOAD * FROM Source; \/\/ \u041a\u044d\u0448\u0438\u0440\u0443\u0435\u0442 \u0432 QVD \u043d\u0430 7 \u0434\u043d\u0435\u0439<\/code><\/pre>\n<p><strong>\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0434\u043b\u044f \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f:<\/strong><\/p>\n<ul>\n<li>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f<\/p>\n<\/li>\n<li>\n<p>\u0418\u0437\u0431\u0435\u0433\u0430\u0439\u0442\u0435 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0432 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u0445<\/p>\n<\/li>\n<li>\n<p>\u0413\u0440\u0443\u043f\u043f\u0438\u0440\u0443\u0439\u0442\u0435 \u043f\u043e\u0445\u043e\u0436\u0438\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u044d\u0448\u0435\u043c:<\/strong><\/p>\n<ul>\n<li>\n<p>\u041f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043e\u0447\u0438\u0449\u0430\u0435\u0442 \u043a\u044d\u0448<\/p>\n<\/li>\n<\/ul>\n<hr\/>\n<h3>\u0411\u043b\u0438\u0446 \u0438 \u043f\u0440\u043e\u0447\u0438\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b<\/h3>\n<h4>69. \u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 Storytelling \u0432 Qlik Sense?<\/h4>\n<p>Storytelling \u2014 \u044d\u0442\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0446\u0438\u0439 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<ol>\n<li>\n<p>\u0421\u043e\u0437\u0434\u0430\u0435\u043c &#171;Story&#187; \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438.<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u043d\u0438\u043c\u043a\u0438 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439 (snapshots).<\/p>\n<\/li>\n<li>\n<p>\u0412\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0442\u0435\u043a\u0441\u0442, \u0441\u0442\u0440\u0435\u043b\u043a\u0438, \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438.<\/p>\n<\/li>\n<\/ol>\n<h4>70. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 QIX Engine?<\/h4>\n<p>QIX Engine \u2014 \u044d\u0442\u043e \u0434\u0432\u0438\u0436\u043e\u043a \u0432 \u043f\u0430\u043c\u044f\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 Qlik Sense.<\/p>\n<ul>\n<li>\n<p>\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 RAM.<\/p>\n<\/li>\n<li>\n<p>\u0418\u043d\u0434\u0435\u043a\u0441\u0438\u0440\u0443\u0435\u0442 \u0438\u0445 \u0434\u043b\u044f \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u043f\u043e\u0438\u0441\u043a\u0430 \u0438 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438.<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u0441\u0432\u044f\u0437\u0438 \u043c\u0435\u0436\u0434\u0443 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438.<\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c: \u043a\u043b\u0438\u043a \u043f\u043e \u0444\u0438\u043b\u044c\u0442\u0440\u0443 \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442 \u0432\u0441\u0435 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438.  <strong>\u041f\u0440\u0438\u043c\u0435\u0440:<\/strong> \u041f\u0440\u0438 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u043f\u043e \u0433\u043e\u0434\u0443 QIX Engine \u0437\u0430 \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434\u044b \u043f\u0435\u0440\u0435\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0432\u0441\u0435 \u0430\u0433\u0440\u0435\u0433\u0430\u0446\u0438\u0438 (\u0441\u0443\u043c\u043c\u044b, \u0441\u0440\u0435\u0434\u043d\u0438\u0435) \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043d\u043e\u0432\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<\/li>\n<\/ul>\n<h4>71. \u041a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e NoConcatenate?<\/h4>\n<p>NoConcatenate \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446 \u0441 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c\u0438 \u043f\u043e\u043b\u044f\u043c\u0438.<\/p>\n<pre><code>Table1: LOAD * INLINE [ID, Value, 1, 100]; Table2: NOCONCATENATE LOAD * INLINE [ID, Value, 2, 200]; \/\/\u0421\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u0434\u0432\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b.<\/code><\/pre>\n<h4>72. \u041a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e match?<\/h4>\n<p>Match \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043f\u043e\u0437\u0438\u0446\u0438\u044e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u0441\u043f\u0438\u0441\u043a\u0435.<\/p>\n<pre><code>Match(Region, 'Europe', 'Asia', 'America') \/\/ \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 1, \u0435\u0441\u043b\u0438 Region = 'Europe'.<\/code><\/pre>\n<h4>73. \u041a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e WildMatch?<\/h4>\n<p>WildMatch \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0448\u0430\u0431\u043b\u043e\u043d\u0443 \u0441 \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043e\u0447\u043d\u044b\u043c\u0438 \u0437\u043d\u0430\u043a\u0430\u043c\u0438.<\/p>\n<pre><code>WildMatch(Product, 'A*', 'B*') \/\/ \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 1 \u0434\u043b\u044f \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432, \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0445\u0441\u044f \u043d\u0430 'A'.<\/code><\/pre>\n<h4>74. \u041a\u0430\u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445?<\/h4>\n<ol>\n<li>\n<p>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u0442\u0435 \u0437\u0430\u0434\u0430\u0447\u0443 \u0432 QlikView Management Console (QMC).<\/p>\n<\/li>\n<li>\n<p>\u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0438 \u043f\u0443\u0442\u044c \u043a QVW-\u0444\u0430\u0439\u043b\u0443. <\/p>\n<\/li>\n<\/ol>\n<h4>75. \u041a\u0430\u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u0432 QlikView?<\/h4>\n<ol>\n<li>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0442\u0440\u0438\u0433\u0433\u0435\u0440 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 (&#171;Document Properties&#187; \u2192 &#171;Triggers&#187;).<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 &#171;Alert&#187; \u0441 \u0443\u0441\u043b\u043e\u0432\u0438\u0435\u043c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, Sum(Sales) &lt; 1000. <strong>\u041f\u0440\u0438\u043c\u0435\u0440:<\/strong> \u0423\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 \u043f\u0430\u0434\u0435\u043d\u0438\u0438 \u043f\u0440\u043e\u0434\u0430\u0436.<\/p>\n<\/li>\n<\/ol>\n<h4>76. \u041a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e AutoNumber \u0432 Qlik Sense?<\/h4>\n<p>AutoNumber \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u0442 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c. \u0415\u0441\u043b\u0438 \u043a\u043b\u044e\u0447 \u0441\u0432\u044f\u0437\u0438 \u043c\u0435\u0436\u0434\u0443 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438 \u0444\u043e\u0440\u043c\u0430\u0442\u0430 string, \u0442\u043e \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u043b\u0443\u0447\u0448\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c AutoNumber \u0434\u043b\u044f \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/p>\n<pre><code>LOAD AutoNumber(OrderID) AS OrderNum FROM Orders.qvd; \/\/ \u0442\u0430\u043a\u043e\u0439 \u043a\u043b\u044e\u0447 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435<\/code><\/pre>\n<h4>77. \u041a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e RecNo?<\/h4>\n<p>RecNo \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u043e\u043c\u0435\u0440 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0435.<\/p>\n<pre><code>LOAD RecNo() AS RecordNumber, * FROM Data.qvd;<\/code><\/pre>\n<h4>78. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Responsive Design \u0432 Qlik Sense?<\/h4>\n<p>Responsive Design \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u0443\u0435\u0442 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043e\u0434 \u0440\u0430\u0437\u043c\u0435\u0440 \u044d\u043a\u0440\u0430\u043d\u0430 (\u041f\u041a, \u043f\u043b\u0430\u043d\u0448\u0435\u0442, \u0442\u0435\u043b\u0435\u0444\u043e\u043d). \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u043d\u043e \u043f\u0440\u0438 \u0436\u0435\u043b\u0430\u043d\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432.<\/p>\n<h4>79. \u041a\u0430\u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0435 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f?<\/h4>\n<ol>\n<li>\n<p>\u042d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438\u0437 QMC \u0432 .qvf.<\/p>\n<\/li>\n<li>\n<p>\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0438\u043b\u0438 \u0432 \u043e\u0431\u043b\u0430\u043a\u0435. <strong>\u041f\u0440\u0438\u043c\u0435\u0440:<\/strong> \u0415\u0436\u0435\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0431\u044d\u043a\u0430\u043f \u0432 \u043f\u0430\u043f\u043a\u0443 Backups.<\/p>\n<\/li>\n<\/ol>\n<h4>80. \u041a\u0430\u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0430\u0443\u0434\u0438\u0442 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0432 Qlik Sense?<\/h4>\n<ol>\n<li>\n<p>\u0412 QMC \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439.<\/p>\n<\/li>\n<li>\n<p>\u0410\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u043b\u043e\u0433-\u0444\u0430\u0439\u043b\u044b \u0432 &#171;Monitoring Apps&#187;. <strong>\u041f\u0440\u0438\u043c\u0435\u0440:<\/strong> \u041e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u0432\u0445\u043e\u0434\u043e\u0432 \u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439.<\/p>\n<\/li>\n<\/ol>\n<h4>81. \u041a\u0430\u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u0432 Qlik Sense?<\/h4>\n<ol>\n<li>\n<p>\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432 \u043f\u043e\u0442\u043e\u043a (Stream).<\/p>\n<\/li>\n<li>\n<p>\u041d\u0430\u0437\u043d\u0430\u0447\u0438\u0442\u044c \u043f\u0440\u0430\u0432\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0432 QMC. <\/p>\n<\/li>\n<\/ol>\n<h4>82. \u041a\u0430\u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438?<\/h4>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c &#171;Operations Monitor&#187; \u0432 QMC \u0438\u043b\u0438 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0441 \u0441\u0430\u0439\u0442\u0430 Qlik.<\/p>\n<h4>83. \u041a\u0430\u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044e \u0441 API?<\/h4>\n<ol>\n<li>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c &#171;REST Connector&#187; \u0432 Data Load Editor.<\/p>\n<\/li>\n<li>\n<p>\u0423\u043a\u0430\u0437\u0430\u0442\u044c URL \u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438.<\/p>\n<\/li>\n<\/ol>\n<h4>84. \u041a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0443\u044e \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0443 \u043e\u0442\u0447\u0435\u0442\u0430 \u0432 Qlik Sense?<\/h4>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Qlik NPrinting \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 Qlik Sense.<\/p>\n<h4>85. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Insights \u0432 Qlik Sense?<\/h4>\n<p>Insights \u2014 \u044d\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0434\u0430\u043d\u043d\u044b\u0445.<strong> <\/strong>\u041d\u0430\u0436\u0438\u043c\u0430\u0435\u043c &#171;Insights&#187; \u0438 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043f\u043e\u043b\u044f \u0434\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430. <strong>\u041f\u0440\u0438\u043c\u0435\u0440:<\/strong> \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0430 \u043f\u0440\u043e\u0434\u0430\u0436 \u043f\u043e \u0440\u0435\u0433\u0438\u043e\u043d\u0430\u043c.<\/p>\n<hr\/>\n<p>\u041d\u0430\u0434\u0435\u044e\u0441\u044c, \u044d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f-\u0448\u043f\u0430\u0440\u0433\u0430\u043b\u043a\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0435\u0437\u043d\u0430 \u0434\u043b\u044f \u0432\u0430\u0441 \u043d\u0430 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f\u0445 \u043d\u0430 \u0432\u0441\u0435 \u043f\u043e\u0437\u0438\u0446\u0438\u0438, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0442\u0430\u043a \u0438\u043b\u0438 \u0438\u043d\u0430\u0447\u0435 \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442\u0441\u044f BI-\u0441\u0438\u0441\u0442\u0435\u043c\u0430 Qlik \u0432\u043e \u0432\u0441\u0435\u0445 \u0435\u0435 \u0432\u0430\u0440\u0438\u0430\u0446\u0438\u044f\u0445. <\/p>\n<p>\u0421\u043f\u0430\u0441\u0438\u0431\u043e, \u0447\u0442\u043e \u0434\u043e\u0448\u043b\u0438 \u0434\u043e \u0441\u0430\u043c\u043e\u0433\u043e \u043a\u043e\u043d\u0446\u0430 \u0438 \u0443\u0434\u0430\u0447\u0438 \u0432\u0430\u043c!  <\/p>\n<p><em>P.S. \u0415\u0441\u043b\u0438 \u0432\u0434\u0440\u0443\u0433 \u0437\u0430\u0445\u043e\u0442\u0438\u0442\u0435 \u0435\u0449\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u0441 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439 BI-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0438 \u0434\u0430\u0442\u0430-\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432, \u0442\u043e \u043c\u0438\u043b\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0448\u0443 \u0432\u0430\u0441 \u0432 \u043c\u043e\u0439 \u0441\u043a\u0440\u043e\u043c\u043d\u044b\u0439 <\/em><a href=\"https:\/\/t.me\/s\/bigdatabig\" rel=\"noopener noreferrer nofollow\"><em>\u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c-\u043a\u0430\u043d\u0430\u043b<\/em><\/a><em> <\/em><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/912504\/\"> https:\/\/habr.com\/ru\/articles\/912504\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<h3>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435<\/h3>\n<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u0410\u043d\u0434\u0440\u0435\u0435\u0432, \u044f \u0441\u0442\u0430\u0440\u0448\u0438\u0439 SRE \u0434\u0430\u0442\u0430-\u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0438 \u0431\u044b\u0432\u0448\u0438\u0439 BI\/DWH-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0441 \u043c\u043d\u043e\u0433\u043e\u043b\u0435\u0442\u043d\u0438\u043c \u043e\u043f\u044b\u0442\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u044b \u0441 BI-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e\u0439 QlikView\/Qlik Sense. \u0412 \u0441\u0432\u043e\u0435\u0439 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435-\u0448\u043f\u0430\u0440\u0433\u0430\u043b\u043a\u0435 \u044f \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441 \u0432\u0430\u043c\u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0441\u0435\u043c\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c\u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u0430\u043c\u0438 \u0438 \u043e\u0442\u0432\u0435\u0442\u0430\u043c\u0438 \u0441 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439 \u043d\u0430 \u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c Qlik-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430. \u0414\u0430\u043d\u043d\u0430\u044f \u0448\u043f\u0430\u0440\u0433\u0430\u043b\u043a\u0430 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e \u0437\u0430\u043a\u0440\u043e\u0435\u0442 99% \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u043d\u0430 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f\u0445 \u043d\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u0438, \u0433\u0434\u0435 \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442\u0441\u044f Qlik \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 BI-\u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u0422\u0430\u043a\u0438\u0445 \u043f\u043e\u0437\u0438\u0446\u0438\u0439 \u0441 \u043a\u0430\u0436\u0434\u044b\u043c \u0433\u043e\u0434\u043e\u043c \u0432\u0441\u0435 \u0431\u043e\u043b\u044c\u0448\u0435, \u043f\u0440\u0438\u0447\u0435\u043c \u0437\u043d\u0430\u043d\u0438\u0435 Qlik \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 BI-\u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u043a\u0430\u043a \u0441 \u0447\u0438\u0441\u0442\u044b\u0445 &#171;\u0431\u0438\u0430\u0439\u0449\u0438\u043a\u043e\u0432&#187;, \u0442\u0430\u043a \u0438 \u0441 \u0434\u0430\u0442\u0430-\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u043d\u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0435\u043d\u044c\u043e\u0440\u0441\u043a\u0438\u0445 \u0438 lead \u043f\u043e\u0437\u0438\u0446\u0438\u044f\u0445.<\/p>\n<p>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u043a \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044e \u043d\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u044e QlikView\/Qlik Sense \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430, \u043d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434, \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0433\u043b\u0443\u0431\u043e\u043a\u043e\u0433\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043a\u0430\u043a \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0439, \u0442\u0430\u043a \u0438 \u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0445 \u0442\u0435\u0445\u043d\u0438\u043a \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e\u0439. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0441\u043e\u0431\u0440\u0430\u043b 85 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0432\u0430\u0436\u043d\u044b\u0445 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043c\u043e\u0433\u0443\u0442 \u0432\u0430\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0437\u043d\u0430\u043d\u0438\u044f \u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u0440\u043e\u0439\u0442\u0438 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e. <\/p>\n<p>\u041a\u0430\u0436\u0434\u044b\u0439 \u043e\u0442\u0432\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435, \u043d\u043e \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u044e\u0442 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0439 Qlik. \u0412\u043e\u043f\u0440\u043e\u0441\u044b \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u043f\u043e \u0442\u0435\u043c\u0430\u043c, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0438 \u043f\u043e\u0441\u0442\u0435\u043f\u0435\u043d\u043d\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u044f \u043a \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u043c \u0430\u0441\u043f\u0435\u043a\u0442\u0430\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438.  <\/p>\n<p>\u0418\u0442\u0430\u043a, \u043f\u043e\u0435\u0445\u0430\u043b\u0438!<\/p>\n<h3>\u0411\u0430\u0437\u043e\u0432\u044b\u0435 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438<\/h3>\n<h4>1. \u0412 \u0447\u0435\u043c \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u044f \u043c\u0435\u0436\u0434\u0443 QlikView \u0438 Qlik Sense?<\/h4>\n<p><strong>\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u044f:<\/strong><\/p>\n<ul>\n<li>\n<p>QlikView \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 &#171;guided analytics&#187; &#8212; \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u044b \u0441 \u043f\u0440\u0435\u0434\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0435\u0439<\/p>\n<\/li>\n<li>\n<p>Qlik Sense \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d \u043d\u0430 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0430\u0445 &#171;self-service BI&#187; &#8212; \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0438 \u0430\u0434\u0430\u043f\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c:<\/strong><\/p>\n<ul>\n<li>\n<p>QlikView \u0438\u043c\u0435\u0435\u0442 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u043b\u0438\u0441\u0442\u043e\u0432 (\u043e\u0431\u044b\u0447\u043d\u043e 1024&#215;768 \u0438\u043b\u0438 \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0439 \u043b\u0438\u0441\u0442)<\/p>\n<\/li>\n<li>\n<p>Qlik Sense \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u044e\u0431\u044b\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0422\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0431\u0430\u0437\u0430:<\/strong><\/p>\n<ul>\n<li>\n<p>QlikView: \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0435 desktop-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441 web-\u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c<\/p>\n<\/li>\n<li>\n<p>Qlik Sense: \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e web-based \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0441 HTML5<\/p>\n<\/li>\n<\/ul>\n<p><strong>API \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u043c\u043e\u0441\u0442\u044c:<\/strong><\/p>\n<ul>\n<li>\n<p>QlikView: \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0447\u0435\u0440\u0435\u0437 \u043c\u0430\u043a\u0440\u043e\u0441\u044b \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f<\/p>\n<\/li>\n<li>\n<p>Qlik Sense: \u043c\u043e\u0449\u043d\u044b\u0439 REST API, WebSocket Engine API, \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 web-\u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438<\/p>\n<\/li>\n<\/ul>\n<h4>2. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u0434\u0430\u043d\u043d\u044b\u0445 Qlik?<\/h4>\n<p>\u0410\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c &#8212; \u044d\u0442\u043e \u0444\u0443\u043d\u0434\u0430\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f, \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0449\u0430\u044f Qlik \u043e\u0442 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0445 BI-\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432. \u0410\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c &#8212; \u044d\u0442\u043e:<\/p>\n<ol>\n<li>\n<p><strong>In-memory \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f<\/strong>: \u0412\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u044e\u0442\u0441\u044f \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u043f\u0430\u043c\u044f\u0442\u044c, \u0447\u0442\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u044b\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f<\/p>\n<\/li>\n<li>\n<p><strong>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u0432\u044f\u0437\u0438<\/strong>: \u0422\u0430\u0431\u043b\u0438\u0446\u044b \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043f\u043e \u043f\u043e\u043b\u044f\u043c \u0441 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c\u0438 \u0438\u043c\u0435\u043d\u0430\u043c\u0438 \u0431\u0435\u0437 \u044f\u0432\u043d\u043e\u0433\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f JOIN<\/p>\n<\/li>\n<li>\n<p><strong>\u0414\u0432\u0443\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0446\u0438\u0438<\/strong>: \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 SQL, \u0433\u0434\u0435 JOIN \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u043e\u0434\u043d\u043e\u043c \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438, \u0437\u0434\u0435\u0441\u044c \u0441\u0432\u044f\u0437\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0432 \u043e\u0431\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u044b<\/p>\n<\/li>\n<\/ol>\n<p><strong>\u0426\u0432\u0435\u0442\u043e\u0432\u0430\u044f \u0438\u043d\u0434\u0438\u043a\u0430\u0446\u0438\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439 \u0441\u0432\u044f\u0437\u0435\u0439:<\/strong><\/p>\n<ul>\n<li>\n<p><strong>\u0417\u0435\u043b\u0435\u043d\u044b\u0439<\/strong> (Selected): \u0410\u043a\u0442\u0438\u0432\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f<\/p>\n<\/li>\n<li>\n<p><strong>\u0411\u0435\u043b\u044b\u0439<\/strong> (Possible): \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0434\u043b\u044f \u0432\u044b\u0431\u043e\u0440\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u043e\u0439<\/p>\n<\/li>\n<li>\n<p><strong>\u0421\u0435\u0440\u044b\u0439<\/strong> (Excluded): \u0418\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u043d\u0435 \u0438\u043c\u0435\u044e\u0449\u0438\u0435 \u0441\u0432\u044f\u0437\u0438 \u0441 \u0432\u044b\u0431\u043e\u0440\u043a\u043e\u0439<\/p>\n<\/li>\n<li>\n<p><strong>\u0421\u0432\u0435\u0442\u043b\u043e-\u0441\u0435\u0440\u044b\u0439<\/strong> (Alternative): \u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u0442\u043e\u043c \u0436\u0435 \u043f\u043e\u043b\u0435<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440:<\/strong><\/p>\n<pre><code>\u0415\u0441\u043b\u0438 \u0432 \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u0435 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \"2024\" \u0432 \u043f\u043e\u043b\u0435 Year: - \u0412\u0441\u0435 \u043f\u0440\u043e\u0434\u0430\u0436\u0438 2024 \u0433\u043e\u0434\u0430 \u0441\u0442\u0430\u043d\u0443\u0442 \u0431\u0435\u043b\u044b\u043c\u0438 (\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f) - \u041a\u043b\u0438\u0435\u043d\u0442\u044b, \u043a\u0443\u043f\u0438\u0432\u0448\u0438\u0435 \u0432 2024, \u0441\u0442\u0430\u043d\u0443\u0442 \u0431\u0435\u043b\u044b\u043c\u0438 - \u041f\u0440\u043e\u0434\u0443\u043a\u0442\u044b, \u043f\u0440\u043e\u0434\u0430\u043d\u043d\u044b\u0435 \u0432 2024, \u0441\u0442\u0430\u043d\u0443\u0442 \u0431\u0435\u043b\u044b\u043c\u0438 - \u0414\u0430\u043d\u043d\u044b\u0435 \u0434\u0440\u0443\u0433\u0438\u0445 \u043b\u0435\u0442 \u0441\u0442\u0430\u043d\u0443\u0442 \u0441\u0435\u0440\u044b\u043c\u0438 (\u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f)<\/code><\/pre>\n<h4>3. \u041a\u0430\u043a\u0438\u0435 \u0442\u0438\u043f\u044b \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0439 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0432 Qlik Sense?<\/h4>\n<p>\u041f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0430\u0436\u043d\u043e \u0434\u043b\u044f \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0438 \u0431\u044e\u0434\u0436\u0435\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0432 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438, \u0433\u0434\u0435 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c Qlik. \u041d\u0430 \u043c\u043e\u0435\u043c \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u043c\u0435\u0441\u0442\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0432\u0438\u0434\u0430 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 \u0434\u043b\u044f \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u043e\u0431\u043e\u0441\u043d\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0440\u0443\u0447\u043d\u043e. \u0418\u0442\u0430\u043a, \u0432\u043e\u0442 \u043a\u0430\u043a\u0438\u0435 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 \u0435\u0441\u0442\u044c \u0443 \u041a\u043b\u0438\u043a\u0430:<\/p>\n<p><strong>User-based \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438:<\/strong><\/p>\n<ol>\n<li>\n<p><strong>Professional<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439<\/p>\n<\/li>\n<li>\n<p>\u041f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u0432 \u0441\u0442\u0440\u0438\u043c\u0430\u0445<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u043b\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043a Data Load Editor<\/p>\n<\/li>\n<li>\n<p>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0430\u043c\u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Analyzer<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u0414\u043e\u0441\u0442\u0443\u043f \u0442\u043e\u043b\u044c\u043a\u043e \u043a \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c<\/p>\n<\/li>\n<li>\n<p>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0437\u0430\u043a\u043b\u0430\u0434\u043e\u043a \u0438 \u0438\u0441\u0442\u043e\u0440\u0438\u0439<\/p>\n<\/li>\n<li>\n<p>\u0411\u0430\u0437\u043e\u0432\u044b\u0435 self-service \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 (\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439 \u0432 \u043b\u0438\u0441\u0442\u0430\u0445)<\/p>\n<\/li>\n<li>\n<p>\u041d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><strong>Capacity-based \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438:<\/strong><\/p>\n<ol start=\"3\">\n<li>\n<p><strong>Analyzer Capacity<\/strong>: <\/p>\n<ul>\n<li>\n<p>\u041f\u0443\u043b \u043c\u0438\u043d\u0443\u0442 \u0434\u043b\u044f \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0445 \u0438\u043b\u0438 \u043d\u0435\u0447\u0430\u0441\u0442\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439<\/p>\n<\/li>\n<li>\n<p>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430<\/p>\n<\/li>\n<li>\n<p>\u0418\u0434\u0435\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0433\u0440\u0443\u043f\u043f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0441 \u0440\u0435\u0434\u043a\u0438\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c<\/p>\n<\/li>\n<li>\n<p>\u041c\u0438\u043d\u0443\u0442\u044b \u043d\u0435 \u0441\u0433\u043e\u0440\u0430\u044e\u0442 \u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043f\u0435\u0440\u0438\u043e\u0434<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><strong>Token \u043f\u043e\u0434\u0445\u043e\u0434:<\/strong><\/p>\n<ul>\n<li>\n<p>\u0412\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u0441\u0435\u0441\u0441\u0438\u0439<\/p>\n<\/li>\n<li>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f embedded analytics<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 API<\/p>\n<\/li>\n<\/ul>\n<h4>4. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 QVD \u0444\u0430\u0439\u043b \u0438 \u043a\u0430\u043a\u043e\u0432\u044b \u0435\u0433\u043e \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430?<\/h4>\n<p>QVD (QlikView Data) \u0444\u0430\u0439\u043b\u044b &#8212; \u044d\u0442\u043e \u043e\u0441\u043e\u0431\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0441\u0436\u0430\u0442\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Qlik.<\/p>\n<p><strong>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 QVD:<\/strong><\/p>\n<ul>\n<li>\n<p>XML \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0441 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u043c\u0438 (\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u0430\u043f\u0438\u0441\u0435\u0439)<\/p>\n<\/li>\n<li>\n<p>\u0411\u0438\u043d\u0430\u0440\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0441\u0436\u0430\u0442\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435<\/p>\n<\/li>\n<li>\n<p>\u0421\u0438\u043c\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0434\u043b\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0442\u0435\u043a\u0441\u0442\u0430<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430:<\/strong><\/p>\n<ol>\n<li>\n<p><strong>\u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u0412 10-100 \u0440\u0430\u0437 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0434\u0440\u0443\u0433\u0438\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432<\/p>\n<\/li>\n<li>\n<p>\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043f\u0440\u0438 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 WHERE \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440: 10 \u043c\u043b\u043d \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0438\u0437 QVD \u0433\u0440\u0443\u0437\u044f\u0442\u0441\u044f \u0432 Qlik 5 \u0441\u0435\u043a\u0443\u043d\u0434, \u0430 \u0438\u0437 \u0411\u0414 &#8212; 5 \u043c\u0438\u043d\u0443\u0442<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u041a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u0438\u044f<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u0421\u0436\u0430\u0442\u0438\u0435 \u0434\u043e 90% \u043e\u0442 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430<\/p>\n<\/li>\n<li>\n<p>\u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0434\u043b\u044f \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0438\u0445\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439<\/p>\n<\/li>\n<li>\n<p>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0442\u0438\u043f\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>QVD \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u044b \u0434\u043b\u044f \u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438<\/strong>:<\/p>\n<\/li>\n<\/ol>\n<pre><code>\/\/ \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u043e\u0432\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 NewData: LOAD * FROM Database WHERE ModifiedDate &gt; '$(vLastLoadDate)';  \/\/ \u041e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 Concatenate (NewData) LOAD * FROM Historical.qvd (qvd) WHERE NOT Exists(ID);  \/\/ \u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0433\u043e QVD STORE NewData INTO Historical.qvd (qvd);<\/code><\/pre>\n<p>\u0410 \u0435\u0449\u0435 QVD \u043d\u0443\u0436\u043d\u044b \u0434\u043b\u044f:<\/p>\n<ul>\n<li>\n<p>\u0421\u043d\u0438\u0436\u0435\u043d\u0438\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445<\/p>\n<\/li>\n<li>\n<p>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u0438 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u0438 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445<\/p>\n<\/li>\n<li>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0442\u0430\u043a\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u043d\u0435\u0442<\/p>\n<\/li>\n<\/ul>\n<h4>5. \u041e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u0435 \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u043b\u044e\u0447\u0435\u0439<\/h4>\n<p>\u0421\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043a\u043b\u044e\u0447\u0438 &#8212; \u044d\u0442\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c Qlik \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0441\u0432\u044f\u0437\u0435\u0439 \u043c\u0435\u0436\u0434\u0443 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438. \u0412\u0430\u0436\u043d\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u043a\u043e\u0433\u0434\u0430 \u043e\u043d\u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0442 \u0438 \u043a\u0430\u043a \u0441 \u043d\u0438\u043c\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c.<\/p>\n<p><strong>\u041c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u044f:<\/strong><\/p>\n<p>\u041a\u043e\u0433\u0434\u0430 \u0434\u0432\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0438\u043c\u0435\u044e\u0442 \u0434\u0432\u0430 \u0438\u043b\u0438 \u0431\u043e\u043b\u0435\u0435 \u043e\u0431\u0449\u0438\u0445 \u043f\u043e\u043b\u044f, Qlik \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0441\u043a\u0440\u044b\u0442\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0441 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u043e\u043c $Syn:<\/p>\n<pre><code>\/\/ \u0422\u0430\u0431\u043b\u0438\u0446\u0430 Orders OrderID, CustomerID, ProductID, OrderDate  \/\/ \u0422\u0430\u0431\u043b\u0438\u0446\u0430 Shipments   ShipmentID, CustomerID, ProductID, ShipDate  \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: $Syn1 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0430\u044f CustomerID+ProductID<\/code><\/pre>\n<p><strong>\u041f\u043e\u0447\u0435\u043c\u0443 \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043a\u043b\u044e\u0447\u0438 &#8212; \u044d\u0442\u043e \u043f\u043b\u043e\u0445\u043e \u0434\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f?<\/strong><\/p>\n<ol>\n<li>\n<p><strong>\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c<\/strong>: \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0445<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u0430\u043c\u044f\u0442\u044c<\/strong>: \u0425\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0439 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u044b\u043c<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435<\/strong>: \u0423\u0441\u043b\u043e\u0436\u043d\u044f\u0435\u0442 \u043b\u043e\u0433\u0438\u043a\u0443<\/p>\n<\/li>\n<li>\n<p><strong>\u041d\u0435\u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u043e\u0441\u0442\u044c<\/strong>: \u041c\u043e\u0433\u0443\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0442\u044c \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u044b\u0435 \u0441\u0432\u044f\u0437\u0438 \u0438 \u0446\u0438\u043a\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u0441\u044b\u043b\u043a\u0438<\/p>\n<\/li>\n<\/ol>\n<p><strong>\u0420\u0435\u0448\u0435\u043d\u0438\u044f:<\/strong><\/p>\n<pre><code>\/\/ \u0421\u043f\u043e\u0441\u043e\u0431 1: \u0421\u043e\u0441\u0442\u0430\u0432\u043d\u043e\u0439 \u043a\u043b\u044e\u0447 Orders: LOAD      OrderID,     CustomerID &amp; '|' &amp; ProductID as Key,     OrderDate FROM ...;  \/\/ \u0421\u043f\u043e\u0441\u043e\u0431 2: \u041f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u043b\u0435\u0439 Orders: LOAD      OrderID,     CustomerID as Order_CustomerID,     ProductID as Order_ProductID,     OrderDate FROM ...;  \/\/ \u0421\u043f\u043e\u0441\u043e\u0431 3: \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043b\u0438\u0448\u043d\u0438\u0445 \u043f\u043e\u043b\u0435\u0439 DROP Field ProductID FROM Shipments;<\/code><\/pre>\n<h4>6. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0446\u0438\u043a\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u0441\u044b\u043b\u043a\u0438?<\/h4>\n<p>\u0426\u0438\u043a\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u0441\u044b\u043b\u043a\u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0442, \u043a\u043e\u0433\u0434\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441\u0432\u044f\u0437\u0430\u043d\u044b \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0447\u0442\u043e \u0431\u0443\u043a\u0432\u0430\u043b\u044c\u043d\u043e \u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442\u0441\u044f \u0437\u0430\u043c\u043a\u043d\u0443\u0442\u044b\u0439 \u043a\u0440\u0443\u0433 \u043d\u0430 \u0441\u0445\u0435\u043c\u0435 \u0434\u0430\u043d\u043d\u044b\u0445. \u042d\u0442\u043e \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0440\u0435\u0448\u0430\u0442\u044c.<\/p>\n<p><strong>\u041f\u043e\u0447\u0435\u043c\u0443 Qlik \u043d\u0435 \u0434\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u0446\u0438\u043a\u043b\u044b:<\/strong><\/p>\n<ul>\n<li>\n<p>\u041d\u0435\u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e\u0441\u0442\u044c \u043f\u0443\u0442\u0435\u0439 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0434\u0432\u0438\u0436\u043a\u0430<\/p>\n<\/li>\n<li>\n<p>\u0411\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0435 \u0446\u0438\u043a\u043b\u044b \u043f\u0440\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f\u0445<\/p>\n<\/li>\n<li>\n<p>\u041d\u0435\u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u044b\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0430\u0433\u0440\u0435\u0433\u0430\u0446\u0438\u0439<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041c\u0435\u0442\u043e\u0434\u044b \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f:<\/strong><\/p>\n<ol>\n<li>\n<p>Table Viewer \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043a\u0440\u0430\u0441\u043d\u044b\u0435 \u043b\u0438\u043d\u0438\u0438 (\u0432 \u0431\u043e\u043b\u0435\u0435 \u0440\u0430\u043d\u043d\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 Qlik \u043d\u0430 \u0441\u0445\u0435\u043c\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0438\u0434\u0435\u043d \u0446\u0438\u043a\u043b)<\/p>\n<\/li>\n<li>\n<p>\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0435 \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435<\/p>\n<\/li>\n<li>\n<p>$Syn \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0447\u0430\u0441\u0442\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043d\u0430 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0446\u0438\u043a\u043b\u044b<\/p>\n<\/li>\n<\/ol>\n<p><strong>\u0421\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u044f:<\/strong><\/p>\n<pre><code>\/\/ 1. \u0420\u0430\u0437\u0440\u044b\u0432 \u0446\u0438\u043a\u043b\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 QUALIFY, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u043e\u043b\u0435\u0439 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0434\u0432\u0438\u0436\u043a\u0430 QUALIFY CustomerID; LOAD * FROM Regions; UNQUALIFY CustomerID;  \/\/ 2. Link Table - \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443 LinkTable: LOAD DISTINCT     OrderID,     CustomerID,     RegionID FROM Orders;  \/\/ 3. \u0414\u0435\u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f Orders: LOAD      o.*,     c.CustomerName,     r.RegionName FROM Orders o LEFT JOIN Customers c ON o.CustomerID = c.CustomerID LEFT JOIN Regions r ON c.RegionID = r.RegionID;<\/code><\/pre>\n<h4>7. \u041a\u0430\u043a\u0438\u0435 \u0440\u0435\u0436\u0438\u043c\u044b \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0432 Qlik?<\/h4>\n<p>\u041f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439 \u0434\u0430\u043d\u043d\u044b\u0445 \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u043e \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0446\u0438\u0438 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439 \u0438 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u043b\u043e\u0433\u0438\u043a\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439.<\/p>\n<p><strong>\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f:<\/strong><\/p>\n<ol>\n<li>\n<p><strong>Selected (\u0412\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0435)<\/strong> &#8212; \u0417\u0435\u043b\u0435\u043d\u044b\u0439 \u0446\u0432\u0435\u0442:<\/p>\n<ul>\n<li>\n<p>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u044f\u0432\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c<\/p>\n<\/li>\n<li>\n<p>\u0410\u043a\u0442\u0438\u0432\u043d\u0430\u044f \u0432\u044b\u0431\u043e\u0440\u043a\u0430, \u0432\u043b\u0438\u044f\u044e\u0449\u0430\u044f \u043d\u0430 \u0432\u0441\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f<\/p>\n<\/li>\n<li>\n<p>\u041c\u043e\u0436\u043d\u043e \u043e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0447\u0435\u0440\u0435\u0437 Clear \u0438\u043b\u0438 Back<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Possible (\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435)<\/strong> &#8212; \u0411\u0435\u043b\u044b\u0439 \u0446\u0432\u0435\u0442:<\/p>\n<ul>\n<li>\n<p>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u043e\u0439<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0434\u043b\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u044b\u0431\u043e\u0440\u0430<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 &#171;\u0447\u0442\u043e \u0435\u0449\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c&#187;<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Excluded (\u0418\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0435)<\/strong> &#8212; \u0421\u0435\u0440\u044b\u0439 \u0446\u0432\u0435\u0442:<\/p>\n<ul>\n<li>\n<p>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0431\u0435\u0437 \u0441\u0432\u044f\u0437\u0438 \u0441 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u043e\u0439<\/p>\n<\/li>\n<li>\n<p>\u041d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0434\u043b\u044f \u0432\u044b\u0431\u043e\u0440\u0430 \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435<\/p>\n<\/li>\n<li>\n<p>\u0418\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440 &#171;\u0447\u0442\u043e \u043e\u0442\u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u0430\u043d\u043e&#187;<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Alternative (\u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0435)<\/strong> &#8212; \u0421\u0432\u0435\u0442\u043b\u043e-\u0441\u0435\u0440\u044b\u0439:<\/p>\n<ul>\n<li>\n<p>\u0414\u0440\u0443\u0433\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u0442\u043e\u043c \u0436\u0435 \u043f\u043e\u043b\u0435, \u0433\u0434\u0435 \u0435\u0441\u0442\u044c \u0432\u044b\u0431\u043e\u0440\u043a\u0430<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0432\u044b\u0431\u043e\u0440\u0430<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u043c\u043e\u0433\u0430\u044e\u0442 \u043f\u043e\u043d\u044f\u0442\u044c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0432\u044b\u0431\u043e\u0440\u043a\u0438<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><strong>\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0432 Qlik Sense:<\/strong><\/p>\n<ul>\n<li>\n<p><strong>Selected Excluded<\/strong> &#8212; \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0435, \u043d\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0435 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0432\u044b\u0431\u043e\u0440\u043a\u0430\u043c\u0438<\/p>\n<\/li>\n<li>\n<p><strong>Locked<\/strong> &#8212; \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f<\/p>\n<\/li>\n<\/ul>\n<h4>8. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Master Items \u0432 Qlik Sense?<\/h4>\n<p>Master Items &#8212; \u044d\u0442\u043e \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0449\u0430\u044f \u043a\u043e\u043d\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u044c \u0438 \u0443\u043f\u0440\u043e\u0449\u0430\u044e\u0449\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u041d\u0435 \u0441\u0442\u043e\u0438\u0442 \u0434\u0435\u043b\u0430\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043d\u044b\u0445 \u043c\u0435\u0440 \u0438 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0439 &#8212; \u043b\u0443\u0447\u0448\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043c\u0430\u0441\u0442\u0435\u0440-\u043c\u0435\u0440\u044b \u0438 \u043c\u0430\u0441\u0442\u0435\u0440-\u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f.<\/p>\n<p><strong>\u0422\u0438\u043f\u044b Master Items:<\/strong><\/p>\n<p><strong>Master Dimensions (\u041c\u0430\u0441\u0442\u0435\u0440-\u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f)<\/strong>:<\/p>\n<pre><code>\/\/ \u041f\u0440\u043e\u0441\u0442\u043e\u0435 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0435 ProductCategory  \/\/ \u0412\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u043c\u043e\u0435 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0435   =If(Sales &gt; 1000, 'High', 'Low')  \/\/ Drill-down \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0435 Country &gt; Region &gt; City<\/code><\/pre>\n<p><strong>Master Measures (\u041c\u0430\u0441\u0442\u0435\u0440-\u043c\u0435\u0440\u044b)<\/strong>:<\/p>\n<pre><code>\/\/ \u0421 \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0438 \u0446\u0432\u0435\u0442\u043e\u043c Sum(Sales)  \/\/ Number formatting: #,##0 \/\/ Color: rgb(77,166,255)  \/\/ \u0421 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430\u043c\u0438 Sum({&lt;Year={$(vCurrentYear)}&gt;} Sales)<\/code><\/pre>\n<p><strong>Master Visualizations<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0435 \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u044b \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u043d\u0435\u043e\u0434\u043d\u043e\u043a\u0440\u0430\u0442\u043d\u043e<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438 \u043c\u0430\u0441\u0442\u0435\u0440-\u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043e\u0431\u043d\u043e\u0432\u044f\u0442\u0441\u044f \u0432\u0441\u0435 \u0435\u0435 \u043a\u043e\u043f\u0438\u0438 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u0430\u0441\u0442\u0435\u0440-\u0430\u0439\u0442\u0435\u043c\u043e\u0432:<\/strong><\/p>\n<ul>\n<li>\n<p><strong>\u041a\u043e\u043d\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u044c<\/strong>: \u041e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0432\u043e \u0432\u0441\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430<\/strong>: \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0432 \u043e\u0434\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442 \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u0441\u0442\u0435\u0440-\u0430\u0439\u0442\u0435\u043c\u044b<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435<\/strong>: \u042d\u043a\u043e\u043d\u043e\u043c\u0438\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438<\/p>\n<\/li>\n<li>\n<p><strong>\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/strong>: \u041a\u0430\u0436\u0434\u044b\u0439 \u043c\u0430\u0441\u0442\u0435\u0440-\u0430\u0439\u0442\u0435\u043c \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0438 \u043d\u0435\u0433\u043e<\/p>\n<\/li>\n<\/ul>\n<h4>9. \u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Qlik?<\/h4>\n<p><strong>\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0440\u0430\u0437\u043d\u044b\u0435 \u0443\u0440\u043e\u0432\u043d\u0438 \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f:<\/strong><\/p>\n<ol>\n<li>\n<p><strong>Result Cache (\u041a\u044d\u0448 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432)<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u0425\u0440\u0430\u043d\u0438\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439<\/p>\n<\/li>\n<li>\n<p>\u041a\u043b\u044e\u0447 \u043a\u044d\u0448\u0430: \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 + \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0432\u044b\u0431\u043e\u0440\u043a\u0438<\/p>\n<\/li>\n<li>\n<p>\u041e\u0447\u0438\u0449\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u0432\u044b\u0431\u043e\u0440\u043a\u0438<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Associative Cache (\u0410\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u043a\u044d\u0448)<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u041a\u044d\u0448\u0438\u0440\u0443\u0435\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f possible\/excluded<\/p>\n<\/li>\n<li>\n<p>\u0423\u0441\u043a\u043e\u0440\u044f\u0435\u0442 \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044e \u043f\u043e \u043c\u043e\u0434\u0435\u043b\u0438<\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Calculation <\/strong><\/p>\n<\/li>\n<\/ol>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-461007","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/461007","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=461007"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/461007\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=461007"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=461007"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=461007"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}