Extracting String Items from JSON Arrays in Snowflake

Introduction

Have you ever struggled with handling JSON data in SQL queries? If so, you’re not alone. In this post, we’ll explore a real-world scenario where we tackled this challenge in Snowflake, transforming complex JSON structures into structured, queryable data.

Understanding the Challenge

In one of our ETL projects, we process raw data ingested from a third-party REST API into a Snowflake database. Some parent-child relationships within this data are stored as JSON strings inside VARCHAR columns.

Here is a simplified example for the purposes of this article:

Continue reading “Extracting String Items from JSON Arrays in Snowflake”

Boosting DAX Performance: Practical Optimizations for Faster Queries

We are excited to share a few key tips for optimizing DAX queries that significantly improved the efficiency of our Azure Analysis Services (AAS) Tabular Model project.

DAX_performance

Our project involves various financial measures that calculate key metrics such as LTM Sales, LTM EBITDA, and Net Debt. Each of these measures incorporates logic for FX conversions and period filtering. While individual measures performed well, combining many measures in a single dashboard negatively impacted performance. After analyzing our DAX expressions, we identified two major factors affecting execution time. Below, we outline how we optimized performance in each case.

Continue reading “Boosting DAX Performance: Practical Optimizations for Faster Queries”

Use DAX to Manipulate Relationships in Tabular Model Projects (Analysis Services)

Welcome to the next piece of our series of articles describing the challenges we handled while working on the “Snowflake Warehouse and AAS Tabular Model” project.

We are happy to share our recent findings that helped us implement specific requirements in the tabular model project on which we have been working for a while.

Continue reading “Use DAX to Manipulate Relationships in Tabular Model Projects (Analysis Services)”

Mastering OLAP Cube Reporting: Solving Grand Total Calculations in Snowflake Warehouse and AAS Cube Projects


Welcome to the first installment of our promised series of articles detailing the challenges we encountered and conquered during our work on the “Snowflake Warehouse and AAS Cube” project.

Today, we’re excited to share how we tackled a particularly thorny issue while developing an AAS Cube project for one of our valued clients. Our task involved creating measures to extract financial data such as Sales and EBITDA. Given that reports are generated in specific currencies (e.g., USD), we needed to incorporate currency (FX) conversions within these measures. The parameters for these calculations varied depending on the particular company, with each company having its base currency code.

Continue reading “Mastering OLAP Cube Reporting: Solving Grand Total Calculations in Snowflake Warehouse and AAS Cube Projects”

Mobile App with Corporate Authentication (Ionic + ASP.NET Web API + OAuth 2.0 tokens + Okta)

Recently we had to build a mobile application and one of the requirements was to implement a corporate authentication for managing the user accounts. We think the approach that we used could be interesting and helpful in similar scenarios that is why we would like the share our experience.

Continue reading “Mobile App with Corporate Authentication (Ionic + ASP.NET Web API + OAuth 2.0 tokens + Okta)”

TinyMCE in ASP.NET UpdatePanel

TinyMCE is a great HTML editor and it is pretty easy to install and configure the editor on a web page. You should just call the init() function while loading the web page at the client’s browser and the target text-area will be transformed into a nice looking HTML editor.

However, we run into some troubles when we tried to use the TinyMCE editor on an ASP.NET page containing server inputs that are handled by the Microsoft’s UpdatePanel control.

Continue reading “TinyMCE in ASP.NET UpdatePanel”

Online Technical Documentation based on WordPress

Recently, we were asked to implement an online technical documentation solution by one of clients. We had to move the existing offline documents (mainly MS Word and PDF files) to an online accessible format that would also allow the users to modify the documents by themselves. We thought about the following options for implementing this:

  • Implement a custom web based ASP.NET solution, starting from scratch
  • Use Wiki engine
  • Use CMS (e.g. WordPress)

We did not choose the custom implementation because it was the most time consuming option. We also did not choose the Wiki software because we found it a bit outdated and too restrictive and finally we focused on the CMS solution.

Continue reading “Online Technical Documentation based on WordPress”

HTML 5 – The Offline Challenge

HTML 5 – The Offline Challenge

I. Introduction

Some time ago our team had to add a new feature to one of our web projects. There was a request to add a capability to allow the users to use the application in “offline” mode. It was a great opportunity to dive into HTML 5 and more specifically the “offline” part of it. The new features of HTML5 are pretty interesting, but also “tricky” and this is why I would like to share some of the challenges we met.

First, I would like to say a few words about the technology on which the project is build. That is ASP.NET application which is storing data in SQL Server database. This is not a public application and only authorized users can access it. The system allows the users to go through their business process by entering the information in some structured web forms and at the end it allows them to generate a Word document, which is their final product. The web application is completely client-orientated and there is a huge usage of jQuery and AJAX. The AJAX calls are handled by WCF services. Frankly, this architecture made the implementation of the “offline mode” pretty straightforward.

Continue reading “HTML 5 – The Offline Challenge”