<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Data Analytics &#8211; Abylon</title>
	<atom:link href="https://www.abylon.hu/category/data-analytics/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.abylon.hu</link>
	<description>Data Analytics, BI &#38; Collaboration for modern enterprises - Abylon Consulting</description>
	<lastBuildDate>Mon, 15 Apr 2024 09:52:54 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>

<image>
	<url>https://www.abylon.hu/wp-content/uploads/2020/04/cropped-abylon_favicon-32x32.jpg</url>
	<title>Data Analytics &#8211; Abylon</title>
	<link>https://www.abylon.hu</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Data warehouse project using the Abylon Rapid Platform</title>
		<link>https://www.abylon.hu/blog/data-warehouse-project-using-the-abylon-rapid-platform/</link>
		
		<dc:creator><![CDATA[Zoltán Zicherman]]></dc:creator>
		<pubDate>Wed, 04 Oct 2023 10:32:50 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Data Analytics]]></category>
		<category><![CDATA[Rapid Platform]]></category>
		<category><![CDATA[Abylon]]></category>
		<guid isPermaLink="false">https://www.abylon.hu/?p=14437</guid>

					<description><![CDATA[<p>The story of how a junior BI consultant with minimal work experience build a complete data warehouse, data marketplace and populated it with data all within 3 weeks using the Abylon Rapid Platform.</p>
<p>The post <a rel="nofollow" href="https://www.abylon.hu/blog/data-warehouse-project-using-the-abylon-rapid-platform/">Data warehouse project using the Abylon Rapid Platform</a> appeared first on <a rel="nofollow" href="https://www.abylon.hu">Abylon</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="14437" class="elementor elementor-14437" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-bf9fc42 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="bf9fc42" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5af6123" data-id="5af6123" data-element_type="column">
			<div class="elementor-widget-wrap">
							</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-5801c5e elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="5801c5e" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-d1d515c" data-id="d1d515c" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-b427cc7 elementor-widget elementor-widget-heading" data-id="b427cc7" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h1 class="elementor-heading-title elementor-size-default">Automated SQL Data Warehouse project done in 3 weeks with minimal prior experience</h1>				</div>
				</div>
				<div class="elementor-element elementor-element-393ac8b elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="393ac8b" data-element_type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
							<div class="elementor-divider">
			<span class="elementor-divider-separator">
						</span>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-260df41 elementor-widget elementor-widget-image" data-id="260df41" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img fetchpriority="high" decoding="async" width="1000" height="503" src="https://www.abylon.hu/wp-content/uploads/2023/07/abylon-adattarhaz-fejlesztes.jpg" class="attachment-full size-full wp-image-13788" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2023/07/abylon-adattarhaz-fejlesztes.jpg 1000w, https://www.abylon.hu/wp-content/uploads/2023/07/abylon-adattarhaz-fejlesztes-300x151.jpg 300w, https://www.abylon.hu/wp-content/uploads/2023/07/abylon-adattarhaz-fejlesztes-768x386.jpg 768w" sizes="(max-width: 1000px) 100vw, 1000px" />															</div>
				</div>
				<div class="elementor-element elementor-element-8b2f5d0 elementor-widget elementor-widget-spacer" data-id="8b2f5d0" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-70b7aed elementor-widget elementor-widget-heading" data-id="70b7aed" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Data warehouse implementation - easier than expected</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-07f7cf4 elementor-widget elementor-widget-text-editor" data-id="07f7cf4" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>As a junior BI consultant with 10 months of work experience, I was given the task to build a complete data warehouse, data marketplace and populate it with data.</p><p>Considering that I had little experience in the field, this task promised to be a time and energy consuming challenge. I did have some help from a senior colleague who monitored and supported me during the process, but this did not change the fact that I had to understand and complete a complex process without any prior experience.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-44008fe elementor-widget elementor-widget-text-editor" data-id="44008fe" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>All I had to do was:</p><ul><li>understand the steps of the process,</li><li>define the structure of the data warehouse, the objects to be fetched from the source system,</li><li>and put them into a simple Excel-based configuration file.</li></ul>								</div>
				</div>
				<div class="elementor-element elementor-element-4782e7c elementor-widget elementor-widget-text-editor" data-id="4782e7c" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>By setting up the configuration file properly, the creation of the new data warehouse could be almost completely automated. </p><p>The parameters I needed to set up the configuration were the availability of the different source systems, the objects to be fetched from them, any changes to the objects (e.g. columns of a table, data type of a field, name), how they are loaded, how they are historized and other optional parameters, the steps of the ETL processes that load the data, and the availability of the target system. Having all this in one place allowed me to quickly check and modify the structure if changes were needed.</p><p>After definig the metadata, the Rapid Platform was able to automatically create the different database layers (stage, data warehouse, data marketplace), by running a PowerShell command, on the specified target server, which in my case was an MS SQL database server.</p><p>The benefit of the solution lies not only in the ease of use for Business Intelligence developers, but also in the significant time saving (and therefore cost reduction) that it brings. The time and energy freed up through the automations could be spent on deeper analysis of the task and the data, and through that on tasks that actually create business value, such as designing and refining the right data model and subsequently producing analytical reports on those models.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-d604f3c elementor-align-left elementor-widget elementor-widget-button" data-id="d604f3c" data-element_type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
									<div class="elementor-button-wrapper">
					<a class="elementor-button elementor-button-link elementor-size-md elementor-animation-grow" href="https://www.abylon.hu/solutions/data-warehouse-automation/">
						<span class="elementor-button-content-wrapper">
									<span class="elementor-button-text">MORE ON DWH AUTOMATON</span>
					</span>
					</a>
				</div>
								</div>
				</div>
				<div class="elementor-element elementor-element-6e25a89 elementor-widget elementor-widget-heading" data-id="6e25a89" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">A few words about the environment</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-a876e04 elementor-widget elementor-widget-text-editor" data-id="a876e04" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>In a Microsoft stack-based development environment, a data warehouse automation solution can be easily implemented with the Abylon Rapid Platform. </p>								</div>
				</div>
				<div class="elementor-element elementor-element-a884c5f elementor-widget elementor-widget-text-editor" data-id="a884c5f" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									Quick overview of process of generating a data warehouse and the software used during the project:</br></br>

<ol>
 	<li>Using MS Visual Studio, the configuration files for the data structure, the server connections and the project environments, can be easily accessed and modified. There is also a configuration file that stores the connections and environments.</li></br>
 	<li>After loading a specific tool from the Rapid platform, I used a simple PowerShell command to generate the files defining the STAGE, DWH layers as part of the solution.</li></br>
 	<li>After creating the build in Visual Studio, running another Rapid Platform command, the given data model structure is deployed to the given SQL server (if the connections are defined correctly). I then created the different OLAP models, which I could build in Visual Studio as well as in Tabular editor. I could then deploy this to an Analysis Services server using an separate command.</li></br>
 	<li>After that, I only needed to transfer the data. The “how” I already defined in the configuration file. The stored procedures for transferring data from the STAGE layer to the DWH layer were automatically generated. The invocation of these stored procedures can be simply added as &#8220;execution plan items&#8221; to the configuration file as part of various &#8220;Execution Plans&#8221; that can be easily invoked and scheduled by a SQL job. The manually created stored procedures that fill the DM layer can also be added to the part defining the ETL process inside the configuration file and then can be run as part of the &#8220;Execution Plan&#8221; when runing the SQL job. This allows the loading of the entire data warehouse with a single job execution.</li>
</ol>
</li>
</ol>								</div>
				</div>
				<div class="elementor-element elementor-element-6ca25da elementor-widget elementor-widget-text-editor" data-id="6ca25da" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>This created an automatically updating data warehouse with the necessary data historization available, as well as the OLAP cubes. After connecting to the latter I could starts generating the various analytical reports. </p>								</div>
				</div>
				<div class="elementor-element elementor-element-4baf6b6 elementor-widget elementor-widget-text-editor" data-id="4baf6b6" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									Despite the fact that this was the first time I was using the Rapid Platform, and generally speaking I did not have much DWH experience, thanks to the flexibility and simplicity of the platform, the whole process, including the subsequent improvements required by the client, did not take more than 2-3 weeks.								</div>
				</div>
				<div class="elementor-element elementor-element-710fbc6 elementor-widget elementor-widget-spacer" data-id="710fbc6" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-4ef94cc elementor-widget elementor-widget-heading" data-id="4ef94cc" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">The main benefits I have experienced</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-59cc128 elementor-widget elementor-widget-text-editor" data-id="59cc128" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									In addition to taking a huge burden off the shoulders of the developers, data warehouse automation is also a significant benefit for the customer, as it can greatly reduce the time and effort spent on an DWH implementation. 								</div>
				</div>
				<div class="elementor-element elementor-element-3ad10c4 elementor-widget elementor-widget-heading" data-id="3ad10c4" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">The benefits of automatisations</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-eb07f14 elementor-mobile-align-left elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="eb07f14" data-element_type="widget" data-widget_type="icon-list.default">
				<div class="elementor-widget-container">
							<ul class="elementor-icon-list-items">
							<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-check"></i>						</span>
										<span class="elementor-icon-list-text">Massive time and energy saving </span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-check"></i>						</span>
										<span class="elementor-icon-list-text">Reducing the number of human errors </span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-check"></i>						</span>
										<span class="elementor-icon-list-text">No SSIS knowledge required,  automatic mapping </span>
									</li>
						</ul>
						</div>
				</div>
				<div class="elementor-element elementor-element-9b03df6 elementor-widget elementor-widget-heading" data-id="9b03df6" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Ease of use</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-7364596 elementor-mobile-align-left elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="7364596" data-element_type="widget" data-widget_type="icon-list.default">
				<div class="elementor-widget-container">
							<ul class="elementor-icon-list-items">
							<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-check"></i>						</span>
										<span class="elementor-icon-list-text">Even a beginner with little experience in data warehouse building can quickly understand the user-friendly interface and find it easy to navigate. </span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-check"></i>						</span>
										<span class="elementor-icon-list-text">It helps to understand complex processes in their entirety </span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-check"></i>						</span>
										<span class="elementor-icon-list-text">Test explorer supports development, debugging </span>
									</li>
						</ul>
						</div>
				</div>
				<div class="elementor-element elementor-element-6e9cf4b elementor-widget elementor-widget-heading" data-id="6e9cf4b" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Flexibility</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-e960c61 elementor-mobile-align-left elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="e960c61" data-element_type="widget" data-widget_type="icon-list.default">
				<div class="elementor-widget-container">
							<ul class="elementor-icon-list-items">
							<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-check"></i>						</span>
										<span class="elementor-icon-list-text">The Rapid Analytics platform is highly flexible. It can be quickly optimised for specific customer needs with a few minor changes. </span>
									</li>
						</ul>
						</div>
				</div>
				<div class="elementor-element elementor-element-e41eddf elementor-widget elementor-widget-spacer" data-id="e41eddf" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-e18a2cb elementor-widget elementor-widget-heading" data-id="e18a2cb" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">More on the Abylon Rapid Platform</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-2d25c30 elementor-widget elementor-widget-text-editor" data-id="2d25c30" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>f you&#8217;re interested in our data warehouse automation solution built on the Abylon Rapid Platform, you may also find the following post, customer interview and case study interesting:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-8212dcc elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="8212dcc" data-element_type="widget" data-widget_type="icon-list.default">
				<div class="elementor-widget-container">
							<ul class="elementor-icon-list-items">
							<li class="elementor-icon-list-item">
											<a href="https://www.abylon.hu/blog/ssas-tabular-models-with-abylon-rapid-platform/">

												<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-arrow-alt-circle-right"></i>						</span>
										<span class="elementor-icon-list-text">SSAS Tabular model management using the Abylon Rapid Platform</span>
											</a>
									</li>
						</ul>
						</div>
				</div>
				<div class="elementor-element elementor-element-f4eee95 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="f4eee95" data-element_type="widget" data-widget_type="icon-list.default">
				<div class="elementor-widget-container">
							<ul class="elementor-icon-list-items">
							<li class="elementor-icon-list-item">
											<a href="https://www.abylon.hu/blog/what-clients-say-about-rapid-analytics/">

												<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-arrow-alt-circle-right"></i>						</span>
										<span class="elementor-icon-list-text">Client Interview: DWH automation using Abylon's solution</span>
											</a>
									</li>
						</ul>
						</div>
				</div>
				<div class="elementor-element elementor-element-42bb001 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="42bb001" data-element_type="widget" data-widget_type="icon-list.default">
				<div class="elementor-widget-container">
							<ul class="elementor-icon-list-items">
							<li class="elementor-icon-list-item">
											<a href="https://www.abylon.hu/blog/real-time-data-warehousing/">

												<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-arrow-alt-circle-right"></i>						</span>
										<span class="elementor-icon-list-text">Case Study: Real-time Data Warehousing</span>
											</a>
									</li>
						</ul>
						</div>
				</div>
				<div class="elementor-element elementor-element-09f3213 elementor-position-left elementor-vertical-align-middle elementor-widget elementor-widget-image-box" data-id="09f3213" data-element_type="widget" data-widget_type="image-box.default">
				<div class="elementor-widget-container">
					<div class="elementor-image-box-wrapper"><figure class="elementor-image-box-img"><img decoding="async" width="500" height="500" src="https://www.abylon.hu/wp-content/uploads/2023/07/tamasovics-zsombor-500x500-1.jpg" class="attachment-full size-full wp-image-13784" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2023/07/tamasovics-zsombor-500x500-1.jpg 500w, https://www.abylon.hu/wp-content/uploads/2023/07/tamasovics-zsombor-500x500-1-300x300.jpg 300w, https://www.abylon.hu/wp-content/uploads/2023/07/tamasovics-zsombor-500x500-1-150x150.jpg 150w" sizes="(max-width: 500px) 100vw, 500px" /></figure><div class="elementor-image-box-content"><h4 class="elementor-image-box-title">Author of the post</h4><p class="elementor-image-box-description">Zsombor Tamásovics - Junior BI consultant at Abylon Consulting

</br><a href="https://www.linkedin.com/in/zsombor-tam%C3%A1sovics-a42399166/" target="_blank" rel="noopener">Linkedin Profile</a></p></div></div>				</div>
				</div>
				<div class="elementor-element elementor-element-9053ed8 elementor-widget elementor-widget-spacer" data-id="9053ed8" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
				<section class="elementor-section elementor-inner-section elementor-element elementor-element-38ccfd6 elementor-reverse-mobile elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="38ccfd6" data-element_type="section" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-427f176" data-id="427f176" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-b0a9719 elementor-shape-circle e-grid-align-mobile-center e-grid-align-left elementor-grid-0 elementor-widget elementor-widget-social-icons" data-id="b0a9719" data-element_type="widget" data-widget_type="social-icons.default">
				<div class="elementor-widget-container">
							<div class="elementor-social-icons-wrapper elementor-grid" role="list">
							<span class="elementor-grid-item" role="listitem">
					<a class="elementor-icon elementor-social-icon elementor-social-icon-linkedin elementor-repeater-item-bbfa38c" href="https://www.linkedin.com/company/10215883/" target="_blank" rel="noopener">
						<span class="elementor-screen-only">Linkedin</span>
						<i class="fab fa-linkedin"></i>					</a>
				</span>
							<span class="elementor-grid-item" role="listitem">
					<a class="elementor-icon elementor-social-icon elementor-social-icon-facebook elementor-repeater-item-649e40e" href="https://www.facebook.com/abylonconsulting" target="_blank" rel="noopener">
						<span class="elementor-screen-only">Facebook</span>
						<i class="fab fa-facebook"></i>					</a>
				</span>
							<span class="elementor-grid-item" role="listitem">
					<a class="elementor-icon elementor-social-icon elementor-social-icon-youtube elementor-repeater-item-daa31bf" href="https://www.youtube.com/channel/UClKBN5ta5wqKr0m1vYhqhCA" target="_blank" rel="noopener">
						<span class="elementor-screen-only">Youtube</span>
						<i class="fab fa-youtube"></i>					</a>
				</span>
					</div>
						</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-280cd7b" data-id="280cd7b" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-9c84800 elementor-widget elementor-widget-heading" data-id="9c84800" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h4 class="elementor-heading-title elementor-size-default">Follow our social accounts for more news and technical insights!</h4>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-inner-section elementor-element elementor-element-003005b elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="003005b" data-element_type="section" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-ed60657" data-id="ed60657" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-675de91 elementor-position-left elementor-vertical-align-middle elementor-view-default elementor-mobile-position-top elementor-widget elementor-widget-icon-box" data-id="675de91" data-element_type="widget" data-widget_type="icon-box.default">
				<div class="elementor-widget-container">
							<div class="elementor-icon-box-wrapper">

						<div class="elementor-icon-box-icon">
				<span  class="elementor-icon">
				<i aria-hidden="true" class="fas fa-envelope"></i>				</span>
			</div>
			
						<div class="elementor-icon-box-content">

									<h3 class="elementor-icon-box-title">
						<span  >
							Found this post interesting?						</span>
					</h3>
				
									<p class="elementor-icon-box-description">
						Subscribe to our newsletter to receive updates of similar post and news!					</p>
				
			</div>
			
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-8dc69e0 elementor-button-align-end elementor-widget elementor-widget-form" data-id="8dc69e0" data-element_type="widget" data-settings="{&quot;step_next_label&quot;:&quot;Next&quot;,&quot;step_previous_label&quot;:&quot;Previous&quot;,&quot;button_width&quot;:&quot;100&quot;,&quot;step_type&quot;:&quot;number_text&quot;,&quot;step_icon_shape&quot;:&quot;circle&quot;}" data-widget_type="form.default">
				<div class="elementor-widget-container">
							<form class="elementor-form" method="post" name="Newsletter-signup-form">
			<input type="hidden" name="post_id" value="14437"/>
			<input type="hidden" name="form_id" value="8dc69e0"/>
			<input type="hidden" name="referer_title" value="Data Analytics" />

			
			<div class="elementor-form-fields-wrapper elementor-labels-">
								<div class="elementor-field-type-email elementor-field-group elementor-column elementor-field-group-email elementor-col-100 elementor-field-required">
												<label for="form-field-email" class="elementor-field-label elementor-screen-only">
								Email							</label>
														<input size="1" type="email" name="form_fields[email]" id="form-field-email" class="elementor-field elementor-size-sm  elementor-field-textual" placeholder="Email" required="required" aria-required="true">
											</div>
								<div class="elementor-field-type-acceptance elementor-field-group elementor-column elementor-field-group-field_34de82a elementor-col-100 elementor-field-required">
							<div class="elementor-field-subgroup">
			<span class="elementor-field-option">
				<input type="checkbox" name="form_fields[field_34de82a]" id="form-field-field_34de82a" class="elementor-field elementor-size-sm  elementor-acceptance-field" required="required" aria-required="true">
				<label for="form-field-field_34de82a">I read and accept the <a href="https://www.abylon.hu/privacy-policy/">website's privacy policy.</a> 
</label>			</span>
		</div>
						</div>
								<div class="elementor-field-type-text">
					<input size="1" type="text" name="form_fields[field_93bd43d]" id="form-field-field_93bd43d" class="elementor-field elementor-size-sm " style="display:none !important;">				</div>
								<div class="elementor-field-group elementor-column elementor-field-type-submit elementor-col-100 e-form__buttons">
					<button class="elementor-button elementor-size-md elementor-animation-grow" type="submit">
						<span class="elementor-button-content-wrapper">
																						<span class="elementor-button-text">SUBSCRIBE</span>
													</span>
					</button>
				</div>
			</div>
		<label class="apbct_special_field" id="apbct_label_id58982" for="apbct__email_id__elementor_form_58982">58982</label><input
            id="apbct__email_id__elementor_form_58982"
            class="apbct_special_field apbct__email_id__elementor_form"
            name="apbct__email_id__elementor_form_58982"
            type="text" size="30" maxlength="200" autocomplete="off"
            value="58982" apbct_event_id="58982"
            /><input id="apbct_event_id_elementor_form_58982"
                class="apbct_special_field" name="apbct_event_id" type="hidden" value="58982" /></form>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-bb1b081" data-id="bb1b081" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-48c7a8d elementor-widget elementor-widget-heading" data-id="48c7a8d" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h4 class="elementor-heading-title elementor-size-default">Other popular posts</h4>				</div>
				</div>
				<div class="elementor-element elementor-element-2d25d5b elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="2d25d5b" data-element_type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
							<div class="elementor-divider">
			<span class="elementor-divider-separator">
						</span>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-0340acc elementor-grid-1 elementor-grid-tablet-1 elementor-posts--align-left elementor-grid-mobile-1 elementor-posts--thumbnail-top elementor-widget elementor-widget-posts" data-id="0340acc" data-element_type="widget" data-settings="{&quot;classic_columns&quot;:&quot;1&quot;,&quot;classic_columns_tablet&quot;:&quot;1&quot;,&quot;classic_columns_mobile&quot;:&quot;1&quot;,&quot;classic_row_gap&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:35,&quot;sizes&quot;:[]},&quot;classic_row_gap_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;classic_row_gap_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}" data-widget_type="posts.classic">
				<div class="elementor-widget-container">
							<div class="elementor-posts-container elementor-posts elementor-posts--skin-classic elementor-grid">
				<article class="elementor-post elementor-grid-item post-15139 post type-post status-publish format-standard has-post-thumbnail hentry category-blog category-rapid-platform tag-abylon ast-grid-common-col ast-full-width">
				<a class="elementor-post__thumbnail__link" href="https://www.abylon.hu/blog/the-five-biggest-problems-in-financial-planning/" tabindex="-1">
			<div class="elementor-post__thumbnail"><img decoding="async" width="300" height="200" src="https://www.abylon.hu/wp-content/uploads/2024/02/5-biggest-challenges-in-financial-planning-300x200.jpg" class="attachment-medium size-medium wp-image-15199" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2024/02/5-biggest-challenges-in-financial-planning-300x200.jpg 300w, https://www.abylon.hu/wp-content/uploads/2024/02/5-biggest-challenges-in-financial-planning.jpg 500w" sizes="(max-width: 300px) 100vw, 300px" /></div>
		</a>
				<div class="elementor-post__text">
				<h3 class="elementor-post__title">
			<a href="https://www.abylon.hu/blog/the-five-biggest-problems-in-financial-planning/">
				Five Biggest Challenges in Financial Planning			</a>
		</h3>
				</div>
				</article>
				<article class="elementor-post elementor-grid-item post-15074 post type-post status-publish format-standard has-post-thumbnail hentry category-blog category-news tag-abylon ast-grid-common-col ast-full-width">
				<a class="elementor-post__thumbnail__link" href="https://www.abylon.hu/blog/master-data-custom-validation/" tabindex="-1">
			<div class="elementor-post__thumbnail"><img loading="lazy" decoding="async" width="300" height="200" src="https://www.abylon.hu/wp-content/uploads/2024/01/master-data-custom-validation-500x-300x200.jpg" class="attachment-medium size-medium wp-image-15095" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2024/01/master-data-custom-validation-500x-300x200.jpg 300w, https://www.abylon.hu/wp-content/uploads/2024/01/master-data-custom-validation-500x.jpg 500w" sizes="(max-width: 300px) 100vw, 300px" /></div>
		</a>
				<div class="elementor-post__text">
				<h3 class="elementor-post__title">
			<a href="https://www.abylon.hu/blog/master-data-custom-validation/">
				Master data custom validation using the Rapid Platform			</a>
		</h3>
				</div>
				</article>
				<article class="elementor-post elementor-grid-item post-14958 post type-post status-publish format-standard has-post-thumbnail hentry category-blog tag-abylon ast-grid-common-col ast-full-width">
				<a class="elementor-post__thumbnail__link" href="https://www.abylon.hu/blog/unleashing-the-power-of-excel-from-vba-to-power-query/" tabindex="-1">
			<div class="elementor-post__thumbnail"><img loading="lazy" decoding="async" width="300" height="187" src="https://www.abylon.hu/wp-content/uploads/2023/11/VBA-or-power-query-3-300x187.jpg" class="attachment-medium size-medium wp-image-15000" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2023/11/VBA-or-power-query-3-300x187.jpg 300w, https://www.abylon.hu/wp-content/uploads/2023/11/VBA-or-power-query-3.jpg 500w" sizes="(max-width: 300px) 100vw, 300px" /></div>
		</a>
				<div class="elementor-post__text">
				<h3 class="elementor-post__title">
			<a href="https://www.abylon.hu/blog/unleashing-the-power-of-excel-from-vba-to-power-query/">
				Unleashing the Power of Excel: From VBA to Power Query			</a>
		</h3>
				</div>
				</article>
				<article class="elementor-post elementor-grid-item post-14681 post type-post status-publish format-standard has-post-thumbnail hentry category-blog category-news tag-abylon ast-grid-common-col ast-full-width">
				<a class="elementor-post__thumbnail__link" href="https://www.abylon.hu/blog/uk-here-we-go-abylons-international-ascent/" tabindex="-1">
			<div class="elementor-post__thumbnail"><img loading="lazy" decoding="async" width="300" height="200" src="https://www.abylon.hu/wp-content/uploads/2023/10/abylon-uk-office-800x-300x200.jpg" class="attachment-medium size-medium wp-image-14695" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2023/10/abylon-uk-office-800x-300x200.jpg 300w, https://www.abylon.hu/wp-content/uploads/2023/10/abylon-uk-office-800x-768x512.jpg 768w, https://www.abylon.hu/wp-content/uploads/2023/10/abylon-uk-office-800x.jpg 800w" sizes="(max-width: 300px) 100vw, 300px" /></div>
		</a>
				<div class="elementor-post__text">
				<h3 class="elementor-post__title">
			<a href="https://www.abylon.hu/blog/uk-here-we-go-abylons-international-ascent/">
				UK market here we go &#8211; Abylon&#8217;s International Ascent			</a>
		</h3>
				</div>
				</article>
				</div>
		
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a rel="nofollow" href="https://www.abylon.hu/blog/data-warehouse-project-using-the-abylon-rapid-platform/">Data warehouse project using the Abylon Rapid Platform</a> appeared first on <a rel="nofollow" href="https://www.abylon.hu">Abylon</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SSAS Tabular model management with the Abylon Rapid Platform</title>
		<link>https://www.abylon.hu/bi-hu/ssas-tabular-models-with-abylon-rapid-platform/</link>
					<comments>https://www.abylon.hu/bi-hu/ssas-tabular-models-with-abylon-rapid-platform/#comments</comments>
		
		<dc:creator><![CDATA[Zoltán Zicherman]]></dc:creator>
		<pubDate>Mon, 23 May 2022 15:25:22 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[BI]]></category>
		<category><![CDATA[Data Analytics]]></category>
		<category><![CDATA[Rapid Platform]]></category>
		<category><![CDATA[Abylon]]></category>
		<guid isPermaLink="false">https://www.abylon.hu/?p=10423</guid>

					<description><![CDATA[<p>In the context of recent enhancements, we thought we'll write up a brief summary of the Tabular model services available within the Abylon Rapid Platform and highlight how they support development, processing and logging. </p>
<p>The post <a rel="nofollow" href="https://www.abylon.hu/bi-hu/ssas-tabular-models-with-abylon-rapid-platform/">SSAS Tabular model management with the Abylon Rapid Platform</a> appeared first on <a rel="nofollow" href="https://www.abylon.hu">Abylon</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="10423" class="elementor elementor-10423" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-af61833 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="af61833" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-8e9fb0d" data-id="8e9fb0d" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-c563f0d elementor-widget elementor-widget-image" data-id="c563f0d" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="1175" height="675" src="https://www.abylon.hu/wp-content/uploads/2022/05/ssas-tabular-model-abylon-rapid-platform.jpg" class="attachment-full size-full wp-image-10468" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2022/05/ssas-tabular-model-abylon-rapid-platform.jpg 1175w, https://www.abylon.hu/wp-content/uploads/2022/05/ssas-tabular-model-abylon-rapid-platform-300x172.jpg 300w, https://www.abylon.hu/wp-content/uploads/2022/05/ssas-tabular-model-abylon-rapid-platform-1024x588.jpg 1024w, https://www.abylon.hu/wp-content/uploads/2022/05/ssas-tabular-model-abylon-rapid-platform-768x441.jpg 768w, https://www.abylon.hu/wp-content/uploads/2022/05/ssas-tabular-model-abylon-rapid-platform-1080x620.jpg 1080w, https://www.abylon.hu/wp-content/uploads/2022/05/ssas-tabular-model-abylon-rapid-platform-980x563.jpg 980w, https://www.abylon.hu/wp-content/uploads/2022/05/ssas-tabular-model-abylon-rapid-platform-480x276.jpg 480w" sizes="(max-width: 1175px) 100vw, 1175px" />															</div>
				</div>
				<div class="elementor-element elementor-element-4c8c48d elementor-widget elementor-widget-heading" data-id="4c8c48d" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Intro</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-32f873e elementor-widget elementor-widget-text-editor" data-id="32f873e" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><span class="TextRun SCXW54253013 BCX0" lang="HU-HU" xml:lang="HU-HU" data-contrast="auto"><span class="NormalTextRun SCXW54253013 BCX0">In </span><span class="NormalTextRun SpellingErrorV2Themed SCXW54253013 BCX0">the</span><span class="NormalTextRun SCXW54253013 BCX0"> context of a number of </span><span class="NormalTextRun SpellingErrorV2Themed SCXW54253013 BCX0">recent</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW54253013 BCX0">enhancements</span><span class="NormalTextRun SCXW54253013 BCX0">, </span><span class="NormalTextRun SpellingErrorV2Themed SCXW54253013 BCX0">we</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW54253013 BCX0">thought</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW54253013 BCX0">it is</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW54253013 BCX0">worthwhile</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW54253013 BCX0">to</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW54253013 BCX0">write</span><span class="NormalTextRun SCXW54253013 BCX0"> up a </span><span class="NormalTextRun SpellingErrorV2Themed SCXW54253013 BCX0">brief</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW54253013 BCX0">summary</span><span class="NormalTextRun SCXW54253013 BCX0"> of </span><span class="NormalTextRun SpellingErrorV2Themed SCXW54253013 BCX0">the Tabular model services</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW54253013 BCX0">available</span><span class="NormalTextRun SCXW54253013 BCX0"> within the </span><span class="NormalTextRun SpellingErrorV2Themed SCXW54253013 BCX0">Abylon</span><span class="NormalTextRun SCXW54253013 BCX0"> Rapid Platform and highlight how they </span><span class="NormalTextRun SpellingErrorV2Themed SCXW54253013 BCX0">support</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW54253013 BCX0">development</span><span class="NormalTextRun SCXW54253013 BCX0">, </span><span class="NormalTextRun SpellingErrorV2Themed SCXW54253013 BCX0">processing</span><span class="NormalTextRun SCXW54253013 BCX0"> and </span><span class="NormalTextRun SpellingErrorV2Themed SCXW54253013 BCX0">logging</span><span class="NormalTextRun SCXW54253013 BCX0">.</span></span><span class="EOP SCXW54253013 BCX0" data-ccp-props="{"> </span></p>								</div>
				</div>
				<div class="elementor-element elementor-element-42437c1 elementor-widget elementor-widget-heading" data-id="42437c1" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Development </h2>				</div>
				</div>
				<div class="elementor-element elementor-element-c5ea65f elementor-widget elementor-widget-text-editor" data-id="c5ea65f" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><span class="TextRun Highlight SCXW65158015 BCX0" lang="HU-HU" xml:lang="HU-HU" data-contrast="auto"><span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">First</span><span class="NormalTextRun SCXW65158015 BCX0"> of </span><span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">all</span><span class="NormalTextRun SCXW65158015 BCX0">, </span><span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">during</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">development</span><span class="NormalTextRun SCXW65158015 BCX0">, </span><span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">tabular</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">models</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">can</span><span class="NormalTextRun SCXW65158015 BCX0"> be </span><span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">deployed</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">to</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">any</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">number</span><span class="NormalTextRun SCXW65158015 BCX0"> of </span><span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">environments</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">just</span><span class="NormalTextRun SCXW65158015 BCX0"> like ETL </span><span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">processes</span><span class="NormalTextRun SCXW65158015 BCX0">, </span><span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">databases</span><span class="NormalTextRun SCXW65158015 BCX0">, </span><span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">reports</span><span class="NormalTextRun SCXW65158015 BCX0"> (etc.). </span><span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">There</span><span class="NormalTextRun SCXW65158015 BCX0"> is no </span><span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">need</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">to</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">rewrite</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">the</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">connections</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">every</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">time</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">you</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">move</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">to</span><span class="NormalTextRun SCXW65158015 BCX0"> a </span><span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">live</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">environment</span><span class="NormalTextRun SCXW65158015 BCX0">, </span><span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">the</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">platforms</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">will</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">do</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">it</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">for</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">you</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">after</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">setting</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">up</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">the</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">appropriate</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">parameters</span><span class="NormalTextRun SCXW65158015 BCX0">. </span><span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">It</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">also</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">provides</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">the</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">possibility</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">to</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">publish</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">user-level</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">self</span><span class="NormalTextRun SCXW65158015 BCX0">-service </span><span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">models</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">to</span><span class="NormalTextRun SCXW65158015 BCX0"> a </span><span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">productive</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW65158015 BCX0">environment</span><span class="NormalTextRun SCXW65158015 BCX0">.</span></span><span class="EOP SCXW65158015 BCX0" data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>								</div>
				</div>
				<div class="elementor-element elementor-element-c7b4899 elementor-widget elementor-widget-text-editor" data-id="c7b4899" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><span class="TextRun Highlight SCXW122542260 BCX0" lang="HU-HU" xml:lang="HU-HU" data-contrast="auto"><span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">The</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">developer&#8217;s</span><span class="NormalTextRun SCXW122542260 BCX0"> life is </span><span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">made</span> much <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">easier</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">by</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">automating the </span><span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">creation</span><span class="NormalTextRun SCXW122542260 BCX0"> of </span><span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">dynamic</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">measure</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">tables</span><span class="NormalTextRun SCXW122542260 BCX0">. </span><span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">Dynamic</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">measure</span><span class="NormalTextRun SCXW122542260 BCX0"> is </span><span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">useful</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">for</span> <span class="NormalTextRun CommentStart SpellingErrorV2Themed CommentHighlightPipeRest CommentHighlightRest SCXW122542260 BCX0">any business</span><span class="NormalTextRun CommentHighlightPipeRest SCXW122542260 BCX0">, </span><span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">but</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">the</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">creation</span><span class="NormalTextRun SCXW122542260 BCX0"> and </span><span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">maintenance</span><span class="NormalTextRun SCXW122542260 BCX0"> of </span><span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">the</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">necessary</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">tables</span><span class="NormalTextRun SCXW122542260 BCX0"> and </span><span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">measures</span><span class="NormalTextRun SCXW122542260 BCX0"> is </span><span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">time</span><span class="NormalTextRun SCXW122542260 BCX0">-consuming and </span><span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">sensitive</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">to</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">changes</span><span class="NormalTextRun SCXW122542260 BCX0">. </span><a href="https://www.abylon.hu/solutions/data-warehouse-automation/" target="_blank" rel="noopener"><span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">Abylon</span><span class="NormalTextRun SCXW122542260 BCX0"> Rapid </span><span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">Analytics</span></a> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">takes</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">this</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">burden</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">off</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">the developer&#8217;s </span><span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">shoulders</span><span class="NormalTextRun SCXW122542260 BCX0">. </span><span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">It</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">also</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">makes</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">it</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">easy</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">to</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">produce</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">measures</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">based</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">on</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">selected</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">measures</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">such</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">as</span><span class="NormalTextRun SCXW122542260 BCX0"> LY, MTD, ALL, etc. </span><span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">based</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">on</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">calculation</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW122542260 BCX0">groups</span><span class="NormalTextRun SCXW122542260 BCX0">.</span></span><span class="EOP SCXW122542260 BCX0" data-ccp-props="{"> </span></p>								</div>
				</div>
				<div class="elementor-element elementor-element-4faf8c2 elementor-widget elementor-widget-heading" data-id="4faf8c2" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Processing</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-812dfa0 elementor-widget elementor-widget-text-editor" data-id="812dfa0" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><span class="TextRun Highlight SCXW169314610 BCX0" lang="HU-HU" xml:lang="HU-HU" data-contrast="auto"><span class="NormalTextRun SpellingErrorV2Themed SCXW169314610 BCX0">Our</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW169314610 BCX0">execution</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW169314610 BCX0">plan</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW169314610 BCX0">manager</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW169314610 BCX0">allows</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW169314610 BCX0">the</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW169314610 BCX0">usage</span><span class="NormalTextRun SCXW169314610 BCX0"> of </span><span class="NormalTextRun SpellingErrorV2Themed SCXW169314610 BCX0">several</span><span class="NormalTextRun SCXW169314610 BCX0"> OLAP </span><span class="NormalTextRun SpellingErrorV2Themed SCXW169314610 BCX0">processing</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW169314610 BCX0">steps</span><span class="NormalTextRun SCXW169314610 BCX0"> in </span><span class="NormalTextRun SpellingErrorV2Themed SCXW169314610 BCX0">each</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW169314610 BCX0">execution</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW169314610 BCX0">plan</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW169314610 BCX0">item</span><span class="NormalTextRun SCXW169314610 BCX0">. </span><span class="NormalTextRun SpellingErrorV2Themed SCXW169314610 BCX0">Such</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW169314610 BCX0">as</span><span class="NormalTextRun SCXW169314610 BCX0">:</span></span><span class="TextRun SCXW169314610 BCX0" lang="HU-HU" xml:lang="HU-HU" data-contrast="auto"><span class="NormalTextRun SCXW169314610 BCX0"> </span></span><span class="EOP SCXW169314610 BCX0" data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>								</div>
				</div>
				<div class="elementor-element elementor-element-055cd9d elementor-widget elementor-widget-text-editor" data-id="055cd9d" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<ul style="font-weight: 400;"><li style="font-weight: 400;" data-leveltext="" data-font="Symbol" data-listid="2" data-list-defn-props="{" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"><b><span data-contrast="auto">Full process</span></b><span data-contrast="auto">, this is obvious</span><span data-contrast="auto"> </span><span data-ccp-props="{"> </span></li><li style="font-weight: 400;" data-leveltext="" data-font="Symbol" data-listid="2" data-list-defn-props="{" aria-setsize="-1" data-aria-posinset="2" data-aria-level="1"><b><span data-contrast="auto">Dynamic partitioning, code-driven version: </span></b><span data-contrast="auto">dynamic partitioning creates the partitions according to the configuration and processes the appropriate number. Main features: rolling window, incremental partitioning, incremental processing, fix interval.</span><span data-contrast="auto"> </span><span data-ccp-props="{"> </span></li><li data-leveltext="" data-font="Symbol" data-listid="2" data-list-defn-props="{" aria-setsize="-1" data-aria-posinset="3" data-aria-level="1"><span data-contrast="auto"><b style="font-weight: 400;">Dynamic partitioning, </b><b>data mart</b><b style="font-weight: 400;">-driven: </b></span><span style="font-weight: 400;" data-contrast="auto">the data market developer has the possibility to create his own stored procedure, which passes the processing and creation command to the framework.</span><span style="font-weight: 400;" data-ccp-props="{"> </span></li></ul>								</div>
				</div>
				<div class="elementor-element elementor-element-e4833a7 elementor-widget elementor-widget-heading" data-id="e4833a7" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Logging</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-bf0623e elementor-widget elementor-widget-text-editor" data-id="bf0623e" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<ul><li data-leveltext="" data-font="Symbol" data-listid="1" data-list-defn-props="{" aria-setsize="-1" data-aria-posinset="0" data-aria-level="1"><span data-contrast="auto"><strong>Metadata backup:</strong> main data of SSAS tabular models installed on environments, up to the query level of partitions.</span><span data-contrast="auto"> </span><span data-ccp-props="{"> </span></li></ul><ul><li data-leveltext="" data-font="Symbol" data-listid="1" data-list-defn-props="{" aria-setsize="-1" data-aria-posinset="0" data-aria-level="1"><span data-contrast="auto"><strong>SSAS instance monitoring:</strong> load, queries monitoring with Platform Planning functionality.</span><span data-ccp-props="{"> </span></li></ul>								</div>
				</div>
				<div class="elementor-element elementor-element-9b18570 elementor-widget elementor-widget-spacer" data-id="9b18570" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-8fca42a elementor-widget elementor-widget-text-editor" data-id="8fca42a" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><span data-contrast="auto">This is just a short teaser because this list could go on and on. We believe that, as with the whole Rapid Platform, in this case our strengths lies in the convenience of the ready-made solution, the cost-effective customization and the fast, customer-oriented development.</span><span data-contrast="auto"> </span><span data-ccp-props="{"> </span></p><p><span data-contrast="auto">The available features do not set a mandatory direction, but provide opportunities, and the developments made during implementation help to fully meet the needs of our customers and provide support and good foundation for further BI development projects.</span><span data-contrast="auto"> </span></p>								</div>
				</div>
				<div class="elementor-element elementor-element-ddcddfa elementor-align-left elementor-widget elementor-widget-button" data-id="ddcddfa" data-element_type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
									<div class="elementor-button-wrapper">
					<a class="elementor-button elementor-button-link elementor-size-md elementor-animation-grow" href="https://www.abylon.hu/solutions/data-warehouse-automation/">
						<span class="elementor-button-content-wrapper">
									<span class="elementor-button-text">CHECK OUT THE RAPID ANALYTICS PAGE</span>
					</span>
					</a>
				</div>
								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a rel="nofollow" href="https://www.abylon.hu/bi-hu/ssas-tabular-models-with-abylon-rapid-platform/">SSAS Tabular model management with the Abylon Rapid Platform</a> appeared first on <a rel="nofollow" href="https://www.abylon.hu">Abylon</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.abylon.hu/bi-hu/ssas-tabular-models-with-abylon-rapid-platform/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Case Study: Advanced Analytics on top of a legacy on-prem DWH</title>
		<link>https://www.abylon.hu/bi-hu/advanced-analytics-platform-implementation/</link>
		
		<dc:creator><![CDATA[Zoltán Zicherman]]></dc:creator>
		<pubDate>Tue, 08 Feb 2022 10:50:09 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[BI]]></category>
		<category><![CDATA[Case Study]]></category>
		<category><![CDATA[Data Analytics]]></category>
		<category><![CDATA[Abylon]]></category>
		<guid isPermaLink="false">https://www.abylon.hu/?p=9040</guid>

					<description><![CDATA[<p>In this post we’re going to describe an advanced analytics project we recently delivered for a large international company. The main goal of the project was to improve the management of our client’s retail data by adding an additional advanced analytics platform on top of the existing infrastructure.</p>
<p>The post <a rel="nofollow" href="https://www.abylon.hu/bi-hu/advanced-analytics-platform-implementation/">Case Study: Advanced Analytics on top of a legacy on-prem DWH</a> appeared first on <a rel="nofollow" href="https://www.abylon.hu">Abylon</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="9040" class="elementor elementor-9040" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-74121421 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="74121421" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5d2be272" data-id="5d2be272" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-6d3c9a2 elementor-widget elementor-widget-heading" data-id="6d3c9a2" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Introduction</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-fca67b0 elementor-widget elementor-widget-text-editor" data-id="fca67b0" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									In this post we’re going to describe an advanced analytics project we recently delivered for a large international company. The main goal of the project was to improve the management of our client’s retail data (sales data coming from their shops) by adding an additional advanced analytics platform on top of the existing infrastructure.								</div>
				</div>
				<div class="elementor-element elementor-element-a5cc7ae elementor-widget elementor-widget-image" data-id="a5cc7ae" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="800" height="498" src="https://www.abylon.hu/wp-content/uploads/2022/02/retail-data-analytics-abylon.jpg" class="attachment-large size-large wp-image-9012" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2022/02/retail-data-analytics-abylon.jpg 800w, https://www.abylon.hu/wp-content/uploads/2022/02/retail-data-analytics-abylon-300x187.jpg 300w, https://www.abylon.hu/wp-content/uploads/2022/02/retail-data-analytics-abylon-768x478.jpg 768w, https://www.abylon.hu/wp-content/uploads/2022/02/retail-data-analytics-abylon-400x250.jpg 400w, https://www.abylon.hu/wp-content/uploads/2022/02/retail-data-analytics-abylon-480x299.jpg 480w" sizes="(max-width: 800px) 100vw, 800px" />															</div>
				</div>
				<div class="elementor-element elementor-element-6ed17d9 elementor-widget elementor-widget-heading" data-id="6ed17d9" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Business Challenge</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-a295973 elementor-widget elementor-widget-text-editor" data-id="a295973" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Prior to this project all retail data was only managed by a large, traditional, monolith on-prem SQL data warehouse. Data coming from this legacy data warehouse is aggregated and presented in pre-made group-level dashboards which are limited and highly dependent on report developers. Accessing more detailed data or data outside of these dashboards, or creating custom reports based on it would require a lot of effort.</p>
<p>This rigid infrastructure was not suitable for advanced analytics which requires dynamic data and an option for self-service business intelligence (BI). Furthermore, our client has other BI solutions that would also require this type of dynamic data.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-866ca5e elementor-widget elementor-widget-heading" data-id="866ca5e" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Solution – Advanced Analytics Platform with Azure Synapse and Databricks</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-d22a884 elementor-widget elementor-widget-text-editor" data-id="d22a884" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>We built a new, cloud-based (Azure Synapse-based) data warehouse on top of the existing on-premise data warehouse and connected it to the existing Databricks (DBX) Platform. We extract the raw data from the on-prem data warehouse on a daily basis and make it accessible in our new Advanced Analytics Platform. </p>								</div>
				</div>
				<div class="elementor-element elementor-element-6205054 elementor-widget elementor-widget-image" data-id="6205054" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
																<a href="https://www.abylon.hu/wp-content/uploads/2022/02/abylon-advanced-analytics-platform.jpg" data-elementor-open-lightbox="yes" data-e-action-hash="#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6OTAxMCwidXJsIjoiaHR0cHM6XC9cL3d3dy5hYnlsb24uaHVcL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjJcLzAyXC9hYnlsb24tYWR2YW5jZWQtYW5hbHl0aWNzLXBsYXRmb3JtLmpwZyJ9">
							<img loading="lazy" decoding="async" width="1024" height="426" src="https://www.abylon.hu/wp-content/uploads/2022/02/abylon-advanced-analytics-platform-1024x426.jpg" class="attachment-large size-large wp-image-9010" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2022/02/abylon-advanced-analytics-platform-1024x426.jpg 1024w, https://www.abylon.hu/wp-content/uploads/2022/02/abylon-advanced-analytics-platform-300x125.jpg 300w, https://www.abylon.hu/wp-content/uploads/2022/02/abylon-advanced-analytics-platform-768x319.jpg 768w, https://www.abylon.hu/wp-content/uploads/2022/02/abylon-advanced-analytics-platform-1080x449.jpg 1080w, https://www.abylon.hu/wp-content/uploads/2022/02/abylon-advanced-analytics-platform-1280x532.jpg 1280w, https://www.abylon.hu/wp-content/uploads/2022/02/abylon-advanced-analytics-platform-980x408.jpg 980w, https://www.abylon.hu/wp-content/uploads/2022/02/abylon-advanced-analytics-platform-480x200.jpg 480w, https://www.abylon.hu/wp-content/uploads/2022/02/abylon-advanced-analytics-platform.jpg 1428w" sizes="(max-width: 1024px) 100vw, 1024px" />								</a>
															</div>
				</div>
				<div class="elementor-element elementor-element-5f8855d elementor-widget elementor-widget-text-editor" data-id="5f8855d" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>The new platform consists of two separate sub-platforms:</p>
<ol>
<li>A Databricks (DBX) Platform for development and Business Value Realization solutions (for self-service development)</li>
<li>A Synapse Platform for transactional level analysis (for self-service analysis)</li>
</ol>
<p>The Databricks Platform is a self-service development platform that uses Python, Machine Learning and Artificial Intelligence technology. It’s mainly meant for internal developers for forecasting and creating various data science solutions, and for external vendors (developers) who deliver custom solutions to cover their own business needs.</p>
<p>While the Synapse platform’s main goal is to enable self-service data analysis. Users can directly connect to the raw data from the data lake, execute custom queries, see the data on a transactional level and even connect to the data from Excel or Power BI.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-412995d elementor-widget elementor-widget-heading" data-id="412995d" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">More dynamic data</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-e428b60 elementor-widget elementor-widget-text-editor" data-id="e428b60" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Compared to the aggregated dashboards (built on the on-prem data warehouse), in the new Synapse-based data warehouse all the data is available on transactional level. This means data like: cart size (how many items are bought together), all transactions, transactional data on item level (which items are bought together, discounts, sales quantity, etc) all meta-and master data (shop details, like opening hours, plot size, geo coordinates etc.) Most of this data was previously NOT available in the pre-made dashboards built on the legacy on-prem system, and now it is available in the Synapse environment, in a more dynamic set-up and to a much larger audience. </p>								</div>
				</div>
				<div class="elementor-element elementor-element-70a0103 elementor-widget elementor-widget-heading" data-id="70a0103" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Easier access, larger audience</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-96f6226 elementor-widget elementor-widget-text-editor" data-id="96f6226" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>With this new advanced analytics platform, business analysts can also access all the data and create their own reports, even from Excel. This setup also opens the door to create an additional data layer for third party companies (like vendors who are selling their -typically beverage- products in these shops), which can even be sold as a service, to create an additional stream of revenue.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-674d340 elementor-widget elementor-widget-heading" data-id="674d340" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Scalability and reduced infrastructure costs</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-1c7db0b elementor-widget elementor-widget-text-editor" data-id="1c7db0b" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Another huge advantage is that the new platform allows our client to dynamically scale compute resources up or down depending on their needs. This means a significantly better solution in terms of cost effectiveness.</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a rel="nofollow" href="https://www.abylon.hu/bi-hu/advanced-analytics-platform-implementation/">Case Study: Advanced Analytics on top of a legacy on-prem DWH</a> appeared first on <a rel="nofollow" href="https://www.abylon.hu">Abylon</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Advanced Analytics Platform – how to create a dream framework for Python/R</title>
		<link>https://www.abylon.hu/bi-hu/advanced-analytics-platform-how-to-create-a-dream-framework-for-python-r/</link>
		
		<dc:creator><![CDATA[Zoltán Zicherman]]></dc:creator>
		<pubDate>Sun, 30 Jan 2022 17:16:24 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[BI]]></category>
		<category><![CDATA[Data Analytics]]></category>
		<category><![CDATA[Abylon]]></category>
		<guid isPermaLink="false">https://www.abylon.hu/?p=9093</guid>

					<description><![CDATA[<p>Introduction Advanced Data Analytics and Data Science is a really hot topic right now and it’s something definitely for the future as well. In 2020</p>
<p>The post <a rel="nofollow" href="https://www.abylon.hu/bi-hu/advanced-analytics-platform-how-to-create-a-dream-framework-for-python-r/">Advanced Analytics Platform – how to create a dream framework for Python/R</a> appeared first on <a rel="nofollow" href="https://www.abylon.hu">Abylon</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="9093" class="elementor elementor-9093" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-33f85e2 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="33f85e2" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-987414a" data-id="987414a" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-4e2dd7c elementor-widget elementor-widget-heading" data-id="4e2dd7c" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Introduction</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-f89cb85 elementor-widget elementor-widget-text-editor" data-id="f89cb85" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Advanced Data Analytics and Data Science is a really hot topic right now and it’s something definitely for the future as well. In 2020 the global data science platform market was <a href="https://www.mordorintelligence.com/industry-reports/data-science-platform-market" target="_blank" rel="noopener">valued at USD 31.05 billion</a>, and it is expected to reach USD 230.80 billion by 2026, registering a CAGR of 39.7 % during the forecast period, 2021-2026. Impressive numbers, but how does it affect your life? Data is getting more and more important in nowadays world, and <strong>even you can play an important role</strong> in its expansion.</p>
<p>Since you clicked on this post it’s clear that you are interested in data analytics. Maybe you’re interested in the technical side (as a tech expert), or in the results of data analysis (as a manager) or you are just simply curios about this topic.</p>
<p>You would like to start working with some data, but your company doesn’t have the <strong>data infrastructure and the workflow</strong> for that yet. You’re not the only one who’s in this situation. As data science is going viral, more and more companies are realizing its benefits and thinking of investing in it on long term, but they don’t exactly know <strong>how to create a complete framework</strong> around cool buzzwords like “Python, ML and AI”.</p>
<p>In this article we describe how to create one. Since we have a lot of experience in working with industry-leading Microsoft products, in this example we are going to show you a setup that is based on the Microsoft cloud architecture, which is already tested, implemented and operated on a daily basis.</p>
<p>At Abylon Consulting we’re crazy about data, so if you like this topic browse through <a href="https://www.abylon.hu/blog/" target="_blank" rel="noopener">our blog</a> for some other data analytics related posts and guides, or check out <a href="https://www.abylon.hu/solutions/" target="_blank" rel="noopener">our product or service offerings</a> if you are looking for a solution for your company.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-55b9915 elementor-widget elementor-widget-image" data-id="55b9915" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="800" height="450" src="https://www.abylon.hu/wp-content/uploads/2022/02/developer-girl-2-800x.jpg" class="attachment-large size-large wp-image-8998" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2022/02/developer-girl-2-800x.jpg 800w, https://www.abylon.hu/wp-content/uploads/2022/02/developer-girl-2-800x-300x169.jpg 300w, https://www.abylon.hu/wp-content/uploads/2022/02/developer-girl-2-800x-768x432.jpg 768w, https://www.abylon.hu/wp-content/uploads/2022/02/developer-girl-2-800x-480x270.jpg 480w" sizes="(max-width: 800px) 100vw, 800px" />															</div>
				</div>
				<div class="elementor-element elementor-element-1220074 elementor-widget elementor-widget-heading" data-id="1220074" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">What are my essential goals?</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-ae017a8 elementor-widget elementor-widget-text-editor" data-id="ae017a8" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<ul>
<li>I want to work with Python/R/spark, since I know they are interesting and very fashionable nowadays. I mastered basic SUM, COUNT, AVG Excel functions long ago, I want something way more sophisticated.</li>
<li>I’m interested in more massive datasets: even public dataframes from the internet, even internal database tables or corporate files.</li>
<li>I want to visualize my results on good-looking reports, spiced with some automations.</li>
<li>I want to have a complete infrastructure that is robust and simple at the same time</li>
</ul>
<p>This rigid infrastructure was not suitable for advanced analytics which requires dynamic data and an option for self-service business intelligence (BI). Furthermore, our client has other BI solutions that would also require this type of dynamic data.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-cfdc540 elementor-widget elementor-widget-text-editor" data-id="cfdc540" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									To meet these expectations, we should get more familiar with the componets that deliver these features.

								</div>
				</div>
				<div class="elementor-element elementor-element-3f32310 elementor-widget elementor-widget-heading" data-id="3f32310" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Introducing the components of our Advanced Analytics Platform
</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-32f9a14 elementor-widget elementor-widget-text-editor" data-id="32f9a14" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									Good news, that all these needs may be solved with a few resources of Microsoft Azure:
								</div>
				</div>
				<div class="elementor-element elementor-element-1a38fc7 elementor-widget elementor-widget-heading" data-id="1a38fc7" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Power BI (PBI)</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-1cc4d86 elementor-widget elementor-widget-text-editor" data-id="1cc4d86" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<ul>
<li>Possibly you are already familiar with Microsoft’s industry-leading data visualization tool.</li>
<li>If you like charts, filters, plots, you will feel home. Call it a well-balanced mixture of Excel, Power Point and SQL.</li>
<li>Though it’s not placed in MS Azure, you will need it to create beautiful and informative reports.</li>
</ul>								</div>
				</div>
				<div class="elementor-element elementor-element-a4f87e9 elementor-widget elementor-widget-heading" data-id="a4f87e9" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Azure Databricks (DBX)</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-c4a32fe elementor-widget elementor-widget-text-editor" data-id="c4a32fe" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<ul>
<li>A Jupyter notebook-like interface which does the core data analysis and processing.</li>
<li>You can write scripts in Python, R, Scala, and even SQL. Supports Apache spark also.</li>
<li>It runs in the cloud, you don’t need to install any distibutions/libraries/etc on your computer.</li>
<li>Scalable compute resource, scalable cost (flexible and predictable, pay as you go)</li>
</ul>								</div>
				</div>
				<div class="elementor-element elementor-element-4af9d98 elementor-widget elementor-widget-heading" data-id="4af9d98" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Azure Datalake Storage (ADLS)</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-96802df elementor-widget elementor-widget-text-editor" data-id="96802df" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<ul>
<li>The cloud storage you will use. Simple, but very useful, consider it as a more strict OneDrive or Google Drive.</li>
</ul>								</div>
				</div>
				<div class="elementor-element elementor-element-96855a0 elementor-widget elementor-widget-heading" data-id="96855a0" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Azure Data Factory (ADF) – optional
</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-8af4806 elementor-widget elementor-widget-text-editor" data-id="8af4806" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<ul>
<li>If you need scheduled data copy from external/internal source systems, ADF will possibly be handy.</li>
<li>It is responsible for data movement activities in the cloud, or even on-prem.</li>
</ul>								</div>
				</div>
				<div class="elementor-element elementor-element-04efb81 elementor-widget elementor-widget-image" data-id="04efb81" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
																<a href="https://www.abylon.hu/wp-content/uploads/2022/02/architecture.png" data-elementor-open-lightbox="yes" data-e-action-hash="#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6ODk4OSwidXJsIjoiaHR0cHM6XC9cL3d3dy5hYnlsb24uaHVcL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjJcLzAyXC9hcmNoaXRlY3R1cmUucG5nIn0%3D">
							<img loading="lazy" decoding="async" width="800" height="368" src="https://www.abylon.hu/wp-content/uploads/2022/02/architecture.png" class="attachment-full size-full wp-image-8989" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2022/02/architecture.png 800w, https://www.abylon.hu/wp-content/uploads/2022/02/architecture-300x138.png 300w, https://www.abylon.hu/wp-content/uploads/2022/02/architecture-768x353.png 768w, https://www.abylon.hu/wp-content/uploads/2022/02/architecture-480x221.png 480w" sizes="(max-width: 800px) 100vw, 800px" />								</a>
															</div>
				</div>
				<div class="elementor-element elementor-element-4aee398 elementor-widget elementor-widget-heading" data-id="4aee398" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">High-level design</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-163fee4 elementor-widget elementor-widget-text-editor" data-id="163fee4" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									At the figure above you can see these components of the infrastructure. This basic design can help you to imagine the role and their consecutive manner. Let’s get through it in a nutshell:								</div>
				</div>
				<div class="elementor-element elementor-element-41aec70 elementor-widget elementor-widget-text-editor" data-id="41aec70" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<ul>
<li>First, you need to have <strong>some source data stored on the ADLS </strong>to begin with the analysis. Don’t worry, you can upload any flat files (like csv, json, xlsx) from your computer, there is no need for ADF at the moment.</li>
<li>You will <b>consume &amp; analyse this data with DBX</b>, and store the output on the same ADLS.</li>
<li>If your analysis is done, and the <b>result data is available on the ADLS</b>, it’s time to open up a PBI file, and bind the necessary data from the source file(s) of the ADLS.</li>
<li>If you are finished with report development, you can <b>publish your report to <a href="https://powerbi.microsoft.com/en-us/" target="_blank" rel="noopener">PBI Online</a></b>, and share it with anyone.</li>
<li>If you have build a solution that is time-dependent, and needed to be refreshed from time-to-time, you can <b>automate the execution</b> of the DBX and the refresh of the PBI report in the cloud.
<ul>
<li>If not only the calculations are time-dependent, but <strong>source data should also be refreshed</strong>, it’s time to add an ADF. With ADF, you can schedule data loads from source to sink (ADLS), plus DBX notebook executions can be triggered as well</li>
</ul>
</li>
</ul>								</div>
				</div>
				<div class="elementor-element elementor-element-8c6dbff elementor-widget elementor-widget-heading" data-id="8c6dbff" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Implementation</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-cce9afb elementor-widget elementor-widget-heading" data-id="cce9afb" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Azure tenant</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-bca92cc elementor-widget elementor-widget-text-editor" data-id="bca92cc" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>To get all of that, you need to have az Azure tenant and an Azure subscription. You can <a href="http://azure.microsoft.com/free/" target="_blank" rel="noopener"><strong>try it for free</strong></a> for 12 months and you can use a credit of 200 USD in the first 30 days.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-89adf1f elementor-widget elementor-widget-heading" data-id="89adf1f" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Resource Group</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-7242d48 elementor-widget elementor-widget-text-editor" data-id="7242d48" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>After the registration, create a new Resource Group (RG) which functions as a box to store your things. It doesn’t cost any money, it is only a simple “folder” in your subscription.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-4cdb18b elementor-widget elementor-widget-heading" data-id="4cdb18b" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">DBX</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-7c7cdbc elementor-widget elementor-widget-text-editor" data-id="7c7cdbc" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Create a new Azure Databricks (DBX) workspace, within this RG. Lauch the workspace, and take a look around there. You can find the menu options on the left, and maybe the two most important options are Workspace and Compute.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-2b45797 elementor-widget elementor-widget-text-editor" data-id="2b45797" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<ul>
<li><strong>Workspace</strong> stands for a folder structure for your executable Jupyter notebooks (ipynb format), while</li>
<li><strong>Compute</strong> holds all the compute resources (clusters), which execute your code in the notebooks</li>
</ul>								</div>
				</div>
				<div class="elementor-element elementor-element-1873839 elementor-widget elementor-widget-text-editor" data-id="1873839" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>You will have to <a href="https://docs.databricks.com/clusters/configure.html" target="_blank" rel="noopener">create a cluster</a> prior to any development. You are charged by cluster time usage, so you are supposed to optimize the runtime and not leave any idle time. You can pick whichever setup fits you and your budget best.</p>
<p>Check this <a href="https://www.mssqltips.com/sqlservertip/6472/getting-started-with-azure-databricks/" target="_blank" rel="noopener">deeper guide with a case study</a> if want to dive in DBX Python coding. Remember, <strong>core coding will be done here in DBX</strong>, all other components only help you with connectivity, data freshness, and robust operation. If you wish to try DBX alone at first, you can do it without creating any other resources. But, for a complete platform, you will need other components as well.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-fbbb7e0 elementor-widget elementor-widget-heading" data-id="fbbb7e0" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">ADLS</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-0beee70 elementor-widget elementor-widget-text-editor" data-id="0beee70" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Create a new Storage account (ADLS), also within the same RG. At Settings/Endpoint blade (left-side menu options are called “blade” in Azure) you can find the links to this specific ADLS, use this link when you aim to <strong>connect to this from PBI.</strong></p>								</div>
				</div>
				<div class="elementor-element elementor-element-3e17649 elementor-widget elementor-widget-image" data-id="3e17649" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
																<a href="https://www.abylon.hu/wp-content/uploads/2022/02/abylon-advanced-analytics-platform-01.png" data-elementor-open-lightbox="yes" data-e-action-hash="#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6ODk5MSwidXJsIjoiaHR0cHM6XC9cL3d3dy5hYnlsb24uaHVcL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjJcLzAyXC9hYnlsb24tYWR2YW5jZWQtYW5hbHl0aWNzLXBsYXRmb3JtLTAxLnBuZyJ9">
							<img loading="lazy" decoding="async" width="1919" height="933" src="https://www.abylon.hu/wp-content/uploads/2022/02/abylon-advanced-analytics-platform-01.png" class="attachment-full size-full wp-image-8991" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2022/02/abylon-advanced-analytics-platform-01.png 1919w, https://www.abylon.hu/wp-content/uploads/2022/02/abylon-advanced-analytics-platform-01-300x146.png 300w, https://www.abylon.hu/wp-content/uploads/2022/02/abylon-advanced-analytics-platform-01-1024x498.png 1024w, https://www.abylon.hu/wp-content/uploads/2022/02/abylon-advanced-analytics-platform-01-768x373.png 768w, https://www.abylon.hu/wp-content/uploads/2022/02/abylon-advanced-analytics-platform-01-1536x747.png 1536w, https://www.abylon.hu/wp-content/uploads/2022/02/abylon-advanced-analytics-platform-01-1080x525.png 1080w, https://www.abylon.hu/wp-content/uploads/2022/02/abylon-advanced-analytics-platform-01-1280x622.png 1280w, https://www.abylon.hu/wp-content/uploads/2022/02/abylon-advanced-analytics-platform-01-980x476.png 980w, https://www.abylon.hu/wp-content/uploads/2022/02/abylon-advanced-analytics-platform-01-480x233.png 480w" sizes="(max-width: 1919px) 100vw, 1919px" />								</a>
															</div>
				</div>
				<div class="elementor-element elementor-element-e84fb37 elementor-widget elementor-widget-heading" data-id="e84fb37" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Connect ADLS with DBX</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-56520a0 elementor-widget elementor-widget-text-editor" data-id="56520a0" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>To make these two resources communicate with each other, it is needed to <a href="https://docs.databricks.com/data/data-sources/azure/adls-gen2/azure-datalake-gen2-sp-access.html" target="_blank" rel="noopener">create a bridge between them</a>. The best solution is an OAuth 2.0-based solution, named Service Principal (SP). This SP is an Azure Application, that creates the bridge between the two components, providing authentication from and to both parties.</p>
<p>The recommended option is a mount point, which is basically a link to a container of an ADLS, that the DBX notebooks can use as a link to point directly to the files placed on the ADLS.</p>
<p>Having a working SP provides a rather dynamic communication between the two parties allowing you to quickly access (write/read/modify) any files stored on the ADLS from DBX code. <strong>This allows you to create a flexible Machine Learning or Big Data solution,</strong> with serious inputs and outputs.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-2e3fdad elementor-widget elementor-widget-heading" data-id="2e3fdad" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Power BI</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-9f383c7 elementor-widget elementor-widget-text-editor" data-id="9f383c7" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>From Power BI it is very easy to <a href="https://docs.microsoft.com/en-us/power-query/connectors/datalakestorage" target="_blank" rel="noopener">connect to ADLS</a>, pick the ADLS Gen2 connector, sign in or provide your access key (preferably in a corporate network) available on Security+Networking /Access Keys blade of the ADLS.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-ccc0bfb elementor-widget elementor-widget-image" data-id="ccc0bfb" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
																<a href="https://www.abylon.hu/wp-content/uploads/2022/02/abylon-advanced-analytics-platform-02.png" data-elementor-open-lightbox="yes" data-e-action-hash="#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6ODk5MywidXJsIjoiaHR0cHM6XC9cL3d3dy5hYnlsb24uaHVcL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjJcLzAyXC9hYnlsb24tYWR2YW5jZWQtYW5hbHl0aWNzLXBsYXRmb3JtLTAyLnBuZyJ9">
							<img loading="lazy" decoding="async" width="937" height="855" src="https://www.abylon.hu/wp-content/uploads/2022/02/abylon-advanced-analytics-platform-02.png" class="attachment-full size-full wp-image-8993" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2022/02/abylon-advanced-analytics-platform-02.png 937w, https://www.abylon.hu/wp-content/uploads/2022/02/abylon-advanced-analytics-platform-02-300x274.png 300w, https://www.abylon.hu/wp-content/uploads/2022/02/abylon-advanced-analytics-platform-02-768x701.png 768w, https://www.abylon.hu/wp-content/uploads/2022/02/abylon-advanced-analytics-platform-02-480x438.png 480w" sizes="(max-width: 937px) 100vw, 937px" />								</a>
															</div>
				</div>
				<div class="elementor-element elementor-element-fbf9df6 elementor-widget elementor-widget-text-editor" data-id="fbf9df6" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><a href="https://docs.microsoft.com/en-us/power-bi/create-reports/desktop-upload-desktop-files" target="_blank" rel="noopener">Publish the report</a> if you are finished, and set scheduled refresh in the online PBI service if it makes sense (based on your data).</p>								</div>
				</div>
				<div class="elementor-element elementor-element-523e711 elementor-widget elementor-widget-heading" data-id="523e711" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">ADF</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-8544331 elementor-widget elementor-widget-text-editor" data-id="8544331" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>If your source data changes or refreshes from time to time, you may need an ADF to solve the data processing. Create an ADF in the same RG you used before,<a href="https://docs.microsoft.com/en-us/azure/data-factory/quickstart-create-data-factory-portal#create-a-data-factory" target="_blank" rel="noopener"> set it up and get comfortable with</a> it in a few steps.</p>
<p>You can create <a href="https://docs.microsoft.com/en-us/azure/data-factory/concepts-pipelines-activities?tabs=data-factory" target="_blank" rel="noopener">pipelines with activities</a>, most likely a copy activity, of which you can set ADLS as sink, and your preferred data source as source. Both cloud and on-prem sources usually have authentication that you need to comply with the following way.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-6cede6f elementor-widget elementor-widget-text-editor" data-id="6cede6f" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<ul>
<li>Create a <a href="https://docs.microsoft.com/en-us/azure/data-factory/concepts-linked-services" target="_blank" rel="noopener">Linked Service</a> to store the connection information about the source system. It will basically stand for an independent data store. Every high-level information like <em>id, connection string, username and password, other credentials</em> are usually used here.</li>
<li>Create a <a href="https://docs.microsoft.com/en-us/azure/data-factory/concepts-datasets-linked-services" target="_blank" rel="noopener">Dataset</a> within a Linked Service to specify the exact details of the source files/table you want to connect to (both source or sink). Typically f<em>oldername, filename, text encoding, schema name, tablename, other low-level details</em> are used here.</li>
</ul>								</div>
				</div>
				<div class="elementor-element elementor-element-aea5cdb elementor-widget elementor-widget-text-editor" data-id="aea5cdb" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Since ADF is in the cloud, for on-prem data loads you need to <a href="https://docs.microsoft.com/en-us/azure/data-factory/create-self-hosted-integration-runtime?tabs=data-factory#create-a-self-hosted-ir-via-ui" target="_blank" rel="noopener">configure an Integration Runtime (IR)</a> on the physical machine you are using. Either you are using recurring flat files from your home PC or refreshing database tables from the company’s on-prem SQL server, you will need to have a <a href="https://docs.microsoft.com/en-us/azure/data-factory/concepts-integration-runtime" target="_blank" rel="noopener">self-hosted IR</a> installed on the physical machine to comply with the connection details.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-8311d8a elementor-widget elementor-widget-heading" data-id="8311d8a" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Real-life example</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-d98531e elementor-widget elementor-widget-text-editor" data-id="d98531e" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>If you are curious to see a real life implementation of a similarly built Advanced Analytics platform and the benefits it offers compared to traditional data warehousing check out this short case study: <a title="Advanced Analytics platform on top of a legacy, on-premise Datawarehouse." href="https://www.abylon.hu/blog/advanced-analytics-platform-implementation/" target="_blank" rel="noopener">Advanced Analytics platform on top of a legacy, on-premise Data warehouse.</a></p>								</div>
				</div>
				<div class="elementor-element elementor-element-1fe9205 elementor-align-left elementor-widget elementor-widget-button" data-id="1fe9205" data-element_type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
									<div class="elementor-button-wrapper">
					<a class="elementor-button elementor-button-link elementor-size-md elementor-animation-grow" href="https://www.abylon.hu/blog/advanced-analytics-platform-implementation/">
						<span class="elementor-button-content-wrapper">
									<span class="elementor-button-text">CHECK OUT THE CASE STUDY</span>
					</span>
					</a>
				</div>
								</div>
				</div>
				<div class="elementor-element elementor-element-8918b90 elementor-widget elementor-widget-heading" data-id="8918b90" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Some more tips &amp; tricks, know-how and best practice!</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-461f0a9 elementor-widget elementor-widget-text-editor" data-id="461f0a9" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Well done! As the architecture is complete, everything is ready to operate in production. All of these components have some more useful features to know about, briefly:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-8e19ceb elementor-widget elementor-widget-text-editor" data-id="8e19ceb" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><strong>ADLS</strong></p>
<ul>
<li>
<ul>
<li>Security: Access Key cans be changed, reminders might be set</li>
<li>Lifecycle mnagement: Data storage tiers may be set (hot-cool-arhive) that determine data access time and the mostly cost</li>
</ul>
</li>
</ul>
<p> </p>
<p><strong>DBX</strong></p>
<ul>
<li>
<ul>
<li>Cluster version: runtime setting is rather easy e.g. from version 10.0 to 11.0, just open the dropdown menu</li>
<li>Install libraries: easy to install any Python/R/etc by PiPy, Maven, CRAN or from external link</li>
<li>Access libraries on the cluster: Notebooks can only use the lib, if they are runing on the cluster on that the lib has been installed</li>
<li>Data source: you can configure other source than ADLS only</li>
</ul>
</li>
</ul>
<p> </p>
<p><strong>ADLS-DBX SP</strong></p>
<ul>
<li>
<ul>
<li>Connections can expire: check at the SP (Azure App) when is it expiring, usually 1 year, but it can be set longer. To renew it, the whole process has to be done again (except Azure App creation).</li>
</ul>
</li>
</ul>
<p> </p>
<p><strong>PBI</strong></p>
<ul>
<li>
<ul>
<li>Data sources: it is smarter to use validation by access key, and use only one data source instead of many, if new files are from the same source, this case won’t mean extra work</li>
<li>PBI service: to schedule a refresh, access keys must be added here also (again, smarter to use one source so that credentials are not to be added multiple times)</li>
</ul>
</li>
</ul>
<p> </p>
<p><strong>ADF</strong></p>
<ul>
<li>
<ul>
<li>Scheduled triggers: set periodical execution in the lowest detail one can imagine. Run pipeline on the 2nd and 3rd thursday of every odd month? No problem to set, very cool.</li>
<li>Alerts: very useful to set alerts on pipeline run failures, it helps to get known about problems at the right time</li>
<li>Debug vs Triggered run: triggered run can execute processes in paralel and has greater compute capacity than simple debug. As the name indcates, use debug only for debugging</li>
<li>Git: use Azure DevOps for code management. Releases, publishes, merge, pull, can be done very well.</li>
<li>Azure KeyVault: store your secrets in this Azure resource. Mostly ADF focus, but can be handy many other cases</li>
</ul>
</li>
</ul>								</div>
				</div>
				<div class="elementor-element elementor-element-5eb71c1 elementor-widget elementor-widget-heading" data-id="5eb71c1" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Still curious for more?
</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-b858485 elementor-widget elementor-widget-text-editor" data-id="b858485" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><span class="TextRun Highlight SCXW250245907 BCX8" lang="HU-HU" xml:lang="HU-HU" data-contrast="auto"><span class="SpellingError SCXW250245907 BCX8">If</span><span class="NormalTextRun SCXW250245907 BCX8"> </span><span class="SpellingError SCXW250245907 BCX8">you</span><span class="NormalTextRun SCXW250245907 BCX8"> </span><span class="SpellingError SCXW250245907 BCX8">feel</span><span class="NormalTextRun SCXW250245907 BCX8"> </span><span class="SpellingError SCXW250245907 BCX8">that</span><span class="NormalTextRun SCXW250245907 BCX8"> </span><span class="SpellingError SCXW250245907 BCX8">your</span><span class="NormalTextRun SCXW250245907 BCX8"> </span><span class="SpellingError SCXW250245907 BCX8">appetite</span><span class="NormalTextRun SCXW250245907 BCX8"> is </span><span class="SpellingError SCXW250245907 BCX8">just</span><span class="NormalTextRun SCXW250245907 BCX8"> </span><span class="SpellingError SCXW250245907 BCX8">coming</span><span class="NormalTextRun SCXW250245907 BCX8"> </span><span class="SpellingError SCXW250245907 BCX8">for</span><span class="NormalTextRun SCXW250245907 BCX8"> more</span><span class="NormalTextRun SCXW250245907 BCX8"> </span><span class="SpellingError SCXW250245907 BCX8">advanced</span><span class="NormalTextRun SCXW250245907 BCX8"> </span><span class="SpellingError SCXW250245907 BCX8">analytics</span><span class="NormalTextRun SCXW250245907 BCX8"> </span><span class="SpellingError SCXW250245907 BCX8">solutions</span><span class="NormalTextRun SCXW250245907 BCX8">, </span><span class="SpellingError SCXW250245907 BCX8">check:</span></span><span class="EOP SCXW250245907 BCX8" data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> </span></p>
<ul>
<li><a href="https://azure.microsoft.com/hu-hu/services/synapse-analytics/" target="_blank" rel="noopener"><strong>Azure Synapse Analytics</strong></a> – if you want to quench your hunger with modern <strong>cloud database solutions</strong> and massive data workloads in the cloud, or take a bite to</li>
<li><a href="https://azure.microsoft.com/en-us/free/machine-learning/" target="_blank" rel="noopener"><strong>Azure Machine Learning</strong></a> – if you feel like taking an adventure with the <strong>next generation data science solution</strong> of Microsoft (an extraordinary crossover of DBX, Rapid Miner and a REST API portal)</li>
</ul>								</div>
				</div>
				<section class="elementor-section elementor-inner-section elementor-element elementor-element-57b840e elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="57b840e" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-a58f984" data-id="a58f984" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-d6558e5 elementor-align-justify elementor-widget elementor-widget-button" data-id="d6558e5" data-element_type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
									<div class="elementor-button-wrapper">
					<a class="elementor-button elementor-button-link elementor-size-md elementor-animation-grow" href="https://www.abylon.hu/blog/">
						<span class="elementor-button-content-wrapper">
									<span class="elementor-button-text">MORE DATA & ANALYTICS POSTS</span>
					</span>
					</a>
				</div>
								</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-5874555" data-id="5874555" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-925cc73 elementor-align-justify elementor-widget elementor-widget-button" data-id="925cc73" data-element_type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
									<div class="elementor-button-wrapper">
					<a class="elementor-button elementor-button-link elementor-size-md elementor-animation-grow" href="https://www.abylon.hu/solutions/">
						<span class="elementor-button-content-wrapper">
									<span class="elementor-button-text">CHECK OUR SOLUTIONS PAGE</span>
					</span>
					</a>
				</div>
								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-0d2bbff elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="0d2bbff" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-53b54b9" data-id="53b54b9" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-cd35e92 elementor-position-left elementor-vertical-align-middle elementor-widget elementor-widget-image-box" data-id="cd35e92" data-element_type="widget" data-widget_type="image-box.default">
				<div class="elementor-widget-container">
					<div class="elementor-image-box-wrapper"><figure class="elementor-image-box-img"><img loading="lazy" decoding="async" width="200" height="200" src="https://www.abylon.hu/wp-content/uploads/2022/09/Balazs-Katona-Abylon-200x200-1.jpg" class="attachment-full size-full wp-image-11747" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2022/09/Balazs-Katona-Abylon-200x200-1.jpg 200w, https://www.abylon.hu/wp-content/uploads/2022/09/Balazs-Katona-Abylon-200x200-1-150x150.jpg 150w" sizes="(max-width: 200px) 100vw, 200px" /></figure><div class="elementor-image-box-content"><h4 class="elementor-image-box-title">Author of the post</h4><p class="elementor-image-box-description">Balázs Katona, BI Consultant / Data Engineer at Abylon Consulting

</br><a href="https://www.linkedin.com/in/katona-balazs-05/" target="_blank" rel="noopener">Linkedin Profile</a></p></div></div>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a rel="nofollow" href="https://www.abylon.hu/bi-hu/advanced-analytics-platform-how-to-create-a-dream-framework-for-python-r/">Advanced Analytics Platform – how to create a dream framework for Python/R</a> appeared first on <a rel="nofollow" href="https://www.abylon.hu">Abylon</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>What clients say about Rapid Analytics?</title>
		<link>https://www.abylon.hu/bi-hu/what-clients-say-about-rapid-analytics/</link>
		
		<dc:creator><![CDATA[Zoltán Zicherman]]></dc:creator>
		<pubDate>Tue, 16 Nov 2021 17:29:58 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[BI]]></category>
		<category><![CDATA[Case Study]]></category>
		<category><![CDATA[Data Analytics]]></category>
		<category><![CDATA[Rapid Platform]]></category>
		<category><![CDATA[Abylon]]></category>
		<guid isPermaLink="false">https://www.abylon.hu/?p=9126</guid>

					<description><![CDATA[<p>Quick interview with our client's BI Architect on how much time did Abylon Rapid Analytics saved them during their DWH project. (TL;DR; a lot)</p>
<p>The post <a rel="nofollow" href="https://www.abylon.hu/bi-hu/what-clients-say-about-rapid-analytics/">What clients say about Rapid Analytics?</a> appeared first on <a rel="nofollow" href="https://www.abylon.hu">Abylon</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="9126" class="elementor elementor-9126" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-382f8ea elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="382f8ea" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0d3f498" data-id="0d3f498" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-10c2184 elementor-widget elementor-widget-heading" data-id="10c2184" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Interview: What our clients say about our DWH Automation tool</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-b2ce895 elementor-widget elementor-widget-text-editor" data-id="b2ce895" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>A few weeks ago we successfully completed a data warehouse project for Dashboard Solutions using our <a href="https://www.abylon.hu/solutions/data-warehouse-automation/">Data Warehouse Automation Solution – Abylon Rapid Analytics.</a> In relation to this, we had a quick interview about with senior BI Architect Zoltán Nyircsák to get a quick feedback from the clients’ side.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-3b05dde elementor-widget elementor-widget-text-editor" data-id="3b05dde" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><strong>Abylon:</strong> Thank you for taking the time for this quick interview. First of all, for what tasks do you use Abylon Rapid Analytics?</p><p><strong>Zoltán Nyircsák</strong>: <em>It is important to mention that we basically did not buy a technology or a component, but a solution. We chose Abylon and their data warehousing solution because the technology they used promised a quick rollout (and they kept that promise). But nonetheless, it was paramount that the experts were truly experts from both business and technology perspective. In fact, on the customer side we don’t even really need to understand what ARA (editor’s note: ARA stands for Abylon Rapid Analytics) does, it’s enough to articulate the business problem and then enjoy the benefits.</em></p><p><strong>Abylon:</strong> How and to what extent does Abylon Rapid Analytics simplify your work?</p><p><strong>Zoltán Nyircsák:</strong> <em>Since the technological solution and its maintenance and development are not on the customer’s side, so it’s not easy to answer this question. However, we do enjoy the benefits from the business side. Eg: rapid development of data markets.</em></p><p><strong>Abylon:</strong> How responsive is the solution (or Abylon?) How fast can it track changes?</p><p><strong>Zoltán Nyircsák:</strong> <em>The responsiveness is good. There were several source system changes that were easily handled by the solution. For example, there have been several overnight transitions to develop a new source system. Because we work with source systems that are in use, they are constantly changing, evolving, getting new features. So it was important for us that the BI solution we were building could handle this (with the help of Abylon experts, of course.)</em></p><p><strong>Abylon:</strong> How flexible is the system?</p><p><strong>Zoltán Nyircsák:</strong> <em>So far, we have found a solution for everything together. Here again, I would like to point out that the technology used is “hidden” from us. This division of responsibilities between us and your experts was agreed prior to the project. Our part is to formulate the request, whether it’s some specific data, analysis, or business problem, and you give us the solution.</em></p><p><strong>Abylon:</strong> How complicated do you find managing such a system?</p><p><strong>Zoltán Nyircsák:</strong> <em>This is also part of the service, so we don’t have to deal with it. However, the data warehouse and data market based on the solution, and the Power BI service, was an excellent choice. We are able to respond quickly to new business needs, facilitating the accurate, timely and reliable delivery of not only data but also information.</em></p><p>Abylon: What do you think, how much time did the use of Rapid Analytics saved you during your data warehouse building project?</p><p><strong>Zoltán Nyircsák:</strong> <em>Without it, it would’ve been an order of magnitude (I really mean the 10 times multiplier) more time and money to develop such a solution and then to adopt and react to all the changes. The development time has been largely reallocated and instead of spending time on manually creating the obligatory things, we were able to spend more time on the essential things and put more energy into the construction of the data market.</em></p><p><strong>Abylon:</strong> Finally, what would be the feature that would make Abylon Rapid Analytics even more valuable to you?</p><p><strong>Zoltán Nyircsák:</strong> <em>Right now, we don’t really need anything else, but if I think about the future, maybe a built-in report on the operation of Abylon Rapid Analytics, the data loads and performance would be good.</em></p>								</div>
				</div>
				<div class="elementor-element elementor-element-b22f781 elementor-widget elementor-widget-text-editor" data-id="b22f781" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>If you are interested in our DWH Automation solution, head to the dedicated product page or <strong><a href="https://www.abylon.hu/contact-us/">contact us</a> </strong>and we’ll be happy to answer your questions or arrange an online presentation</p>								</div>
				</div>
				<div class="elementor-element elementor-element-49778f1 elementor-align-left elementor-widget elementor-widget-button" data-id="49778f1" data-element_type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
									<div class="elementor-button-wrapper">
					<a class="elementor-button elementor-button-link elementor-size-md elementor-animation-grow" href="https://www.abylon.hu/solutions/data-warehouse-automation/">
						<span class="elementor-button-content-wrapper">
									<span class="elementor-button-text">MORE ON DWH AUTOMATION</span>
					</span>
					</a>
				</div>
								</div>
				</div>
				<div class="elementor-element elementor-element-d8f90bb elementor-widget elementor-widget-spacer" data-id="d8f90bb" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a rel="nofollow" href="https://www.abylon.hu/bi-hu/what-clients-say-about-rapid-analytics/">What clients say about Rapid Analytics?</a> appeared first on <a rel="nofollow" href="https://www.abylon.hu">Abylon</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to post G/L records with retroactive data with the help of BI and SCD?</title>
		<link>https://www.abylon.hu/bi-hu/how-to-post-g-l-records-with-retroactive-data/</link>
		
		<dc:creator><![CDATA[Zoltán Zicherman]]></dc:creator>
		<pubDate>Wed, 10 Nov 2021 15:04:57 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[BI]]></category>
		<category><![CDATA[Data Analytics]]></category>
		<category><![CDATA[Rapid Platform]]></category>
		<category><![CDATA[Abylon]]></category>
		<guid isPermaLink="false">https://www.abylon.hu/?p=9398</guid>

					<description><![CDATA[<p>For whom this blogpost is meant for IT professionals who work with data, optionally familiar with BI or Datawarehouse technologies, and may need to create</p>
<p>The post <a rel="nofollow" href="https://www.abylon.hu/bi-hu/how-to-post-g-l-records-with-retroactive-data/">How to post G/L records with retroactive data with the help of BI and SCD?</a> appeared first on <a rel="nofollow" href="https://www.abylon.hu">Abylon</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="9398" class="elementor elementor-9398" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-7019846 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="7019846" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-e425f01" data-id="e425f01" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-3354736 elementor-widget elementor-widget-heading" data-id="3354736" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">For whom this blogpost is meant for</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-feb2795 elementor-widget elementor-widget-text-editor" data-id="feb2795" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>IT professionals who work with data, optionally familiar with BI or Datawarehouse technologies, and may need to create a solution in which they need to create posting files or an interface for accounting /ERP systems from historical data. This article can help them to identify the required actions and things to consider.</p>
<p>On the other hand, it is also intended for financial professionals or Business Analysts who are involved in a project or projects where the goal is to develop an interface between normal transaction systems and accounting/ERP systems.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-65c6ff5 elementor-widget elementor-widget-heading" data-id="65c6ff5" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Intro</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-799ae8b elementor-widget elementor-widget-heading" data-id="799ae8b" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">What is posting in accounting?</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-403055b elementor-widget elementor-widget-text-editor" data-id="403055b" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><em>If you know what an SCD, or even a SCD2 is, feel free to jump on to the task description. If you don’t know what they mean, the following few lines can help you understand.</em></p>								</div>
				</div>
				<div class="elementor-element elementor-element-42cae0a elementor-widget elementor-widget-text-editor" data-id="42cae0a" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>As part of the month-end closing process, it is always necessary to make numerous manual postings in the financial accounting. Posting in accounting is when the balances in sub-ledgers and the general journal are shifted into the general ledger. Posting only transfers the total balance in a sub-ledger into the general ledger, not the individual transactions in the sub-ledger. In other words, after you enter, review, and approve transactions, you must post them to update your systems with current transaction records and maintain system integrity.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-970d5c0 elementor-widget elementor-widget-heading" data-id="970d5c0" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">What is an SCD?
</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-14a83c6 elementor-widget elementor-widget-text-editor" data-id="14a83c6" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>SCD stands for Slowly Changing Dimension, and is essentially a data structure that allows us to keep track of changes in our data.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-af6d88e elementor-widget elementor-widget-heading" data-id="af6d88e" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">What does “data change” mean?
</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-8561aab elementor-widget elementor-widget-text-editor" data-id="8561aab" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>In the world of IT, we typically store data in relational and non-relational databases. In this article, we start with relational databases, which are typically stored in SQL databases. Data entry is usually done through some kind of application where users input data using a desktop or sometimes some mobile device. No matter how, but the data eventually ends up in a data table. Consider a typical transaction: a sale event occurs and the following data (also called a record in a database language), that is, records are created</p>								</div>
				</div>
				<div class="elementor-element elementor-element-dda3a68 elementor-widget elementor-widget-image" data-id="dda3a68" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="549" height="106" src="https://www.abylon.hu/wp-content/uploads/2021/11/Screenshot_1-1.jpg" class="attachment-full size-full wp-image-8624" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2021/11/Screenshot_1-1.jpg 549w, https://www.abylon.hu/wp-content/uploads/2021/11/Screenshot_1-1-300x58.jpg 300w, https://www.abylon.hu/wp-content/uploads/2021/11/Screenshot_1-1-480x93.jpg 480w" sizes="(max-width: 549px) 100vw, 549px" />															</div>
				</div>
				<div class="elementor-element elementor-element-4142a9f elementor-widget elementor-widget-text-editor" data-id="4142a9f" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<div class="et_pb_module et_pb_text et_pb_text_7  et_pb_text_align_left et_pb_bg_layout_light">
<div class="et_pb_text_inner">
<p>A data changes occur when a change, modification or deletion occurs in the already created and stored data (in this case the data above). SCD types are intended to symbolize the handling of the above changes.</p>
<p>More info on SCD:<br /><a href="https://www.datawarehouse4u.info/SCD-Slowly-Changing-Dimensions.html" target="_blank" rel="noopener"><i><span data-contrast="none">https://www.datawarehouse4u.info/SCD-Slowly-Changing-Dimensions.html</span></i></a><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}"> </span></p>
<p><a href="https://www.allthingssql.com/slowly-changing-dimension-types/" target="_blank" rel="noopener"><i><span data-contrast="none">https://www.allthingssql.com/slowly-changing-dimension-types/</span></i></a><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}"> </span></p>
<p><a href="https://en.wikipedia.org/wiki/Slowly_changing_dimension" target="_blank" rel="noopener"><span data-contrast="none">Slowly changing dimension – Wikipedia</span></a><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}"> </span></p>
</div>
</div>
<div class="et_pb_module et_pb_text et_pb_text_8  et_pb_text_align_left et_pb_bg_layout_light">
<div class="et_pb_text_inner">
<p> </p>
<p>For example, SCD0 means that no changes are allowed to the previous data – (in practice, this is how transactions are stored in Block chain technologies, where you cannot delete or modify previous transaction data).</p>
<p>SCD1 is when we pass all changes to the current data file and do not store anywhere what data was stored before. Technically, SCD1 can already be considered a historization.</p>
<p>In this post, we show one of the benefits of SCD2 and how this type of historization can be used to create appropriate monthly posting files or a proper interface for accounting. You can read more about SCD2 and the different SCD formats following the links above</p>
</div>
</div>								</div>
				</div>
				<div class="elementor-element elementor-element-c741792 elementor-widget elementor-widget-heading" data-id="c741792" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">The task: Create a posting file with retroactive – aka. closed periods adjusting</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-624e9d6 elementor-widget elementor-widget-text-editor" data-id="624e9d6" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Let’s suppose our company builds a calculation engine (hereinafter: the engine) in a database that receives transaction data from an application and then recalculates the transaction values from the received transaction data each time it runs.</p>
<p><em>( It doesn’t matter if this is a separate database, a database schema, or part of a transaction system to be developed, this solution is feasible in any case. I will now describe a solution where the transaction data is transferred using ETL processes to another database, and some of the calculations take place there, not in the application itself )</em></p>								</div>
				</div>
				<div class="elementor-element elementor-element-01b4f7a elementor-widget elementor-widget-text-editor" data-id="01b4f7a" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Several transformations can occur in the database that do not happen on the application side, e.g. Exchange rate assignment, assignment of partner data, product info, even purchase data, purchase prices, etc. On every run the engine receives the data from the application and from all other source systems and completely re-calculates the output data.</p>
<p>In our case, it is also the job of the engine to produce a posting file (or an interface) for the accounting program at an unspecified time at the beginning of each month. This part of the process is done manually, there is no automated running and data extraction</p>								</div>
				</div>
				<div class="elementor-element elementor-element-072ad4c elementor-widget elementor-widget-heading" data-id="072ad4c" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">The Challenge</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-3a5a6da elementor-widget elementor-widget-text-editor" data-id="3a5a6da" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>The engine completely recalculates everything on each run – clears the entire table contents at the database level (TRUNCATE) and loads the calculated data completely (INSERT).</p>
<p>Posting, on the other hand, occurs once a month at an unspecified time, during which only a portion of the calculated data (typically data for the previous month) is loaded into the accounting software (or ERP), based on a predefined field containing the transaction date.</p>
<p>The business analysis revealed that some transaction data may change even months after the first recording (UPDATE).</p>
<p>We did not receive any information regarding the possibility of data deletion during the development, however, it cannot be completely ruled out from the engine’s point of view</p>								</div>
				</div>
				<div class="elementor-element elementor-element-fbcc2ac elementor-widget elementor-widget-text-editor" data-id="fbcc2ac" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><strong>So to sum up the problem: how can we ensure the consistency of the calculated current data and the accounting data at the analytical level in the long run?</strong></p>								</div>
				</div>
				<div class="elementor-element elementor-element-93ad8c6 elementor-widget elementor-widget-text-editor" data-id="93ad8c6" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Let’s see our Example:</p>
<p>The transaction system will be launched in January 2022, and will be showing the following transactions when they are imported on the 2nd of February:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-1655d6c elementor-widget elementor-widget-image" data-id="1655d6c" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="547" height="104" src="https://www.abylon.hu/wp-content/uploads/2021/11/Screenshot_2-1.jpg" class="attachment-full size-full wp-image-8625" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2021/11/Screenshot_2-1.jpg 547w, https://www.abylon.hu/wp-content/uploads/2021/11/Screenshot_2-1-300x57.jpg 300w, https://www.abylon.hu/wp-content/uploads/2021/11/Screenshot_2-1-480x91.jpg 480w" sizes="(max-width: 547px) 100vw, 547px" />															</div>
				</div>
				<div class="elementor-element elementor-element-d88c695 elementor-widget elementor-widget-text-editor" data-id="d88c695" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>On the 3rd or March 2022 (the time of the next monthly posting/import) the whole transaction data set will look like this:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-9aa84ca elementor-widget elementor-widget-image" data-id="9aa84ca" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="550" height="190" src="https://www.abylon.hu/wp-content/uploads/2021/11/Screenshot_3-1.jpg" class="attachment-full size-full wp-image-8626" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2021/11/Screenshot_3-1.jpg 550w, https://www.abylon.hu/wp-content/uploads/2021/11/Screenshot_3-1-300x104.jpg 300w, https://www.abylon.hu/wp-content/uploads/2021/11/Screenshot_3-1-480x166.jpg 480w" sizes="(max-width: 550px) 100vw, 550px" />															</div>
				</div>
				<div class="elementor-element elementor-element-bafe770 elementor-widget elementor-widget-text-editor" data-id="bafe770" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>During the import on 3rd of March 2022, according to the protocol, only the data with the February TransactionDate (aka. PostingDate) will be loaded into the accounting system, however, we can see in the example that the data line (record) with the ID 3 has been deleted and for the record with Id 2, the Quantity was changed from 50 to 48.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-39c1d73 elementor-widget elementor-widget-heading" data-id="39c1d73" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">The Alternatives</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-6c74fa6 elementor-widget elementor-widget-text-editor" data-id="6c74fa6" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>During the posting (in the posting file), we can follow the general cancellation rules, ie we make a change by adding the value of the previously recorded transaction with a negative sign (we can also post a canceled transaction in this way), and then re-enter the value and data of the correct transaction.</p>
<p>If the accounting software or ERP allows it, it is advisable to record the fact of the cancellation, and to record the ID linking the posted item to the original transaction together with the accounting item. (In our case there are two options: it is logical to use an ID field for this, however, if for some reason this field is not available, the InvoiceNumber and ItemNo lines can clearly identify a record, so we could use those as well).</p>
<p>A possible solution would be if the accounting system would always receive the full calculation, but this would cause a lot of data redundancy that would only make data reconciliation between the accounting and the engine even more difficult.</p>
<p>So keep in mind to make it as easy as possible to reconcile the differences.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-76d4376 elementor-widget elementor-widget-heading" data-id="76d4376" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">The Solution: Historization and SCD2 helps!</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-364f0d3 elementor-widget elementor-widget-text-editor" data-id="364f0d3" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>First of all, we introduce historization into the engine in at least SCD2 format. During historization, it is sufficient to historize the final table containing each calculation step.</p>
<p>Historization – illustrated with data below – is done by introducing 2 Flag fields as well as two date fields, a DAT_FROM and a DAT_TO field, which show the validity period of the given transaction record.</p>
<p>The two flags are FLG_IS_CURRENT and FLG_IS_DELETED. Flags are managed as Bits, so they can only take a value of 0 or 1, 0 is false and 1 is true. <em>(This form of SCD2 is just an option, no obligation for the data types, nor for the column names, etc. Try to grasp only it’s logic, if you are not familiar with it.</em></p>								</div>
				</div>
				<div class="elementor-element elementor-element-24e2351 elementor-widget elementor-widget-text-editor" data-id="24e2351" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>For the historization you will need to select the key field or key fields, using which the items can be clearly identified. These key fields determine whether an item was previously included in the data or not, and the modification steps are also performed based on these key fields.</p>
<p>When entering the system the current data will get the current date / time in the DAT_FROM field, the value of FLG_IS_CURRENT will be 1, the value of FLG_IS_DELETED = 0, and the value of the DAT_TO field will either be empty, ie NULL or e.g. 2999-12-31.</p>
<p><em>(I suggest a preferably high default value for the DAT_TO field, because NULL’s are mostly incomparable in rdbms systems.)</em></p>
<p>If an item is deleted, FLG_IS_CURRENT will be 0, FLG_IS_DELETED will be 1, and the DAT_TO value field will be updated to the time of the change.</p>
<p>If modified, the value of the FLG_IS_CURRENT field for the modified record changes to 0, and the value of DAT_TO changes to the time the change is registered (when the modified field is historized), and the field with new values is entered as the current new value in the historized table.</p>
<p>It is a good idea to store the current and historical tables in separate tables.</p>
<p>In the above case the HISTORY table would look like this on the 3rd of March 2022:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-90dbe6b elementor-widget elementor-widget-image" data-id="90dbe6b" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="859" height="252" src="https://www.abylon.hu/wp-content/uploads/2021/11/picture-1.png" class="attachment-full size-full wp-image-8615" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2021/11/picture-1.png 859w, https://www.abylon.hu/wp-content/uploads/2021/11/picture-1-300x88.png 300w, https://www.abylon.hu/wp-content/uploads/2021/11/picture-1-768x225.png 768w, https://www.abylon.hu/wp-content/uploads/2021/11/picture-1-480x141.png 480w" sizes="(max-width: 859px) 100vw, 859px" />															</div>
				</div>
				<div class="elementor-element elementor-element-c2a2cb1 elementor-widget elementor-widget-text-editor" data-id="c2a2cb1" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>We can see that both items from January, which were modified, were modified in February, after the date of the last dispatch/import (February 2)</p>								</div>
				</div>
				<div class="elementor-element elementor-element-c49fd8c elementor-widget elementor-widget-heading" data-id="c49fd8c" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Preparing for posting/import</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-7c50026 elementor-widget elementor-widget-text-editor" data-id="7c50026" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>In order to be able to correct the posting with previously deleted or modified items, whether we export them manually or automatically for posting, we must record the date of the export. Let’s call this the DateOfExport parameter.</p>
<p>It is advisable to organize the actual solution by supplementing the record files containing the current transactions together with the plus sets needed for the corrections (and providing the sets with the appropriate signs), which can be handled to perform all the modification and transformation steps in the engine together which helps to produce the posting file.</p>
<p>The following figure will help you understand which sets to add to the current one for this purpose:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-1646062 elementor-widget elementor-widget-image" data-id="1646062" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
																<a href="https://www.abylon.hu/wp-content/uploads/2021/11/record-posting-with-retroactive-data.jpg" data-elementor-open-lightbox="yes" data-e-action-hash="#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6ODYyMCwidXJsIjoiaHR0cHM6XC9cL3d3dy5hYnlsb24uaHVcL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjFcLzExXC9yZWNvcmQtcG9zdGluZy13aXRoLXJldHJvYWN0aXZlLWRhdGEuanBnIn0%3D">
							<img loading="lazy" decoding="async" width="800" height="502" src="https://www.abylon.hu/wp-content/uploads/2021/11/record-posting-with-retroactive-data.jpg" class="attachment-full size-full wp-image-8620" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2021/11/record-posting-with-retroactive-data.jpg 800w, https://www.abylon.hu/wp-content/uploads/2021/11/record-posting-with-retroactive-data-300x188.jpg 300w, https://www.abylon.hu/wp-content/uploads/2021/11/record-posting-with-retroactive-data-768x482.jpg 768w, https://www.abylon.hu/wp-content/uploads/2021/11/record-posting-with-retroactive-data-400x250.jpg 400w, https://www.abylon.hu/wp-content/uploads/2021/11/record-posting-with-retroactive-data-480x301.jpg 480w" sizes="(max-width: 800px) 100vw, 800px" />								</a>
															</div>
				</div>
				<div class="elementor-element elementor-element-dfecff1 elementor-widget elementor-widget-heading" data-id="dfecff1" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Explanation:</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-886dddd elementor-widget elementor-widget-text-editor" data-id="886dddd" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<ul>
<li>The blue and red areas are the ones that output the entire dataset that needs to be transformed.</li>
<li>The blue areas are the ones that are counted with their original sign, the red ones are calculated with the opposite sign.</li>
<li>It can be seen that only part of the entire ACTUAL file, is exported. The export is based on the original PostingDate field of the transaction data, that is, when the transaction was created.</li>
<li>The @LastDateOfExport is the date when previous month’s data was exported.</li>
<li>In addition to the current monthly data of the current record file, we need to add three sets of data:
<ul>
<li>Deleted records: Records for which the following conditions are true in the historized table (each condition must be met, i.e. there is an “and” relationship between the conditions):
<ul>
<li>FLG_IS_CURRENT = 0</li>
<li>FLG_IS_DELETED = 1</li>
<li>DAT_TO › @LastDateOfExport – this guarantees that items that have been deleted AFTER a previous export will now be entered with a negative sign in the record set before the transformation.</li>
</ul>
</li>
<li>Historical data for modified records with a negative (opposite) sign: these are the records for which the following conditions are true in the historized table (each condition must be met, so there is an “and” relationship between the conditions):
<ul>
<li>FLG_IS_CURRENT = 0</li>
<li>FLG_IS_DELETED = 0</li>
<li>the value of @LastDateOfExport is between the DAT_FROM and DAT_TO records</li>
</ul>
</li>
<li>Current data of modified records: all records from the entire current set whose identifiers are included in the records defined in set 2. These are not duplications because they only contain records that were already current in a previous post, but their DAT_TO is greater than their @LastDateOfExport. The sign of the values of the present set is not changed.</li>
</ul>
</li>
<li>One important modification: for all non-current records, the PostingDate value, ie the date value based on which it is selected for the given monthly post export, is changed to DAT_TO, thus guaranteeing that the added sets are included in the actual post file</li>
</ul>								</div>
				</div>
				<div class="elementor-element elementor-element-a38e408 elementor-widget elementor-widget-text-editor" data-id="a38e408" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><span class="NormalTextRun SCXW54617853 BCX0">The </span><span class="NormalTextRun SpellingErrorV2 SCXW54617853 BCX0">base</span><span class="NormalTextRun SCXW54617853 BCX0"> </span><span class="NormalTextRun SpellingErrorV2 SCXW54617853 BCX0">record</span><span class="NormalTextRun SCXW54617853 BCX0"> </span><span class="NormalTextRun SpellingErrorV2 SCXW54617853 BCX0">set</span><span class="NormalTextRun SCXW54617853 BCX0"> </span><span class="NormalTextRun SpellingErrorV2 SCXW54617853 BCX0">generated</span><span class="NormalTextRun SCXW54617853 BCX0"> </span><span class="NormalTextRun SpellingErrorV2 SCXW54617853 BCX0">this</span><span class="NormalTextRun SCXW54617853 BCX0"> </span><span class="NormalTextRun SpellingErrorV2 SCXW54617853 BCX0">way:</span></p>								</div>
				</div>
				<div class="elementor-element elementor-element-aededf9 elementor-widget elementor-widget-image" data-id="aededf9" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="854" height="203" src="https://www.abylon.hu/wp-content/uploads/2021/11/picture-3.png" class="attachment-full size-full wp-image-8618" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2021/11/picture-3.png 854w, https://www.abylon.hu/wp-content/uploads/2021/11/picture-3-300x71.png 300w, https://www.abylon.hu/wp-content/uploads/2021/11/picture-3-768x183.png 768w, https://www.abylon.hu/wp-content/uploads/2021/11/picture-3-480x114.png 480w" sizes="(max-width: 854px) 100vw, 854px" />															</div>
				</div>
				<div class="elementor-element elementor-element-d977194 elementor-widget elementor-widget-text-editor" data-id="d977194" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>We handle the above sets as a single input and we perform the transformations that are required for the sets to be accepted by the accounting software or ERP.</p>
<p>This blog entry does not cover this topic because these transformation are all target system specific and do not affect the data set and historization operations described above.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-a80dcff elementor-widget elementor-widget-heading" data-id="a80dcff" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Benefits of this approach vs. other approaches
</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-b242864 elementor-widget elementor-widget-text-editor" data-id="b242864" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<ul>
<li>We don’t do a complete data file load into the accounting software or ERP system every time we do a posting. We do not burden the accounting systems with unnecessary records, simplifying the reconciliation.</li>
<li>We ensure continuous matching at the analytical level between the accounting software / ERP system and the reports showing the current data (eg towards partners)</li>
<li>We facilitates analytical reconciliations — especially when IDs are included in the posting file so that cancellation events (items recorded with the opposite sign) can be marked separately. This also facilitates coordination with partners and monthly and annual closing tasks.</li>
<li>We can also use this in case of automated connection. The only task is to store the DateOfExport value (recordeed manually in the present case study) in the “engine” after the successful posting.</li>
<li>We cover almost every possible business need creating a robust solution that is prepared for future requests. For example, even if initially there has been no demand to manage cancellations, if such requirement may arise later the engine will be prepared for this</li>
</ul>								</div>
				</div>
				<div class="elementor-element elementor-element-b5e46a0 elementor-widget elementor-widget-heading" data-id="b5e46a0" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Just one last thing:</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-2dd6d53 elementor-widget elementor-widget-text-editor" data-id="2dd6d53" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Our Rapid solutions (Rapid Planning and Rapid Analytics) provide the ability to use all of the slowly change data management methodologies at the data warehouse level, so our company and our clients can easily create data market solutions supplemented with historization, based on which “time-machine” tabular models can be created. For example our <strong><a href="https://www.abylon.hu/solutions/data-warehouse-automation/">datawarehouse automation solution (Rapid Analytics)</a></strong> is ideal for default historicization solutions</p>								</div>
				</div>
				<div class="elementor-element elementor-element-dd8c4d9 elementor-align-left elementor-widget elementor-widget-button" data-id="dd8c4d9" data-element_type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
									<div class="elementor-button-wrapper">
					<a class="elementor-button elementor-button-link elementor-size-md elementor-animation-grow" href="https://www.abylon.hu/solutions/data-warehouse-automation/">
						<span class="elementor-button-content-wrapper">
									<span class="elementor-button-text">MORE ON RAPID ANALYTICS</span>
					</span>
					</a>
				</div>
								</div>
				</div>
				<div class="elementor-element elementor-element-e28daf6 elementor-widget elementor-widget-text-editor" data-id="e28daf6" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									Thank you for your time! I hope you liked my post and found it useful. If you have any comments, additions or questions feel free to contact me at <a href="mailto:kreiszzs@abylon.hu">kreiszzs@abylon.hu</a> 								</div>
				</div>
				<div class="elementor-element elementor-element-01793c9 elementor-position-left elementor-vertical-align-middle elementor-widget elementor-widget-image-box" data-id="01793c9" data-element_type="widget" data-widget_type="image-box.default">
				<div class="elementor-widget-container">
					<div class="elementor-image-box-wrapper"><figure class="elementor-image-box-img"><img loading="lazy" decoding="async" width="200" height="200" src="https://www.abylon.hu/wp-content/uploads/2022/04/Zsolt-Kreisz-Abylon-200x200-1.jpg" class="attachment-full size-full wp-image-11775" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2022/04/Zsolt-Kreisz-Abylon-200x200-1.jpg 200w, https://www.abylon.hu/wp-content/uploads/2022/04/Zsolt-Kreisz-Abylon-200x200-1-150x150.jpg 150w" sizes="(max-width: 200px) 100vw, 200px" /></figure><div class="elementor-image-box-content"><h4 class="elementor-image-box-title">Author of the post:</h4><p class="elementor-image-box-description">Zsolt Kreisz - Financial Controller in the past, now BI Developer at Abylon Consulting.

</br><a href="https://www.linkedin.com/in/zsolt-kreisz-11565462" target="_blank" rel="noopener">Linkedin Profile</a></p></div></div>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a rel="nofollow" href="https://www.abylon.hu/bi-hu/how-to-post-g-l-records-with-retroactive-data/">How to post G/L records with retroactive data with the help of BI and SCD?</a> appeared first on <a rel="nofollow" href="https://www.abylon.hu">Abylon</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Railway data map visualizations</title>
		<link>https://www.abylon.hu/bi-hu/railway-data-map-visualizations/</link>
		
		<dc:creator><![CDATA[Zoltán Zicherman]]></dc:creator>
		<pubDate>Mon, 11 Oct 2021 15:29:12 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Abylon Map]]></category>
		<category><![CDATA[BI]]></category>
		<category><![CDATA[Data Analytics]]></category>
		<category><![CDATA[Abylon]]></category>
		<guid isPermaLink="false">https://www.abylon.hu/?p=9407</guid>

					<description><![CDATA[<p>In the world of Power BI, there are no identical solutions. Both, the business requirements and the data are almost always different. In the ETL</p>
<p>The post <a rel="nofollow" href="https://www.abylon.hu/bi-hu/railway-data-map-visualizations/">Railway data map visualizations</a> appeared first on <a rel="nofollow" href="https://www.abylon.hu">Abylon</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="9407" class="elementor elementor-9407" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-7ded622 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="7ded622" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1b76119" data-id="1b76119" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-f43d3e1 elementor-widget elementor-widget-text-editor" data-id="f43d3e1" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>In the world of Power BI, there are no identical solutions. Both, the business requirements and the data are almost always different. In the ETL processes as well as in data modeling, we need to find the solutions that can provide the answers to the questions in the simplest and fastest way.</p>
<p>The complexity of the data processing, the running time, the transparency of the tabular model, the complexity of the measures used and the running time are also very important metrics measuring the quality of our work.</p>
<p>When visualizing railway data on a map, the appropriate model can be identified knowing the business meaning of the data and its volume and complexity. Typically, there are two types of data available in case of line-based infrastructures:</p>
<ul>
<li>Point</li>
<li>Route (Railway route</li>
</ul>								</div>
				</div>
				<div class="elementor-element elementor-element-cafc1d1 elementor-widget elementor-widget-heading" data-id="cafc1d1" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Connecting the fact data with the map objects</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-ed65721 elementor-widget elementor-widget-text-editor" data-id="ed65721" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Point data can be an extraordinary event (eg accident), data related to an infrastructure element (maximum speed, condition, scheduled maintenance, cost) or detailed traffic data for a certain train based on its railml schedule and actual traffic data. This data can be fitted to a star schema, and the dimension table serving the map can be linked to the model with a simple One to Many connection</p>								</div>
				</div>
				<div class="elementor-element elementor-element-84caba8 elementor-widget elementor-widget-text-editor" data-id="84caba8" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>In the image below, the EU_OBJECTS dimension table is the display source of the map, it will display the objects (line or point) broken down by ID, based on their type. The EU_TRANSPORT table contains the factual data:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-99088e2 elementor-widget elementor-widget-image" data-id="99088e2" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
																<a href="https://www.abylon.hu/wp-content/uploads/2021/10/Map-visualization-of-various-types-of-railway-data-1.png" data-elementor-open-lightbox="yes" data-e-action-hash="#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6ODE1OSwidXJsIjoiaHR0cHM6XC9cL3d3dy5hYnlsb24uaHVcL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjFcLzEwXC9NYXAtdmlzdWFsaXphdGlvbi1vZi12YXJpb3VzLXR5cGVzLW9mLXJhaWx3YXktZGF0YS0xLnBuZyJ9">
							<img loading="lazy" decoding="async" width="1091" height="452" src="https://www.abylon.hu/wp-content/uploads/2021/10/Map-visualization-of-various-types-of-railway-data-1.png" class="attachment-full size-full wp-image-8159" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2021/10/Map-visualization-of-various-types-of-railway-data-1.png 1091w, https://www.abylon.hu/wp-content/uploads/2021/10/Map-visualization-of-various-types-of-railway-data-1-300x124.png 300w, https://www.abylon.hu/wp-content/uploads/2021/10/Map-visualization-of-various-types-of-railway-data-1-1024x424.png 1024w, https://www.abylon.hu/wp-content/uploads/2021/10/Map-visualization-of-various-types-of-railway-data-1-768x318.png 768w, https://www.abylon.hu/wp-content/uploads/2021/10/Map-visualization-of-various-types-of-railway-data-1-1080x447.png 1080w, https://www.abylon.hu/wp-content/uploads/2021/10/Map-visualization-of-various-types-of-railway-data-1-980x406.png 980w, https://www.abylon.hu/wp-content/uploads/2021/10/Map-visualization-of-various-types-of-railway-data-1-480x199.png 480w" sizes="(max-width: 1091px) 100vw, 1091px" />								</a>
															</div>
				</div>
				<div class="elementor-element elementor-element-87c9a32 elementor-widget elementor-widget-text-editor" data-id="87c9a32" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><em>Note: Abylon MAP requires the usage of a unique ID and and object type, so it can be mapped to geojson files, or individual lines can be displayed separately by direction. Click on the button below for more details.</em></p>								</div>
				</div>
				<div class="elementor-element elementor-element-8c30557 elementor-align-left elementor-widget elementor-widget-button" data-id="8c30557" data-element_type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
									<div class="elementor-button-wrapper">
					<a class="elementor-button elementor-button-link elementor-size-md elementor-animation-grow" href="https://www.abylon.hu/solutions/advanced-power-bi-map-visualizations/">
						<span class="elementor-button-content-wrapper">
									<span class="elementor-button-text">MORE ON ABYLON MAP</span>
					</span>
					</a>
				</div>
								</div>
				</div>
				<div class="elementor-element elementor-element-7df196d elementor-widget elementor-widget-heading" data-id="7df196d" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Organizing routing or interval type data into a model</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-24006bb elementor-widget elementor-widget-text-editor" data-id="24006bb" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Traffic data that contains a measured value along its entire route is called reference data. Tihis includes passenger traffic, ticket sales data, travel from A to B, or train data that do not change from the start point to the end (eg weight, railway company), but do not include traffic time data or values calculated from them.</p>
<p>We have several choices regarding this data. The problem is similar to period-type data, and there are three available options:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-368c551 elementor-widget elementor-widget-text-editor" data-id="368c551" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><strong>Interval data is broken down into the smallest point-like data required:</strong></p>
<p>Like from time interval to days, and then from relations to line segments and stations. The days of the time interval can be extracted into separate rows in the fact table and these (as points) can be added into the data model.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-ddd3060 elementor-widget elementor-widget-text-editor" data-id="ddd3060" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><strong>Tabular On the fly:</strong></p>
<p>We entrust the data model to sort out the data using one or two connection tables. See later.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-de30031 elementor-widget elementor-widget-text-editor" data-id="de30031" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><strong>DAX on-the fly:</strong></p>
<p>When working with small amounts of data, instead of complicated modeling or significant data multiplication, we can filter using a DAX filter, in which case the dimension and fact tables are not linked within the model. Continuing with the time interval example: calculate ([something],filter(’Fact’,[datfrom]&lt;=max(’date’[date]) &amp;&amp; [datto]&gt;=min(’date’[date]))</p>								</div>
				</div>
				<div class="elementor-element elementor-element-b4f5d62 elementor-widget elementor-widget-text-editor" data-id="b4f5d62" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><strong>Combining solutions 1 and 2 to find a calculation optimum.</strong></p>
<p>In this case the fact data rows are not broken down to an elementary point / section level, but to a higher level (e.g. railway line) and the model itself remains in accordance with number 2. (author’s note: in my opinion, this is the best method, we can provide detailed, pin-level data with it, but more frequent queries tailored to business needs can occur faster).</p>								</div>
				</div>
				<div class="elementor-element elementor-element-444fa27 elementor-widget elementor-widget-text-editor" data-id="444fa27" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>We will now discuss solution number 2 in more detail.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-5777221 elementor-widget elementor-widget-image" data-id="5777221" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
																<a href="https://www.abylon.hu/wp-content/uploads/2021/10/Map-visualization-of-various-types-of-railway-data-2.png" data-elementor-open-lightbox="yes" data-e-action-hash="#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6ODE2MSwidXJsIjoiaHR0cHM6XC9cL3d3dy5hYnlsb24uaHVcL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjFcLzEwXC9NYXAtdmlzdWFsaXphdGlvbi1vZi12YXJpb3VzLXR5cGVzLW9mLXJhaWx3YXktZGF0YS0yLnBuZyJ9">
							<img loading="lazy" decoding="async" width="1142" height="414" src="https://www.abylon.hu/wp-content/uploads/2021/10/Map-visualization-of-various-types-of-railway-data-2.png" class="attachment-full size-full wp-image-8161" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2021/10/Map-visualization-of-various-types-of-railway-data-2.png 1142w, https://www.abylon.hu/wp-content/uploads/2021/10/Map-visualization-of-various-types-of-railway-data-2-300x109.png 300w, https://www.abylon.hu/wp-content/uploads/2021/10/Map-visualization-of-various-types-of-railway-data-2-1024x371.png 1024w, https://www.abylon.hu/wp-content/uploads/2021/10/Map-visualization-of-various-types-of-railway-data-2-768x278.png 768w, https://www.abylon.hu/wp-content/uploads/2021/10/Map-visualization-of-various-types-of-railway-data-2-1080x392.png 1080w, https://www.abylon.hu/wp-content/uploads/2021/10/Map-visualization-of-various-types-of-railway-data-2-980x355.png 980w, https://www.abylon.hu/wp-content/uploads/2021/10/Map-visualization-of-various-types-of-railway-data-2-480x174.png 480w" sizes="(max-width: 1142px) 100vw, 1142px" />								</a>
															</div>
				</div>
				<div class="elementor-element elementor-element-d5da474 elementor-widget elementor-widget-text-editor" data-id="d5da474" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Tables underlined in yellow color provide the dimensional expansion:</p>
<p>The row of the fact table contains data for complete routes, to which is attached the routes M2M table, which contains the unique values of the route identifiers.</p>
<p>Routes are connected with a many-to-many relationships to the MAP object level, whose final dimension table contains the map data: coordinates, names, and so on.</p>
<p>The Fact data is like this:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-02b0607 elementor-widget elementor-widget-text-editor" data-id="02b0607" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<table style="height: 178px;" border="1" width="256">
<tbody>
<tr>
<td width="75">
<p><strong>ID    </strong></p>
</td>
<td width="85">
<p><strong>FROM  </strong></p>
</td>
<td width="95">
<p><strong>TO  </strong></p>
</td>
<td width="114">
<p><strong>DIRECTION_ID  </strong></p>
</td>
</tr>
<tr>
<td width="75">
<p>123  </p>
</td>
<td width="85">
<p>A</p>
</td>
<td width="95">
<p>D</p>
</td>
<td width="114">
<p>23</p>
</td>
</tr>
<tr>
<td width="75">
<p>124</p>
</td>
<td width="85">
<p>K</p>
</td>
<td width="95">
<p>O</p>
</td>
<td width="114">
<p>24</p>
</td>
</tr>
</tbody>
</table>								</div>
				</div>
				<div class="elementor-element elementor-element-e5e40aa elementor-widget elementor-widget-text-editor" data-id="e5e40aa" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>The directions M2M connection:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-e7e7c2a elementor-widget elementor-widget-text-editor" data-id="e7e7c2a" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<table width="100">
<tbody>
<tr>
<td width="115">
<p><strong>DIRECTION_ID</strong></p>
</td>
</tr>
<tr>
<td width="115">
<p>23</p>
</td>
</tr>
<tr>
<td width="115">
<p>24</p>
</td>
</tr>
</tbody>
</table>								</div>
				</div>
				<div class="elementor-element elementor-element-f56feb5 elementor-widget elementor-widget-text-editor" data-id="f56feb5" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>The MAP technical table is for extracting the directions:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-bdea1f0 elementor-widget elementor-widget-text-editor" data-id="bdea1f0" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<table border="1" width="100">
<tbody>
<tr>
<td width="112">
<p><strong>DIRECTION_ID</strong></p>
</td>
<td width="123">
<p><strong>MAP_OBJECT_ID</strong></p>
</td>
</tr>
<tr>
<td width="112">
<p>123</p>
</td>
<td width="123">
<p>A</p>
</td>
</tr>
<tr>
<td width="112">
<p>123</p>
</td>
<td width="123">
<p>B</p>
</td>
</tr>
<tr>
<td width="112">
<p>123</p>
</td>
<td width="123">
<p>C</p>
</td>
</tr>
<tr>
<td width="112">
<p>123</p>
</td>
<td width="123">
<p>D</p>
</td>
</tr>
<tr>
<td width="112">
<p>124</p>
</td>
<td width="123">
<p> </p>
</td>
</tr>
<tr>
<td width="112">
<p>124</p>
</td>
<td width="123">
<p> </p>
</td>
</tr>
<tr>
<td width="112">
<p>124</p>
</td>
<td width="123">
<p> </p>
</td>
</tr>
</tbody>
</table>								</div>
				</div>
				<div class="elementor-element elementor-element-2114712 elementor-widget elementor-widget-text-editor" data-id="2114712" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>This approach allows you to assign data to an elementary map object without multiplying rows.</p>
<p>So, if we filter for an individual object in the MAP’s dimension (e.g an elementary section of line), the engine will calculate all of directions that have this element in the route description, and the fact data will be filtered for them</p>								</div>
				</div>
				<div class="elementor-element elementor-element-fdb324f elementor-widget elementor-widget-heading" data-id="fdb324f" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Which approach is the best?</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-6a1bca8 elementor-widget elementor-widget-text-editor" data-id="6a1bca8" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>In the case of point data, the question seems clear, although we have already seen a case where a set of factual data was related to a railway station and also to the related section. With railway data models, it is particularly interesting that you need to handle the relation to a railway line itself, so the master data of the map should contain the stations that belong to several lines multiple times.</p>
<p>In terms of where to start with relative/related data, the quantity and quality of the data is the decisive factor. With that knowledge (and clear business requirements) an experienced data modeler can easily chose the right approach.</p>
<p>If we set aside the railroad example and look for a more straightforward example, successful management of the time interval may still be the right example</p>								</div>
				</div>
				<div class="elementor-element elementor-element-9ca78c1 elementor-widget elementor-widget-text-editor" data-id="9ca78c1" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<table border="1">
<tbody>
<tr>
<td width="250">
<p><strong>Business Case</strong></p>
</td>
<td width="400">
<p><strong>Solution</strong></p>
</td>
</tr>
<tr>
<td width="226">
<p>Short time intervals (1-3 days)</p>
</td>
<td width="359">
<p>It is recommended to transform the time interval to a point regardless of the amount of data, as it does not cause an increase in the size of the rows of factual data.</p>
</td>
</tr>
<tr>
<td width="226">
<p>Long time intervals with limited data (such as contract records)</p>
</td>
<td width="359">
<p>In this case, the model-based on-the-fly and the daily breakdown would result in unnecessary duplication of rows, but the the dax on-the-fly approach is a good choice and we can treat the factual data with interval-filtered measures based on an independent date table.</p>
</td>
</tr>
<tr>
<td width="226">
<p>Medium / variable time intervals, large amount of data (hotel reservations)</p>
</td>
<td width="390">
<p>If our calculations show that breaking down the data into days would increase the number of rows by an order of magnitude (minimum 5-10 day average time interval), it is recommend to use the model-level on-the-fly approach.</p>
</td>
</tr>
<tr>
<td width="226">
<p>Medium / variable time intervals, with extremely large amount of data or special requirements</p>
</td>
<td width="380">
<p>In some cases, it is necessary to try to keep the size of the tables implementing M2M connections manageable. In this case it may be worth combining the different solutions:</p>
<ul>
<li>the lines are broken down into weeks</li>
<li>we create explanatory tables for the weeks and for the combinations within a week.</li>
</ul>
<p>In this case, there will be 28 rows for a week, which can provide a favorable breakdown even for a multi-year interval.</p>
</td>
</tr>
</tbody>
</table>								</div>
				</div>
				<div class="elementor-element elementor-element-5c1f802 elementor-widget elementor-widget-heading" data-id="5c1f802" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Custom Power BI map visualizations for railway companies</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-c5d57da elementor-widget elementor-widget-text-editor" data-id="c5d57da" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Abylon MAP is built on top of Power BI offering, custom, advanced map visualization features for companies dealing with line-based infrastructures. It is ideal for railway (or other transportation companies dealing with line-based infrastructures) looking for an affordable, customizable, easy-to-use map visualization tool for Power BI.</p>
<p> </p>
<ul>
<li>Infrastructure-specific Power BI map visualizations</li>
<li>Visualization of line-based networks using both circles and lines</li>
<li>Full integration with Power BI (built on top of it)</li>
<li>Active maps based on Power BI models or GeoJSO</li>
</ul>								</div>
				</div>
				<div class="elementor-element elementor-element-dc1ba04 elementor-align-left elementor-widget elementor-widget-button" data-id="dc1ba04" data-element_type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
									<div class="elementor-button-wrapper">
					<a class="elementor-button elementor-button-link elementor-size-md elementor-animation-grow" href="https://www.abylon.hu/solutions/advanced-power-bi-map-visualizations/">
						<span class="elementor-button-content-wrapper">
									<span class="elementor-button-text">MORE ON ABYLON MAP</span>
					</span>
					</a>
				</div>
								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a rel="nofollow" href="https://www.abylon.hu/bi-hu/railway-data-map-visualizations/">Railway data map visualizations</a> appeared first on <a rel="nofollow" href="https://www.abylon.hu">Abylon</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Multi-level access rights in Dynamic Row Level Security</title>
		<link>https://www.abylon.hu/bi-hu/multi-level-access-rights-in-dynamic-row-level-security/</link>
		
		<dc:creator><![CDATA[Zoltán Zicherman]]></dc:creator>
		<pubDate>Fri, 13 Aug 2021 13:22:05 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[BI]]></category>
		<category><![CDATA[Data Analytics]]></category>
		<category><![CDATA[Abylon]]></category>
		<guid isPermaLink="false">https://www.abylon.hu/?p=9201</guid>

					<description><![CDATA[<p>In this blog post we will discuss in detail the implementation of the hierarchical dynamic RLS without many-to-many connections in Power BI.</p>
<p>The post <a rel="nofollow" href="https://www.abylon.hu/bi-hu/multi-level-access-rights-in-dynamic-row-level-security/">Multi-level access rights in Dynamic Row Level Security</a> appeared first on <a rel="nofollow" href="https://www.abylon.hu">Abylon</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="9201" class="elementor elementor-9201" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-2735dfcc elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="2735dfcc" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-63d8b25d" data-id="63d8b25d" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-5c04c8d9 elementor-widget elementor-widget-text-editor" data-id="5c04c8d9" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
																	</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-50bf222 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="50bf222" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-447c7f0" data-id="447c7f0" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-1bc7e61 elementor-widget elementor-widget-text-editor" data-id="1bc7e61" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									In today’s blog post we will discuss in detail the implementation of hierarchical dynamic RLS with Power BI without many-to-many connections.								</div>
				</div>
				<div class="elementor-element elementor-element-0bad32a elementor-widget elementor-widget-heading" data-id="0bad32a" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Case Description</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-16b18f1 elementor-widget elementor-widget-text-editor" data-id="16b18f1" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Our client’s request was to implement a dynamic RLS. We had proper table specifying username and authorization pairings/access rights. Based on the business needs a hierarchical management had to be implemented, something like this:</p>
<p> </p>
<ul>
<li>Country
<ul>
<li>City</li>
</ul>
<ul>
<li>Employee</li>
</ul>
</li>
</ul>								</div>
				</div>
				<div class="elementor-element elementor-element-370d0bb elementor-widget elementor-widget-text-editor" data-id="370d0bb" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>In the fact tables each row includes a worker ID and a city ID. It is geographically assured that a certain city belongs to a certain country within the defined period. Based on the client’s request the rules for the visibility of fact and dimensional data are:</p>
<ol>
<li>Senior managers can see the data of one <strong>or more</strong> country’s data (and their cities) and the data of the workers who work there</li>
<li>Area managers and sales manegers can see the data of one <strong>or more</strong> cities and the workers who work there</li>
<li>Employees can see their own data</li>
<li>There are administrators who can see everything</li>
<li>There may be employees who, <strong>apart from seeing their own data</strong>, can also see data generated in a city (eg sales and area manager at the same time).</li>
</ol>
<p> </p>
<p>This is the summary what we see in the logic that serves the RLS:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-3dc0b22 elementor-widget elementor-widget-image" data-id="3dc0b22" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="632" height="199" src="https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-1.png" class="attachment-full size-full wp-image-7790" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-1.png 632w, https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-1-300x94.png 300w, https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-1-480x151.png 480w" sizes="(max-width: 632px) 100vw, 632px" />															</div>
				</div>
				<div class="elementor-element elementor-element-ef2c909 elementor-widget elementor-widget-heading" data-id="ef2c909" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">The problem</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-c24333f elementor-widget elementor-widget-text-editor" data-id="c24333f" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									The solution described on the Microsoft site is pretty and nice, but does not solve the issues highlighted and underlined in the rules described above (in the previous paragraph).
								</div>
				</div>
				<div class="elementor-element elementor-element-d355f2b elementor-widget elementor-widget-image" data-id="d355f2b" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="621" height="565" src="https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-2.png" class="attachment-full size-full wp-image-7792" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-2.png 621w, https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-2-300x273.png 300w, https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-2-480x437.png 480w" sizes="(max-width: 621px) 100vw, 621px" />															</div>
				</div>
				<div class="elementor-element elementor-element-433ff20 elementor-widget elementor-widget-text-editor" data-id="433ff20" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Source: <a href="https://docs.microsoft.com/hu-hu/power-bi/connect-data/desktop-tutorial-row-level-security-onprem-ssas-tabular" target="_blank" rel="noopener">https://docs.microsoft.com/hu-hu/power-bi/connect-data/desktop-tutorial-row-level-security-onprem-ssas-tabular</a></p>
<ol>
<li>The occasionally necessary many-to-many connections are easily doable using intermediate tables, but this approach is far from ideal in terms of modeling and performance.</li>
<li>A special problem are the users who “appear” in two categories/on two levels (the last two rows in the table above), because in their case you need to filter two dimensional tables, but due to the AND relationship of the filters, the user permission are not extended, but narrowed down, so instead of having a combination of the two data sets you only get a section of it.</li>
</ol>
<p> </p>
<p>The extended model (seen below) shows that an additional problem is the visibility of related dimension data, for example, the cities or countries dimension does not filter employee data, i.e. it is not guaranteed that a manager with city-level authority will only see the master data for employees who worked in his city</p>								</div>
				</div>
				<div class="elementor-element elementor-element-620a838 elementor-widget elementor-widget-image" data-id="620a838" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="1090" height="520" src="https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-3.png" class="attachment-full size-full wp-image-7793" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-3.png 1090w, https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-3-300x143.png 300w, https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-3-1024x489.png 1024w, https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-3-768x366.png 768w, https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-3-1080x515.png 1080w, https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-3-980x468.png 980w, https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-3-480x229.png 480w" sizes="(max-width: 1090px) 100vw, 1090px" />															</div>
				</div>
				<div class="elementor-element elementor-element-01d5ae4 elementor-widget elementor-widget-text-editor" data-id="01d5ae4" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>It is guaranteed that you will be lost among the various many-to-many switchboards and even if you do it, still:</p>
<p>• It is complicated<br />• therefore, it is difficult to test<br />• any corrections or modification carry a huge risk</p>								</div>
				</div>
				<div class="elementor-element elementor-element-bfec64d elementor-widget elementor-widget-heading" data-id="bfec64d" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">The solution</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-41d7df1 elementor-widget elementor-widget-heading" data-id="41d7df1" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Principles</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-2a103d9 elementor-widget elementor-widget-text-editor" data-id="2a103d9" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Leaving behind our habits and past modeling practices, we have laid down new principles that provide a solution to the business need without over-complicating the model or the whole process:</p>
<p> </p>
<ol>
<li>We used a single dimension table to filter based on fact RLS conditions: Country, City, Employee</li>
<li>We used a single table containing user data to define the RLS: UserId, Access level etc.</li>
<li>Given that the number of returned value sets is low (filter for less than 10 country / city / employee IDs), we allowed ourselves to use DAX filters instead of m2m relationships in the model.</li>
</ol>								</div>
				</div>
				<div class="elementor-element elementor-element-70b5ea3 elementor-widget elementor-widget-heading" data-id="70b5ea3" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Preparation</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-d524f68 elementor-widget elementor-widget-text-editor" data-id="d524f68" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Fact and dimension</p>
<p>You need to generate an unique identifier in the fact and dimension tables that ensures the transfer of RLS filters, which ensure that a city can belong to a country, so that the employee ID and the city will be connected:</p>
<p>concat([employee_id],’-’,[City_ID])</p>
<p>The source of the dimension table can be the fact table queried using distinct, or in the case of a corresponding HR strain, an extract of it. It is important that an identifier appears only once in the new dimension table and that the table must contain the data to be used in the report, eg name, telephone number, city coordinates, etc.</p>
<p>In case of more detailed demand it can be supplemented with validity management, and a period identifier can be appended to the identifier.</p>
<p>Viewed in PowerQuery, our dimension table will look like this:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-fb31c4f elementor-widget elementor-widget-image" data-id="fb31c4f" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
																<a href="https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-4.png" data-elementor-open-lightbox="yes" data-e-action-hash="#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6Nzc5NCwidXJsIjoiaHR0cHM6XC9cL3d3dy5hYnlsb24uaHVcL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjFcLzA4XC9NdWx0aS1sZXZlbC1hY2Nlc3MtcmlnaHRzLWluLUR5bmFtaWMtUm93LUxldmVsLVNlY3VyaXR5LTQucG5nIn0%3D">
							<img loading="lazy" decoding="async" width="1149" height="379" src="https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-4.png" class="attachment-full size-full wp-image-7794" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-4.png 1149w, https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-4-300x99.png 300w, https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-4-1024x338.png 1024w, https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-4-768x253.png 768w, https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-4-1080x356.png 1080w, https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-4-980x323.png 980w, https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-4-480x158.png 480w" sizes="(max-width: 1149px) 100vw, 1149px" />								</a>
															</div>
				</div>
				<div class="elementor-element elementor-element-282926d elementor-widget elementor-widget-text-editor" data-id="282926d" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>The RLS table will be the summary table shown at the beginning:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-261d13d elementor-widget elementor-widget-image" data-id="261d13d" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="476" height="167" src="https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-5.png" class="attachment-full size-full wp-image-7795" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-5.png 476w, https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-5-300x105.png 300w" sizes="(max-width: 476px) 100vw, 476px" />															</div>
				</div>
				<div class="elementor-element elementor-element-0b64f18 elementor-widget elementor-widget-text-editor" data-id="0b64f18" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Based on this the new model will be much more simple and clear</p>								</div>
				</div>
				<div class="elementor-element elementor-element-9c73fbe elementor-widget elementor-widget-image" data-id="9c73fbe" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="942" height="399" src="https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-6.png" class="attachment-full size-full wp-image-7796" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-6.png 942w, https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-6-300x127.png 300w, https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-6-768x325.png 768w, https://www.abylon.hu/wp-content/uploads/2021/08/Multi-level-access-rights-in-Dynamic-Row-Level-Security-6-480x203.png 480w" sizes="(max-width: 942px) 100vw, 942px" />															</div>
				</div>
				<div class="elementor-element elementor-element-ab6375d elementor-widget elementor-widget-text-editor" data-id="ab6375d" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>The new model contains:</p>
<ul>
<li>all RLS data</li>
<li>all employee data</li>
<li>every city</li>
<li>data for all countries</li>
<li>the factual data to be examined, with a simple relationship</li>
</ul>								</div>
				</div>
				<div class="elementor-element elementor-element-479e8a6 elementor-widget elementor-widget-heading" data-id="479e8a6" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">DAX Role Filtering</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-342c62f elementor-widget elementor-widget-heading" data-id="342c62f" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Basis</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-9b2b66f elementor-widget elementor-widget-text-editor" data-id="9b2b66f" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>We assume that the access levels have separate AD groups, so the Role containing 3 filters can be added separately (at the end we will examine what if they don’t).</p>								</div>
				</div>
				<div class="elementor-element elementor-element-2cd6e79 elementor-widget elementor-widget-heading" data-id="2cd6e79" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Logic</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-4670bac elementor-widget elementor-widget-text-editor" data-id="4670bac" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Filtering for Country:</p>
<p>The dimension table must be filtered for the rows that contain the country IDs that appear next to the user ID in the RLS table:</p>
<p>Conversely:</p>
<p>Collecting the country ID-s related to the users from the RLS</p>
<p>var usercountries=calculatetable(values(’RLS’[COUNTRY_ID]), ’RLS’[AD]=username()))</p>
<p>Dimension filtering for these ID-s:</p>
<p>filter(’Dim Employee-City’, ’Dim Employee-City’[COUNTRY_ID] in usercountries)</p>								</div>
				</div>
				<div class="elementor-element elementor-element-bc50fbb elementor-widget elementor-widget-heading" data-id="bc50fbb" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Implementation</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-da44da1 elementor-widget elementor-widget-text-editor" data-id="da44da1" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Rules added to the Dim Employee-City table.</p>
<p>Country:</p>
<p> ’Dim Employee-City’[COUNTRY_ID] in calculatetable(values(’RLS’[COUNTRY_ID]), ’RLS’[AD]=username()))</p>
<p>City:</p>
<p>’Dim Employee-City’[CITY_ID] in calculatetable(values(’RLS’[CITY_ID]), ’RLS’[AD]=username()))</p>
<p>Employee:</p>
<p>’Dim Employee-City’[EMPLOYEE_ID] in calculatetable(values(’RLS’[EMPLOYEE_ID]), ’RLS’[AD]=username()))</p>								</div>
				</div>
				<div class="elementor-element elementor-element-f39a5a3 elementor-widget elementor-widget-heading" data-id="f39a5a3" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">If there are no separate AD groups</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-e799643 elementor-widget elementor-widget-text-editor" data-id="e799643" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>The three rules can be combined into one.</p>
<p>’Dim Employee-City’[COUNTRY_ID]</p>
<p> in calculatetable(values(’RLS’[COUNTRY_ID]), ’RLS’[AD]=username()))</p>
<p><strong>||</strong></p>
<p>’Dim Employee-City’[CITY_ID]</p>
<p>in calculatetable(values(’RLS’[CITY_ID]), ’RLS’[AD]=username()))</p>
<p><strong>||</strong></p>
<p>’Dim Employee-City’[EMPLOYEE_ID]</p>
<p>in calculatetable(values(’RLS’[EMPLOYEE_ID]), ’RLS’[AD]=username()))</p>								</div>
				</div>
				<div class="elementor-element elementor-element-1c5243c elementor-widget elementor-widget-heading" data-id="1c5243c" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Summary (Lessons learned)</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-1864c01 elementor-widget elementor-widget-text-editor" data-id="1864c01" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Although it is basic rule that we solve problems in a model or data source preferring SQL, aiming for the simplicity in case of DAX formulas, here from the model’s usability point of view the complex solution is less resource intensive:</p>
<ul>
<li>working with two tables instead of using a complex model</li>
<li>we ensure low result numbers during RLS filtering (eg it does not return the ID of all employees in the country, but only 1-2 country codes or 1-2 cities)</li>
<li>the model remains simple, stable</li>
<li>We were able to create a general solution for the customer and subsequently this RLS solution has become a standard for several other data sets with similar / identical dimensional resolution.</li>
</ul>
<p> </p>
<p>The lesson of the solution is that many complex problems can be solved within the Microsoft BI ecosystem, no matter what tool we are using (SQL, .NET, Tabular or DAX), we just don’t need be afraid to step out of our schemas, standards, and try to think “outside the box” to find the ideal solutions.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-2678b3b elementor-align-left elementor-widget elementor-widget-button" data-id="2678b3b" data-element_type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
									<div class="elementor-button-wrapper">
					<a class="elementor-button elementor-button-link elementor-size-md elementor-animation-grow" href="https://www.abylon.hu/blog/">
						<span class="elementor-button-content-wrapper">
									<span class="elementor-button-text">MORE DATA ANALYTICS POSTS</span>
					</span>
					</a>
				</div>
								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a rel="nofollow" href="https://www.abylon.hu/bi-hu/multi-level-access-rights-in-dynamic-row-level-security/">Multi-level access rights in Dynamic Row Level Security</a> appeared first on <a rel="nofollow" href="https://www.abylon.hu">Abylon</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>When it’s NOT the right time to build a data warehouse</title>
		<link>https://www.abylon.hu/bi-hu/when-its-not-the-right-time-to-build-a-data-warehouse/</link>
		
		<dc:creator><![CDATA[Zoltán Zicherman]]></dc:creator>
		<pubDate>Mon, 19 Jul 2021 17:31:51 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[BI]]></category>
		<category><![CDATA[Data Analytics]]></category>
		<category><![CDATA[Rapid Platform]]></category>
		<category><![CDATA[Abylon]]></category>
		<guid isPermaLink="false">https://www.abylon.hu/?p=9269</guid>

					<description><![CDATA[<p>I was recently asked by one of our clients whether they should start building a data warehouse at one of the companies they acquired or</p>
<p>The post <a rel="nofollow" href="https://www.abylon.hu/bi-hu/when-its-not-the-right-time-to-build-a-data-warehouse/">When it’s NOT the right time to build a data warehouse</a> appeared first on <a rel="nofollow" href="https://www.abylon.hu">Abylon</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="9269" class="elementor elementor-9269" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-072adfe elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="072adfe" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-8207d8b" data-id="8207d8b" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-d89408d elementor-widget elementor-widget-image" data-id="d89408d" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="1024" height="399" src="https://www.abylon.hu/wp-content/uploads/2021/07/abylon-data-warehousing-1024x399.jpeg" class="attachment-large size-large wp-image-7674" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2021/07/abylon-data-warehousing-1024x399.jpeg 1024w, https://www.abylon.hu/wp-content/uploads/2021/07/abylon-data-warehousing-300x117.jpeg 300w, https://www.abylon.hu/wp-content/uploads/2021/07/abylon-data-warehousing-768x299.jpeg 768w, https://www.abylon.hu/wp-content/uploads/2021/07/abylon-data-warehousing-1080x420.jpeg 1080w, https://www.abylon.hu/wp-content/uploads/2021/07/abylon-data-warehousing-980x381.jpeg 980w, https://www.abylon.hu/wp-content/uploads/2021/07/abylon-data-warehousing-480x187.jpeg 480w, https://www.abylon.hu/wp-content/uploads/2021/07/abylon-data-warehousing.jpeg 1200w" sizes="(max-width: 1024px) 100vw, 1024px" />															</div>
				</div>
				<div class="elementor-element elementor-element-27bee54 elementor-widget elementor-widget-text-editor" data-id="27bee54" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>I was recently asked by one of our clients whether they should start building a data warehouse at one of the companies they acquired or not, and if yes, what are the arguments in favor of building it. This conversation inspired me to write this article.</p>
<p><em>(Note: I used to work as an economics and business professional before switching to IT and Business Intelligence. In this article I try to build a bridge between economics and IT, so apologies to all the IT professionals if, for the sake of non-IT readers, I simplify or even over-simplify some of the things mentioned here.)</em></p>								</div>
				</div>
				<div class="elementor-element elementor-element-67a0af8 elementor-widget elementor-widget-heading" data-id="67a0af8" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<p class="elementor-heading-title elementor-size-default">When is NOT the right time to start building a data warehouse?
</p>				</div>
				</div>
				<div class="elementor-element elementor-element-5da03e2 elementor-widget elementor-widget-heading" data-id="5da03e2" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">If you just started creating reports, building a reporting system
</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-2ad72ad elementor-widget elementor-widget-text-editor" data-id="2ad72ad" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>If you are just starting to put together your first real reports, it is very likely that even you do not know yet from which data and exactly how you should come up with the numbers you need to present to management. In this case, it is not worthwhile to start dealing with data warehousing or Business Intelligence yet. Most likely, in the process of reporting and analyzing the data, you will already get to a point, when:</p>
<p> </p>
<ul>
<li>You will unify and simplify, for example by developing a common data dictionary</li>
<li>You will do some OLTP-based development, for example unify the data collection (eg by implementing or expanding an ERP system) and move it to a common platform</li>
<li>The content of the reports may not be accurate yet, so the purpose of the reports themselves will change constantly.</li>
</ul>								</div>
				</div>
				<div class="elementor-element elementor-element-9203567 elementor-widget elementor-widget-heading" data-id="9203567" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">If you have already started creating reports, but for now a few (let’s say 3-4 complex or 5-6 simple) reports is enough to cover all the tasks required by your company.
</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-60eeca6 elementor-widget elementor-widget-text-editor" data-id="60eeca6" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									All the topics seems to be covered by a few reports and they are flexible enough to manage possible changes, and lastly, changes in the basic data do not need to be immediately synchronized with other systems.

								</div>
				</div>
				<div class="elementor-element elementor-element-d005686 elementor-widget elementor-widget-heading" data-id="d005686" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">If the size of the data is not very large (and at least one of the previous two scenarios are true)
</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-e12ef9d elementor-widget elementor-widget-text-editor" data-id="e12ef9d" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									If the number, size and complexity of the data used in the reports (eg the number of records or rows in a table) is not so large that a more serious optimization (or reporting system upgrade) would be necessary in the period between two reports.

								</div>
				</div>
				<div class="elementor-element elementor-element-b2e54a6 elementor-widget elementor-widget-heading" data-id="b2e54a6" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">If the frequency of data requests and the size of data related to them is NOT overloading the source systems (eg an ERP system) during the reporting</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-afdd40f elementor-widget elementor-widget-text-editor" data-id="afdd40f" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									In terms of technology, BI systems have been brought to life by the fact that systems primarily designed for data entry/input (so-called OLTP systems, such as ERP systems, which have been optimized to make data entry easier for users) have not been optimized to serve a large number of queries.

If you do not overload the source systems, i.e there is no significant slowdown during the data entry or data query process, then there is no urgent reason yet to start thinking about data warehouses or BI systems.								</div>
				</div>
				<div class="elementor-element elementor-element-3700c89 elementor-widget elementor-widget-image" data-id="3700c89" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="1024" height="350" src="https://www.abylon.hu/wp-content/uploads/2021/07/abylon-blog-data-warehouse-1024x350.jpg" class="attachment-large size-large wp-image-7675" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2021/07/abylon-blog-data-warehouse-1024x350.jpg 1024w, https://www.abylon.hu/wp-content/uploads/2021/07/abylon-blog-data-warehouse-300x103.jpg 300w, https://www.abylon.hu/wp-content/uploads/2021/07/abylon-blog-data-warehouse-768x263.jpg 768w, https://www.abylon.hu/wp-content/uploads/2021/07/abylon-blog-data-warehouse-1080x369.jpg 1080w, https://www.abylon.hu/wp-content/uploads/2021/07/abylon-blog-data-warehouse-980x335.jpg 980w, https://www.abylon.hu/wp-content/uploads/2021/07/abylon-blog-data-warehouse-480x164.jpg 480w, https://www.abylon.hu/wp-content/uploads/2021/07/abylon-blog-data-warehouse.jpg 1170w" sizes="(max-width: 1024px) 100vw, 1024px" />															</div>
				</div>
				<div class="elementor-element elementor-element-a9db136 elementor-widget elementor-widget-heading" data-id="a9db136" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<p class="elementor-heading-title elementor-size-default">When SHOULD YOU start thinking about building data warehouses?
</p>				</div>
				</div>
				<div class="elementor-element elementor-element-b8ab2e8 elementor-widget elementor-widget-heading" data-id="b8ab2e8" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">If you are drowning in the sea of Excel and / or Power BI reports</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-182d9f0 elementor-widget elementor-widget-text-editor" data-id="182d9f0" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									If you create a lot of reports, that vary in complexity, utilized technology (e.g. PowerQuery, Excel transformations, Power BI data modeling), and it is becoming harder and harder to effectively debug them, furthermore, it is hard to synchronize the reports with changes to the source system precisely because of their complexity, you should consider moving toward a standardized solution. 

								</div>
				</div>
				<div class="elementor-element elementor-element-8cb969f elementor-widget elementor-widget-heading" data-id="8cb969f" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">If you need a historical aspect to your corporate data
</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-c6cbd0d elementor-widget elementor-widget-text-editor" data-id="c6cbd0d" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									Sometimes, an OLTP system (e.g., an ERP system) is not suited to put data in a historical perspective, e.g. you can’t simply check when an item number was in stock and when it wasn’t or check which team a former employee was part of or when did he leave the company.

								</div>
				</div>
				<div class="elementor-element elementor-element-6cc17f1 elementor-widget elementor-widget-heading" data-id="6cc17f1" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">If you need a stable, fast connection for data of different quality, source and depth
</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-3683c38 elementor-widget elementor-widget-text-editor" data-id="3683c38" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									Some reports require you to compile data consisting of millions of records (millions of rows) from different source systems (e.g., an SQL database and an Excel, or mass data available through a REST API, etc.).

In such cases, especially if process speed is requirement, it is unavoidable to use a more powerful SQL database customized specifically for reporting needs.								</div>
				</div>
				<div class="elementor-element elementor-element-88ec9fd elementor-widget elementor-widget-heading" data-id="88ec9fd" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">The size of the data, the time allowed for report creation, or the frequency of the reports requires it
</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-e9484cb elementor-widget elementor-widget-text-editor" data-id="e9484cb" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									You process large amounts of data? Or you need reporting with very short time intervals (eg hourly report update)? In both cases you may start to think about investing in a data warehouse.

								</div>
				</div>
				<div class="elementor-element elementor-element-993586f elementor-widget elementor-widget-heading" data-id="993586f" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">You need to run queries frequently and / or they are so big in size that they put a heavy load on the source system engine (e.g. a database engine)</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-ac8b568 elementor-widget elementor-widget-text-editor" data-id="ac8b568" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>In such cases, it is logical to start looking for a suitable data warehouse solution. Also, if the frequency of the reports is a pain point, you might check out our <a href="https://www.abylon.hu/blog/real-time-data-warehousing/">“Near Real-time data warehouse”</a> blog article, that describes in detail how <a href="https://www.abylon.hu/solutions/rapid-analytics/">Abylon Rapid Analytics</a> clears this hurdle.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-8de5a4a elementor-align-left elementor-mobile-align-center elementor-widget elementor-widget-button" data-id="8de5a4a" data-element_type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
									<div class="elementor-button-wrapper">
					<a class="elementor-button elementor-button-link elementor-size-md" href="https://www.abylon.hu/solutions/data-warehouse-automation/">
						<span class="elementor-button-content-wrapper">
									<span class="elementor-button-text">DATA WAREHOUSE AUTOMATION</span>
					</span>
					</a>
				</div>
								</div>
				</div>
				<div class="elementor-element elementor-element-184f15d elementor-position-left elementor-vertical-align-middle elementor-widget elementor-widget-image-box" data-id="184f15d" data-element_type="widget" data-widget_type="image-box.default">
				<div class="elementor-widget-container">
					<div class="elementor-image-box-wrapper"><figure class="elementor-image-box-img"><img loading="lazy" decoding="async" width="200" height="200" src="https://www.abylon.hu/wp-content/uploads/2022/04/Zsolt-Kreisz-Abylon-200x200-1.jpg" class="attachment-full size-full wp-image-11775" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2022/04/Zsolt-Kreisz-Abylon-200x200-1.jpg 200w, https://www.abylon.hu/wp-content/uploads/2022/04/Zsolt-Kreisz-Abylon-200x200-1-150x150.jpg 150w" sizes="(max-width: 200px) 100vw, 200px" /></figure><div class="elementor-image-box-content"><h4 class="elementor-image-box-title">Author of the post:</h4><p class="elementor-image-box-description">Zsolt Kreisz - BI Developer at Abylon Consulting

</br><a href="https://www.linkedin.com/in/zsolt-kreisz-11565462" target="_blank" rel="noopener">Linkedin Profile</a></p></div></div>				</div>
				</div>
				<div class="elementor-element elementor-element-a86ca47 elementor-widget elementor-widget-spacer" data-id="a86ca47" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a rel="nofollow" href="https://www.abylon.hu/bi-hu/when-its-not-the-right-time-to-build-a-data-warehouse/">When it’s NOT the right time to build a data warehouse</a> appeared first on <a rel="nofollow" href="https://www.abylon.hu">Abylon</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Data Warehousing in 2021 – old problems, new solution</title>
		<link>https://www.abylon.hu/bi-hu/data-warehousing-in-2021-old-problems-new-solution/</link>
		
		<dc:creator><![CDATA[Zoltán Zicherman]]></dc:creator>
		<pubDate>Mon, 21 Jun 2021 15:45:13 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[BI]]></category>
		<category><![CDATA[Data Analytics]]></category>
		<category><![CDATA[Rapid Platform]]></category>
		<category><![CDATA[Abylon]]></category>
		<guid isPermaLink="false">https://www.abylon.hu/?p=9412</guid>

					<description><![CDATA[<p>With the spread of new, innovative data solutions with demand mainly in the domain of business intelligence (BI), data science and general automation, company leaders</p>
<p>The post <a rel="nofollow" href="https://www.abylon.hu/bi-hu/data-warehousing-in-2021-old-problems-new-solution/">Data Warehousing in 2021 – old problems, new solution</a> appeared first on <a rel="nofollow" href="https://www.abylon.hu">Abylon</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="9412" class="elementor elementor-9412" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-6af7f5c elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="6af7f5c" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-88db524" data-id="88db524" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-45139d8 elementor-widget elementor-widget-text-editor" data-id="45139d8" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>With the spread of new, innovative data solutions with demand mainly in the domain of business intelligence (BI), data science and general automation, company leaders and stakeholders are encountering an old problem, data warehousing (DWH).</p>
<p>The majority of companies jumping onto the bandwagon still use legacy data warehousing solutions. Moreover, they usually have data quality issues and do not have the data engineering and DevOps capacity to fully utilize the power of data.</p>
<p>We all know the old data saying “garbage in, garbage out” or “<a href="https://en.wikipedia.org/wiki/Garbage_in,_garbage_out" target="_blank" rel="noopener">GIGO</a>” for short, and the solution is always the same: clean the incoming data as much as possible. Of course data standardization can be time consuming and at the end of the project there’s no time left for solving the real business problems. We also must admit that these are not the most exiting things to do, but unfortunately you really can’t avoid these steps if you want a properly working data warehouse and data solution built on top of it. Or could you? Well, the good news is, that you actually can</p>								</div>
				</div>
				<div class="elementor-element elementor-element-a3e81ee elementor-widget elementor-widget-image" data-id="a3e81ee" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="1195" height="717" src="https://www.abylon.hu/wp-content/uploads/2021/06/abylon-rapid-analytics-data-warehousing.jpg" class="attachment-full size-full wp-image-7542" alt="" srcset="https://www.abylon.hu/wp-content/uploads/2021/06/abylon-rapid-analytics-data-warehousing.jpg 1195w, https://www.abylon.hu/wp-content/uploads/2021/06/abylon-rapid-analytics-data-warehousing-300x180.jpg 300w, https://www.abylon.hu/wp-content/uploads/2021/06/abylon-rapid-analytics-data-warehousing-1024x614.jpg 1024w, https://www.abylon.hu/wp-content/uploads/2021/06/abylon-rapid-analytics-data-warehousing-768x461.jpg 768w, https://www.abylon.hu/wp-content/uploads/2021/06/abylon-rapid-analytics-data-warehousing-1080x648.jpg 1080w, https://www.abylon.hu/wp-content/uploads/2021/06/abylon-rapid-analytics-data-warehousing-980x588.jpg 980w, https://www.abylon.hu/wp-content/uploads/2021/06/abylon-rapid-analytics-data-warehousing-480x288.jpg 480w" sizes="(max-width: 1195px) 100vw, 1195px" />															</div>
				</div>
				<div class="elementor-element elementor-element-3c4dc59 elementor-widget elementor-widget-text-editor" data-id="3c4dc59" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Data Warehouses are built from multiple data sources and complex Extract, Transform and Load process (ETL) processes. Maintenance and development are both costly and time consuming. Furthermore, both require deep knowledge of the running process and data sources. This technical knowledge equals to expensive hard-to-train (and replace) specialists who spend most of their time with unfulfilling mundane tasks.</p>
<p>But we have some good news!</p>
<p><a href="https://www.abylon.hu/solutions/rapid-analytics/">Abylon Rapid Analytics</a> is a data warehousing framework built on Microsoft Azure Cloud products and services making data warehousing more efficient, faster and more flexible. Rapid Analytics also supports Cloud, Hybrid and On-Premises setups making it easier to fit your business needs.</p>
<p>Painful and boring “re-inventing the wheel” steps are replaced with a metadata-based data warehousing, allowing the developer team to focus on core development, creating value from information while requiring less support from the DWH team, allowing them to focus on their domain.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-6881158 elementor-widget elementor-widget-text-editor" data-id="6881158" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Below is a comparison of a traditional approach (let’s call it “manual” approach) with a project done with Abylon Rapid Analytics</p>								</div>
				</div>
				<div class="elementor-element elementor-element-335f784 elementor-widget elementor-widget-text-editor" data-id="335f784" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<table style="width: 100%;" border="1" cellpadding="5" data-tablestyle="MsoTableGrid" data-tablelook="1696" aria-rowcount="9">
<tbody>
<tr aria-rowindex="1">
<td style="width: 265.781px;" data-celllook="69905"><strong><span data-contrast="none">Task</span></strong><span data-ccp-props="{">&nbsp;</span></td>
<td style="width: 85.3125px; text-align: center;" data-celllook="69905"><strong>Traditional Approach</strong></td>
<td style="width: 108.516px; text-align: center;" data-celllook="69905"><strong><span data-contrast="none">With Abylon&nbsp;Rapid</span></strong><span data-ccp-props="{">&nbsp;</span></td>
<td style="width: 173.875px; text-align: center;" data-celllook="69905"><strong><span data-contrast="none">Increase&nbsp;in&nbsp;efficiency</span></strong><span data-ccp-props="{">&nbsp;</span></td>
</tr>
<tr aria-rowindex="2">
<td style="width: 265.781px;" data-celllook="69905"><span data-contrast="none">ETL Design</span><span data-ccp-props="{">&nbsp;</span></td>
<td style="width: 85.3125px; text-align: center;" data-celllook="69905"><span data-contrast="none">20 man&nbsp;day</span><span data-ccp-props="{">&nbsp;</span></td>
<td style="width: 108.516px; text-align: center;" data-celllook="69905"><span data-contrast="none">5 man&nbsp;day</span><span data-ccp-props="{">&nbsp;</span></td>
<td style="width: 173.875px; text-align: center;" data-celllook="69905"><span data-contrast="none">75 %</span><span data-ccp-props="{">&nbsp;</span></td>
</tr>
<tr aria-rowindex="3">
<td style="width: 265.781px;" data-celllook="69905"><span data-contrast="none">ETL&nbsp;Development</span><span data-ccp-props="{">&nbsp;</span></td>
<td style="width: 85.3125px; text-align: center;" data-celllook="69905"><span data-contrast="none">100 man&nbsp;day</span><span data-ccp-props="{">&nbsp;</span></td>
<td style="width: 108.516px; text-align: center;" data-celllook="69905"><span data-contrast="none">5 man&nbsp;day</span><span data-ccp-props="{">&nbsp;</span></td>
<td style="width: 173.875px; text-align: center;" data-celllook="69905"><span data-contrast="none">95 %</span><span data-ccp-props="{">&nbsp;</span></td>
</tr>
<tr aria-rowindex="4">
<td style="width: 265.781px;" data-celllook="69905"><span data-contrast="none">Stage&nbsp;Development&nbsp;and&nbsp;optimization</span><span data-ccp-props="{">&nbsp;</span></td>
<td style="width: 85.3125px; text-align: center;" data-celllook="69905"><span data-contrast="none">10 man&nbsp;day</span><span data-ccp-props="{">&nbsp;</span></td>
<td style="width: 108.516px; text-align: center;" data-celllook="69905"><span data-contrast="none">2 man&nbsp;day</span><span data-ccp-props="{">&nbsp;</span></td>
<td style="width: 173.875px; text-align: center;" data-celllook="69905"><span data-contrast="none">80 %</span><span data-ccp-props="{">&nbsp;</span></td>
</tr>
<tr aria-rowindex="5">
<td style="width: 265.781px;" data-celllook="69905"><span data-contrast="none">DWH&nbsp;Development&nbsp;with&nbsp;versioning and&nbsp;optimization</span><span data-ccp-props="{">&nbsp;</span></td>
<td style="width: 85.3125px; text-align: center;" data-celllook="69905"><span data-contrast="none">50 man&nbsp;day</span><span data-ccp-props="{">&nbsp;</span></td>
<td style="width: 108.516px; text-align: center;" data-celllook="69905"><span data-contrast="none">10 man&nbsp;day</span><span data-ccp-props="{">&nbsp;</span></td>
<td style="width: 173.875px; text-align: center;" data-celllook="69905"><span data-contrast="none">80 %</span><span data-ccp-props="{">&nbsp;</span></td>
</tr>
<tr aria-rowindex="6">
<td style="width: 265.781px;" data-celllook="69905"><span data-contrast="none">Automated&nbsp;testing and&nbsp;debugging</span><span data-ccp-props="{">&nbsp;</span></td>
<td style="width: 85.3125px; text-align: center;" data-celllook="69905"><span data-contrast="none">50 man&nbsp;day</span><span data-ccp-props="{">&nbsp;</span></td>
<td style="width: 108.516px; text-align: center;" data-celllook="69905"><span data-contrast="none">10 man&nbsp;day</span><span data-ccp-props="{">&nbsp;</span></td>
<td style="width: 173.875px; text-align: center;" data-celllook="69905"><span data-contrast="none">80 %</span><span data-ccp-props="{">&nbsp;</span></td>
</tr>
<tr aria-rowindex="7">
<td style="width: 265.781px;" data-celllook="69905"><span data-contrast="none">DevOps</span><span data-ccp-props="{">&nbsp;</span></td>
<td style="width: 85.3125px; text-align: center;" data-celllook="69905"><span data-contrast="none">30 man&nbsp;day</span><span data-ccp-props="{">&nbsp;</span></td>
<td style="width: 108.516px; text-align: center;" data-celllook="69905"><span data-contrast="none">3 man&nbsp;day</span><span data-ccp-props="{">&nbsp;</span></td>
<td style="width: 173.875px; text-align: center;" data-celllook="69905"><span data-contrast="none">90 %</span><span data-ccp-props="{">&nbsp;</span></td>
</tr>
<tr aria-rowindex="8">
<td style="width: 265.781px;" data-celllook="69905"><span data-contrast="none">Monitoring</span><span data-ccp-props="{">&nbsp;</span></td>
<td style="width: 85.3125px; text-align: center;" data-celllook="69905"><span data-contrast="none">20 man&nbsp;day</span><span data-ccp-props="{">&nbsp;</span></td>
<td style="width: 108.516px; text-align: center;" data-celllook="69905"><span data-contrast="none">2 man&nbsp;day</span><span data-ccp-props="{">&nbsp;</span></td>
<td style="width: 173.875px; text-align: center;" data-celllook="69905"><span data-contrast="none">90 %</span><span data-ccp-props="{">&nbsp;</span></td>
</tr>
<tr aria-rowindex="9">
<td style="width: 265.781px;" data-celllook="69905"><strong><span data-contrast="none">Total</span></strong><span data-ccp-props="{">&nbsp;</span></td>
<td style="width: 85.3125px; text-align: center;" data-celllook="69905"><strong><span data-contrast="none">280 man&nbsp;day</span></strong><span data-ccp-props="{">&nbsp;</span></td>
<td style="width: 108.516px; text-align: center;" data-celllook="69905"><strong><span data-contrast="none">37 man&nbsp;day</span></strong><span data-ccp-props="{">&nbsp;</span></td>
<td style="width: 173.875px; text-align: center;" data-celllook="69905"><strong><span data-contrast="none">85 %</span></strong><span data-ccp-props="{">&nbsp;</span></td>
</tr>
</tbody>
</table>								</div>
				</div>
				<div class="elementor-element elementor-element-e213042 elementor-widget elementor-widget-text-editor" data-id="e213042" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>If you feel that you are making the same steps again and again, having boring hours with low efficiency, then you should familiarize yourself with modern Cloud solutions such as <a href="https://www.abylon.hu/solutions/data-warehouse-automation/">Abylon Rapid Analytics.</a></p>								</div>
				</div>
				<div class="elementor-element elementor-element-bf1fec9 elementor-widget elementor-widget-text-editor" data-id="bf1fec9" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Also, check out this blog post to see our solution in “action” during a real project: <a href="https://www.abylon.hu/blog/real-time-data-warehousing/">https://www.abylon.hu/blog/real-time-data-warehousing/</a></p>								</div>
				</div>
				<div class="elementor-element elementor-element-65a1b97 elementor-align-center elementor-widget elementor-widget-button" data-id="65a1b97" data-element_type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
									<div class="elementor-button-wrapper">
					<a class="elementor-button elementor-button-link elementor-size-md elementor-animation-grow" href="https://www.abylon.hu/solutions/data-warehouse-automation/">
						<span class="elementor-button-content-wrapper">
									<span class="elementor-button-text">MORE ON RAPID ANALYTICS</span>
					</span>
					</a>
				</div>
								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a rel="nofollow" href="https://www.abylon.hu/bi-hu/data-warehousing-in-2021-old-problems-new-solution/">Data Warehousing in 2021 – old problems, new solution</a> appeared first on <a rel="nofollow" href="https://www.abylon.hu">Abylon</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
