close

Creating A Power BI Serverless Application For Azure Synapse

Posted by Kevin Booth on Jul, 14, 2022 03:07

Azure Synapse is a serverless, big data analytics platform that allows you to utilize either serverless or query data according to your terms provisioned resources—at scale. As a result, extensive data analytics and warehousing subjects come together in a unified experience ready to ingest, prepare, manage, and serve data for immediate Power BI serverless application and machine learning needs. 

The Azure Synapse platform integrates linked services, including Power BI, Azure Machine Learning (ML), and Azure Data Share. In addition, the new shared online site for creating and maintaining numerous Azure Synapse artifacts, Azure Synapse studio, allows users to create interactive Power BI reports and enterprise-grade semantic models.

Many new features have been made available in Synapse, but for the sake of this blog article, we will just be focusing on Synapse SQL. Users of the Azure Synapse Analyses workspace may do SQL-based analytics at scale thanks to Synapse SQL. We can observe from a technical perspective that there are some complexities to leveraging this, as well as the possibility of significantly altering the cost model in Azure for SQL workloads.

Data Exploration with Azure SQL

The ability to query data in a cloud service is a highly valued feature of modern data platforms. Azure Synapse SQL is the one-stop shop for analyzing data using SQL technology. Synapse SQL allows you to query data using the following factors: Provisioned data warehouse with SQL pools and serverless queries over the data lake.

Synapse SQL offers data engineers the ability to run serverless queries without having to provision any infrastructure to address the need for on-demand computing power. In addition, the Azure Synapse workspace offers several tools for data exploration and analysis. These include the ability to perform SQL queries via the on-demand SQL endpoint provided in the Azure Synapse workspace and tools such as SQL Server Management Studio (SSMS) and Azure Data Studio.

Azure Synapse provides the flexibility to either provision and elastically scale pool pools or leverage serverless capabilities for on-demand compute resources for Azure SQL Database. With Azure Synapse, organizations can dramatically simplify the management of their data environments and bring together teams of data professionals, including data engineers, data scientists, BI professionals, and IT administrators, thus increasing collaboration and productivity.

Data Layers

Why Should You Use Azure Synapse With Power BI?

Azure Synapse is a cloud-based solution that provides powerful data discovery capabilities for Power Bi serverless application users. It works with all Power BI versions and enables users to quickly and easily create new dashboards, reports, and visuals based on data from any source. It also offers automated insights generation and real-time analysis of large data sets.

A single trusted source of truth for Power BI

With the launch of Azure Synapse for Power BI, organizations can use a single source of truth for the data in their Power BI applications. Building on the successful legacy of Azure SQL Data Warehouse, organizations can deploy Power BI, and other applications may use Azure Synapse as a solitary, verified source of truth. The data being displayed has been verified for quality, consistency, and correctness by using the officially approved data warehouse objects stored in supplied SQL pools, which gives Power BI developers and users of Power BI applications confidence.

For example, Power BI administrators and other BI stakeholders may insist that only those datasets built exclusively against Azure Synapse will be eligible to be marked as a Power BI-certified dataset or published to a production Premium capacity. 

DirectQuery Performance Challenges & Workarounds In Power BI

The most challenging aspect of using DirectQuery connectivity for Power Bi serverless applications is that most data sources supporting DirectQuery connectivity for Power BI have historically struggled to deliver both the high user concurrency and the low query response times required for enterprise Power BI solutions.

Power BI reports are designed for interactive data exploration user experiences, implying a high volume of queries per user session to update the different visualizations in real-time. However, as the volume of concurrent user engagement grows into the thousands, such as with widely adopted enterprise BI solutions, standard data warehouse systems such as AWS Redshift and Google BigQuery place incoming queries into a queue, thus delaying execution or forcing users’ queries to fail.

Enhanced Data Security for Power BI

Power BI professionals typically secure their solutions by implementing row-level security roles into data models and limiting the persons or groups who can access workspaces, applications, and datasets. However, given that Azure Synapse supports both rows- and column-level security for users and groups among its other layers of security features, including transparent data encryption, enterprise IT organizations would generally prefer to fully leverage their data warehouse for both query processing (that is, DirectQuery) and data security.

Given that authentication is handled through Azure Active Directory (Azure AD) and Azure AD authentication is supported and recommended for Azure Synapse, organizations can enforce data security at the data tier layer in Azure Synapse for their Power BI solutions.

A new service that brings teams together

If you’re a business intelligence professional, your team is already working on data transformation processes. But what happens when they all use different tools?

Data teams and technologies are brought together by Azure Synapse, enhancing efficiency and transparency throughout businesses. Because all teams using Azure Synapse have access to the same user interface in the Azure Synapse studio, all users may see and analyze the same data independent of their primary tools or abilities.

Prepare Power BI Solutions For Data Growth with Azure Synapse

In many Power BI solutions, data transformation and integration processes are embedded into the solution. As a result, these transformations can introduce significant risks to the scalability and sustainability of the solution.

The robust data processing tools of Azure Synapse and the expertise of Azure Synapse data engineers can address the data preparation needs of Power Bi serverless application solutions. Azure Synapse includes the enterprise-grade data transformation and orchestration capabilities of Azure Data Factory. Data engineering teams can construct robust data pipelines, Synapse Spark jobs, or SQL stored procedures to address various data preparation needs, thereby eliminating the need for Power BI developers to handle these requirements within their solutions.

Integrating Power BI with Azure Synapse for Securely Hosting Power BI Models

In this section, we’ll walk through the essentials of obtaining access to an Azure Synapse resource, connecting Azure Synapse to Power BI workspaces, and developing content in either the Azure Synapse studio or utilizing Azure Synapse as a data source.

Azure Synapse Studio

Azure Synapse Studio is the integrated web-based development and management hub for all Azure Synapse resources. All development and management activities supported by Azure Synapse are carried out in the Azure Synapse studio via access to an Azure Synapse workspace. Additionally, joint development and management tools, such as SQL Server Data Tools (SSDT) for Visual Studio, SSMS, and APIs, can be used to interface with Azure Synapse resources.

Link Power BI to the Azure management portal

Once access has been granted to the Azure Synapse workspace, it is necessary to establish connections to relevant Power BI app workspaces. Connections to these workspaces are linked services in Azure Synapse and enable users to create and modify Power BI workspace content directly from within the Azure Synapse studio.

Conclusion

Since we have covered the technical capabilities of Azure Synapse and laid out the architecture, we will now dive into creating our serverless Power BI application. After all, there is no restriction on what you can build with Power BI, yet it never hurts to speak with someone who has built these applications. EPC GROUP will indeed have the expertise you need to get off the ground successfully with Power BI.

Let's Get to Work Together!

Talk to our Microsoft Gold Certified Consultants

Contact EPC Group

Call for help:

(888) 381-9725

Email Us:

[email protected]

Head Office:

4900 Woodway Drive - Suite 830 Houston, Texas 77056

[class^="wpforms-"]
[class^="wpforms-"]
[gravityforms id="56" title=”true” description=”false”]
<div class='gf_browser_chrome gform_wrapper consult_now_sticky_sidebar_popup_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_56' > <div class='gform_heading'> <h3 class="gform_title">Consult Now - Sticky sidebar</h3> <span class='gform_description'></span> </div><form method='post' enctype='multipart/form-data' id='gform_56' class='consult_now_sticky_sidebar_popup gform_legacy_markup' action='/creating-a-powerbi-serverless-application-for-azure-synapse/' > <div class='gform_body gform-body'><ul id='gform_fields_56' class='gform_fields top_label form_sublabel_below description_below'><li id="field_56_1" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_56_1"><div class='ginput_container ginput_container_text'><input name='input_1' id='input_56_1' type='hidden' class='gform_hidden' aria-invalid="false" value='https://www.epcgroup.net/creating-a-powerbi-serverless-application-for-azure-synapse/' /></div></li><li id="field_56_11" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_56_11"><div class='ginput_container ginput_container_text'><input name='input_11' id='input_56_11' type='hidden' class='gform_hidden' aria-invalid="false" value='ddd01b75-d4fc-ea11-a816-000d3a591fb8' /></div></li><li id="field_56_12" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_56_12"><div class='ginput_container ginput_container_text'><input name='input_12' id='input_56_12' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_56_13" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_56_13"><div class='ginput_container ginput_container_text'><input name='input_13' id='input_56_13' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_56_9" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_56_9"><label class='gfield_label' for='input_56_9' >Full Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_9' id='input_56_9' type='text' value='' class='large' placeholder='Full Name' aria-required="true" aria-invalid="false" /> </div></li><li id="field_56_6" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_56_6"><label class='gfield_label' for='input_56_6' >Email<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_6' id='input_56_6' type='text' value='' class='large' placeholder='Email Address' aria-required="true" aria-invalid="false" /> </div></li><li id="field_56_7" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_56_7"><label class='gfield_label' for='input_56_7' >Phone<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_phone'><input name='input_7' id='input_56_7' type='text' value='' class='large' placeholder='Phone Number' aria-required="true" aria-invalid="false" /></div></li><li id="field_56_10" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_56_10"><label class='gfield_label' for='input_56_10' >Company Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_10' id='input_56_10' type='text' value='' class='large' placeholder='Company Name' aria-required="true" aria-invalid="false" /> </div></li><li id="field_56_8" class="gfield textarea_consultnow gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_56_8"><label class='gfield_label' for='input_56_8' >Message<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_textarea'><textarea name='input_8' id='input_56_8' class='textarea medium' placeholder='Type your message here...' aria-required="true" aria-invalid="false" rows='10' cols='50'></textarea></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_56' class='gform_button button' value='Submit' onclick='if(window["gf_submitting_56"]){return false;} window["gf_submitting_56"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_56"]){return false;} window["gf_submitting_56"]=true; jQuery("#gform_56").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_56' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='56' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_56' value='WyJbXSIsIjEwNTJhNGVmMWMyNzI3YTJmMjdiZTA1NjU4ZDMzYzY3Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_56' id='gform_target_page_number_56' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_56' id='gform_source_page_number_56' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div>
[gravityforms id=53 title=”true” description=”true”]
<div class='gf_browser_chrome gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_53' > <div class='gform_heading'> <h3 class="gform_title">Subscriber - Downloadables - Azure IoT 11-Scenarios</h3> <span class='gform_description'></span> </div><form method='post' enctype='multipart/form-data' id='gform_53' action='/creating-a-powerbi-serverless-application-for-azure-synapse/' ><div class='gf_invisible ginput_recaptchav3' data-sitekey='6LeGGqIgAAAAACeaWDr0LrEXPuk3w3j9nILrHaSZ' data-tabindex='0'><input id="input_e797c443553b5588c22cee2a4956736d" class="gfield_recaptcha_response" type="hidden" name="input_e797c443553b5588c22cee2a4956736d" value=""/></div> <div class='gform_body gform-body'><ul id='gform_fields_53' class='gform_fields top_label form_sublabel_below description_below'><li id="field_53_7" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_53_7"><div class='ginput_container ginput_container_text'><input name='input_7' id='input_53_7' type='hidden' class='gform_hidden' aria-invalid="false" value='https://www.epcgroup.net/creating-a-powerbi-serverless-application-for-azure-synapse/' /></div></li><li id="field_53_4" class="gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_53_4"> <div class="description_data"> <p class="dp_one">Subscribe to our newsletter and get this downloadable content <strong> for free<strong>.</p> </div></li><li id="field_53_8" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_53_8"><label class='gfield_label' for='input_53_8' >Full Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_8' id='input_53_8' type='text' value='' class='large' placeholder='Full Name*' aria-required="true" aria-invalid="false" /> </div></li><li id="field_53_2" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_53_2"><label class='gfield_label' for='input_53_2' >Email Address<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_2' id='input_53_2' type='text' value='' class='medium' placeholder='Enter Your Valid Email Address*' aria-required="true" aria-invalid="false" aria-describedby="gfield_description_53_2" /> </div><div class='gfield_description' id='gfield_description_53_2'>Please enter your correct email address. You will receive an email to download the PDF.</div></li><li id="field_53_5" class="gfield gfield_html gfield_html_formatted field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_53_5"><div class="note_description"><p><i><strong>NOTE: </strong>We will never send you spam or pass on your email address to any third party. You may choose to opt-out at any time.</i></p></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_53' class='gform_button button' value='Subscribe &amp; Download' onclick='if(window["gf_submitting_53"]){return false;} window["gf_submitting_53"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_53"]){return false;} window["gf_submitting_53"]=true; jQuery("#gform_53").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_53' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='53' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_53' value='WyJbXSIsIjEwNTJhNGVmMWMyNzI3YTJmMjdiZTA1NjU4ZDMzYzY3Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_53' id='gform_target_page_number_53' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_53' id='gform_source_page_number_53' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div>
[gravityforms id=52 title=”true” description=”true”]
<div class='gf_browser_chrome gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_52' > <div class='gform_heading'> <h3 class="gform_title">Subscriber - Downloadables - Top 10 tips of successfully migrate to Microsoft teams</h3> <span class='gform_description'></span> </div><form method='post' enctype='multipart/form-data' id='gform_52' action='/creating-a-powerbi-serverless-application-for-azure-synapse/' ><div class='gf_invisible ginput_recaptchav3' data-sitekey='6LeGGqIgAAAAACeaWDr0LrEXPuk3w3j9nILrHaSZ' data-tabindex='0'><input id="input_269100219d024f790908b77bdced741a" class="gfield_recaptcha_response" type="hidden" name="input_269100219d024f790908b77bdced741a" value=""/></div> <div class='gform_body gform-body'><ul id='gform_fields_52' class='gform_fields top_label form_sublabel_below description_below'><li id="field_52_7" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_52_7"><div class='ginput_container ginput_container_text'><input name='input_7' id='input_52_7' type='hidden' class='gform_hidden' aria-invalid="false" value='https://www.epcgroup.net/creating-a-powerbi-serverless-application-for-azure-synapse/' /></div></li><li id="field_52_4" class="gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_52_4"> <div class="description_data"> <p class="dp_one">Subscribe to our newsletter and get this downloadable content <strong> for free<strong>.</p> </div></li><li id="field_52_8" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_52_8"><label class='gfield_label' for='input_52_8' >Full Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_8' id='input_52_8' type='text' value='' class='large' placeholder='Full Name*' aria-required="true" aria-invalid="false" /> </div></li><li id="field_52_2" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_52_2"><label class='gfield_label' for='input_52_2' >Email Address<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_2' id='input_52_2' type='text' value='' class='medium' placeholder='Enter Your Valid Email Address*' aria-required="true" aria-invalid="false" aria-describedby="gfield_description_52_2" /> </div><div class='gfield_description' id='gfield_description_52_2'>Please enter your correct email address. You will receive an email to download the PDF.</div></li><li id="field_52_5" class="gfield gfield_html gfield_html_formatted field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_52_5"><div class="note_description"><p><i><strong>NOTE: </strong>We will never send you spam or pass on your email address to any third party. You may choose to opt-out at any time.</i></p></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_52' class='gform_button button' value='Subscribe &amp; Download' onclick='if(window["gf_submitting_52"]){return false;} window["gf_submitting_52"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_52"]){return false;} window["gf_submitting_52"]=true; jQuery("#gform_52").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_52' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='52' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_52' value='WyJbXSIsIjEwNTJhNGVmMWMyNzI3YTJmMjdiZTA1NjU4ZDMzYzY3Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_52' id='gform_target_page_number_52' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_52' id='gform_source_page_number_52' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div>
[gravityforms id=51 title=”true” description=”true”]
<div class='gf_browser_chrome gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_51' > <div class='gform_heading'> <h3 class="gform_title">Subscriber - Downloadables - Azure Sentinel Use Cases</h3> <span class='gform_description'></span> </div><form method='post' enctype='multipart/form-data' id='gform_51' action='/creating-a-powerbi-serverless-application-for-azure-synapse/' ><div class='gf_invisible ginput_recaptchav3' data-sitekey='6LeGGqIgAAAAACeaWDr0LrEXPuk3w3j9nILrHaSZ' data-tabindex='0'><input id="input_89589fe2d3178f5fd614d1bb49b4f165" class="gfield_recaptcha_response" type="hidden" name="input_89589fe2d3178f5fd614d1bb49b4f165" value=""/></div> <div class='gform_body gform-body'><ul id='gform_fields_51' class='gform_fields top_label form_sublabel_below description_below'><li id="field_51_7" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_51_7"><div class='ginput_container ginput_container_text'><input name='input_7' id='input_51_7' type='hidden' class='gform_hidden' aria-invalid="false" value='https://www.epcgroup.net/creating-a-powerbi-serverless-application-for-azure-synapse/' /></div></li><li id="field_51_4" class="gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_51_4"> <div class="description_data"> <p class="dp_one">Subscribe to our newsletter and get this downloadable content <strong> for free<strong>.</p> </div></li><li id="field_51_8" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_51_8"><label class='gfield_label' for='input_51_8' >Full Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_8' id='input_51_8' type='text' value='' class='large' placeholder='Full Name*' aria-required="true" aria-invalid="false" /> </div></li><li id="field_51_2" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_51_2"><label class='gfield_label' for='input_51_2' >Email Address<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_2' id='input_51_2' type='text' value='' class='medium' placeholder='Enter Your Valid Email Address*' aria-required="true" aria-invalid="false" aria-describedby="gfield_description_51_2" /> </div><div class='gfield_description' id='gfield_description_51_2'>Please enter your correct email address. You will receive an email to download the PDF.</div></li><li id="field_51_5" class="gfield gfield_html gfield_html_formatted field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_51_5"><div class="note_description"><p><i><strong>NOTE: </strong>We will never send you spam or pass on your email address to any third party. You may choose to opt-out at any time.</i></p></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_51' class='gform_button button' value='Subscribe &amp; Download' onclick='if(window["gf_submitting_51"]){return false;} window["gf_submitting_51"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_51"]){return false;} window["gf_submitting_51"]=true; jQuery("#gform_51").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_51' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='51' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_51' value='WyJbXSIsIjEwNTJhNGVmMWMyNzI3YTJmMjdiZTA1NjU4ZDMzYzY3Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_51' id='gform_target_page_number_51' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_51' id='gform_source_page_number_51' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div>
[gravityforms id=50 title=”true” description=”true”]
<div class='gf_browser_chrome gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_50' > <div class='gform_heading'> <h3 class="gform_title">Subscriber - Downloadables - Understand Azure Digital Twins</h3> <span class='gform_description'></span> </div><form method='post' enctype='multipart/form-data' id='gform_50' action='/creating-a-powerbi-serverless-application-for-azure-synapse/' ><div class='gf_invisible ginput_recaptchav3' data-sitekey='6LeGGqIgAAAAACeaWDr0LrEXPuk3w3j9nILrHaSZ' data-tabindex='0'><input id="input_51b35b8322cbea00fdb063db81305b64" class="gfield_recaptcha_response" type="hidden" name="input_51b35b8322cbea00fdb063db81305b64" value=""/></div> <div class='gform_body gform-body'><ul id='gform_fields_50' class='gform_fields top_label form_sublabel_below description_below'><li id="field_50_7" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_50_7"><div class='ginput_container ginput_container_text'><input name='input_7' id='input_50_7' type='hidden' class='gform_hidden' aria-invalid="false" value='https://www.epcgroup.net/creating-a-powerbi-serverless-application-for-azure-synapse/' /></div></li><li id="field_50_4" class="gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_50_4"> <div class="description_data"> <p class="dp_one">Subscribe to our newsletter and get this downloadable content <strong> for free<strong>.</p> </div></li><li id="field_50_8" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_50_8"><label class='gfield_label' for='input_50_8' >Full Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_8' id='input_50_8' type='text' value='' class='large' placeholder='Full Name*' aria-required="true" aria-invalid="false" /> </div></li><li id="field_50_2" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_50_2"><label class='gfield_label' for='input_50_2' >Email Address<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_2' id='input_50_2' type='text' value='' class='medium' placeholder='Enter Your Valid Email Address*' aria-required="true" aria-invalid="false" aria-describedby="gfield_description_50_2" /> </div><div class='gfield_description' id='gfield_description_50_2'>Please enter your correct email address. You will receive an email to download the PDF.</div></li><li id="field_50_5" class="gfield gfield_html gfield_html_formatted field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_50_5"><div class="note_description"><p><i><strong>NOTE: </strong>We will never send you spam or pass on your email address to any third party. You may choose to opt-out at any time.</i></p></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_50' class='gform_button button' value='Subscribe &amp; Download' onclick='if(window["gf_submitting_50"]){return false;} window["gf_submitting_50"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_50"]){return false;} window["gf_submitting_50"]=true; jQuery("#gform_50").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_50' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='50' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_50' value='WyJbXSIsIjEwNTJhNGVmMWMyNzI3YTJmMjdiZTA1NjU4ZDMzYzY3Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_50' id='gform_target_page_number_50' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_50' id='gform_source_page_number_50' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div>
[gravityform id="43" title="true" description="false" ajax="true"]
<div class='gf_browser_chrome gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_43' ><div id='gf_43' class='gform_anchor' tabindex='-1'></div> <div class='gform_heading'> <h3 class="gform_title">Subscriber - Powerbi e-book</h3> </div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_43' id='gform_43' action='/creating-a-powerbi-serverless-application-for-azure-synapse/#gf_43' ><div class='gf_invisible ginput_recaptchav3' data-sitekey='6LeGGqIgAAAAACeaWDr0LrEXPuk3w3j9nILrHaSZ' data-tabindex='0'><input id="input_34f3c85bb7795aceac1a1b6a0130ead2" class="gfield_recaptcha_response" type="hidden" name="input_34f3c85bb7795aceac1a1b6a0130ead2" value=""/></div> <div class='gform_body gform-body'><ul id='gform_fields_43' class='gform_fields top_label form_sublabel_below description_below'><li id="field_43_7" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_43_7"><div class='ginput_container ginput_container_text'><input name='input_7' id='input_43_7' type='hidden' class='gform_hidden' aria-invalid="false" value='https://www.epcgroup.net/creating-a-powerbi-serverless-application-for-azure-synapse/' /></div></li><li id="field_43_4" class="gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_43_4"> <div class="description_data"> <p class="dp_one">Subscribe to our newsletter and get the first three chapters of the eBook for <strong>free<strong>.</p> </div></li><li id="field_43_6" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_43_6"><label class='gfield_label gfield_label_before_complex' >Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name has_last_name no_suffix gf_name_has_2 ginput_container_name' id='input_43_6'> <span id='input_43_6_3_container' class='name_first' > <input type='text' name='input_6.3' id='input_43_6_3' value='' aria-required='true' placeholder='First Name' /> <label for='input_43_6_3' >First</label> </span> <span id='input_43_6_6_container' class='name_last' > <input type='text' name='input_6.6' id='input_43_6_6' value='' aria-required='true' placeholder='Last Name' /> <label for='input_43_6_6' >Last</label> </span> </div></li><li id="field_43_2" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_43_2"><label class='gfield_label' for='input_43_2' >Email Address<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_2' id='input_43_2' type='text' value='' class='medium' aria-required="true" aria-invalid="false" aria-describedby="gfield_description_43_2" /> </div><div class='gfield_description' id='gfield_description_43_2'>Please enter your correct email address. You will receive an email to download the eBook.</div></li><li id="field_43_3" class="gfield g-captcha field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_43_3"><label class='gfield_label screen-reader-text' for='input_43_3' ></label><div id='input_43_3' class='ginput_container ginput_recaptcha' data-sitekey='6LdQ388UAAAAAJaahWs7D_jWzeQhUZW6-VNwWfaU' data-theme='light' data-tabindex='0' data-badge=''></div></li><li id="field_43_5" class="gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_43_5"><div class="note_description"><p><i><strong>NOTE: </strong>We will never send you spam or pass on your email address to any third party. You may choose to opt-out at any time.</i></p></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_43' class='gform_button button' value='Download Now' onclick='if(window["gf_submitting_43"]){return false;} window["gf_submitting_43"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_43"]){return false;} window["gf_submitting_43"]=true; jQuery("#gform_43").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=43&amp;title=1&amp;description=&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_43' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='43' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_43' value='WyJbXSIsIjEwNTJhNGVmMWMyNzI3YTJmMjdiZTA1NjU4ZDMzYzY3Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_43' id='gform_target_page_number_43' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_43' id='gform_source_page_number_43' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_43' id='gform_ajax_frame_43' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script type="text/javascript"> gform.initializeOnLoaded( function() {gformInitSpinner( 43, 'https://www.epcgroup.net/wp-content/uploads/2021/11/ezgif.com-gif-maker.gif' );jQuery('#gform_ajax_frame_43').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_43');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_43').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_43').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_43').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_43').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_43').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_43').val();gformInitSpinner( 43, 'https://www.epcgroup.net/wp-content/uploads/2021/11/ezgif.com-gif-maker.gif' );jQuery(document).trigger('gform_page_loaded', [43, current_page]);window['gf_submitting_43'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_43').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_43').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [43]);window['gf_submitting_43'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_43').text());}, 50);}else{jQuery('#gform_43').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [43, current_page]);} );} ); </script>
[gravityforms id=41 title=”true” description=”false”]
<div class='gf_browser_chrome gform_wrapper exit_intent_popup_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_41' > <div class='gform_heading'> <h3 class="gform_title">Exit Intent</h3> <span class='gform_description'></span> </div><form method='post' enctype='multipart/form-data' id='gform_41' class='exit_intent_popup gform_legacy_markup' action='/creating-a-powerbi-serverless-application-for-azure-synapse/' > <div class='gform_body gform-body'><ul id='gform_fields_41' class='gform_fields top_label form_sublabel_below description_below'><li id="field_41_1" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_1"><div class='ginput_container ginput_container_text'><input name='input_1' id='input_41_1' type='hidden' class='gform_hidden' aria-invalid="false" value='https://www.epcgroup.net/creating-a-powerbi-serverless-application-for-azure-synapse/' /></div></li><li id="field_41_11" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_11"><div class='ginput_container ginput_container_text'><input name='input_11' id='input_41_11' type='hidden' class='gform_hidden' aria-invalid="false" value='ddd01b75-d4fc-ea11-a816-000d3a591fb8' /></div></li><li id="field_41_12" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_12"><div class='ginput_container ginput_container_text'><input name='input_12' id='input_41_12' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_41_13" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_13"><div class='ginput_container ginput_container_text'><input name='input_13' id='input_41_13' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_41_9" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_9"><label class='gfield_label' for='input_41_9' >Full Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_9' id='input_41_9' type='text' value='' class='medium' placeholder='Full Name' aria-required="true" aria-invalid="false" /> </div></li><li id="field_41_6" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_6"><label class='gfield_label' for='input_41_6' >Email<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_6' id='input_41_6' type='text' value='' class='medium' placeholder='Email Address' aria-required="true" aria-invalid="false" /> </div></li><li id="field_41_7" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_7"><label class='gfield_label' for='input_41_7' >Phone<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_phone'><input name='input_7' id='input_41_7' type='text' value='' class='medium' placeholder='Phone Number' aria-required="true" aria-invalid="false" /></div></li><li id="field_41_10" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_10"><label class='gfield_label' for='input_41_10' >Company Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_10' id='input_41_10' type='text' value='' class='medium' placeholder='Company Name' aria-required="true" aria-invalid="false" /> </div></li><li id="field_41_8" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_8"><label class='gfield_label' for='input_41_8' >Message<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_textarea'><textarea name='input_8' id='input_41_8' class='textarea medium' placeholder='Type your message here...' aria-required="true" aria-invalid="false" rows='10' cols='50'></textarea></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_41' class='gform_button button' value='Submit' onclick='if(window["gf_submitting_41"]){return false;} window["gf_submitting_41"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_41"]){return false;} window["gf_submitting_41"]=true; jQuery("#gform_41").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_41' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='41' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_41' value='WyJbXSIsIjEwNTJhNGVmMWMyNzI3YTJmMjdiZTA1NjU4ZDMzYzY3Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_41' id='gform_target_page_number_41' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_41' id='gform_source_page_number_41' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div>