Knowledge Hub

62 topics · Data Warehousing and Business Intelligence · I Am Datapedia! · 10 shown

Show all

Every topic is free to read. A free account also lets you search the topics, react to a topic and comment under it.

  1. I Am Datapedia!

    Data Warehousing and Business Intelligence

    Multidimensional eXpression(MDX)

    Before we understand MDX, we must first reassemble our memories with respect to OLTP and OLAP. We know what these are, both are explained as separate topics in detail.

    SQL (Structured Query Language) is for RELATIONAL DATABASES which is primarily used by OLTP systems, but it also used by almost all the datastores i.e., Data Warehouse, Data Lake, Data Vault, Business Vault etc.

    MDX (Multidimensional eXpression) was invented by SQL Server engineers in 1997. MDX is the query language for OLAP DATABASES to extract multi-dimensional data from OLAP Cubes. Its syntax is just like XLS formula.

    MDX is not a new language, it’s been there for decades but due to the ease of use of SQL language, it’s hardly used now a day. But experts are predicting the revival of MDX soon.

    MDX Data Types

    • Scalar can be number or string.
    • Hierarchy is like dimension e.g., in time dimension, the hierarchy is year, month, week, day etc.
    • Level is the level of Hierarchy of dimension like is year, month, or week etc.
    • Member is the member of hierarchy like exact date or week or month etc.
    • Tuples contain one or more members of a hierarchy.
    • Set contains one more tuple.
    • Other Data Types are the name of the fields/ columns in a multidimensional cube. It’s just like fields/ columns in a Data Warehouse or Data Mart.

    2 min readMore

    Share this topic

    Multidimensional eXpression(MDX)

    React
  2. I Am Datapedia!

    Data Warehousing and Business Intelligence

    Data Warehouse vs Data Lake

    Data Warehouse

    A data warehouse is a type of data platform that is designed to store and analyze structured data from various sources, providing a central repository for business intelligence (BI) and analytics applications. The data stored in a data warehouse is typically historical, integrated, and cleansed, and can be used to support decision-making, reporting, and analysis at all levels of an organization. The data stored in a data warehouse is typically structured and organized into tables and is optimized for efficient querying and analysis.

    Data Lake

    A data lake is a centralized repository that allows you to store all your structured, semi and unstructured data at any scale. The term was coined to represent the idea of a system where data flows in from various sources and resides in its most "natural" state, just like water in a lake. These data can range from raw, unprocessed files to transformed, structured records.

    2 min readMore

    Share this topic

    Data Warehouse vs Data Lake

    React
  3. I Am Datapedia!

    Data Warehousing and Business Intelligence

    Slowly ChangingDimensions (SCD)

    A diagram of a software project

Description automatically generatedSlowly Changing Dimensions is also known as SCD and is used in Data Warehouse concept. Folks in Data World are very much aware of this term.

    Before we understand SCD, one must understand Fact and Dimensions. In dimensional Data Warehouse or in a Data Mart (explained in separate topic), there are two types of schema(s) i.e., Star and Snowflake Schema(s). Both are build based on Facts and Dimensions.

    • Facts: This table keeps the transaction’s lowest level of data which can be numeric or non-numeric like sales numbers, number of clicks on social media portal, number of searches in google etc. It’s mainly loaded in append mode, means rows always get inserted. This table is a very fast-moving table, and rows keep coming in. There are hardly any organizations which update and delete data from Fact Tables.
    • Dimension: This table on the other hand keeps data element by which Fact can be analyzed e.g., sale by time, sales by region, sales by the product etc. So, Time, Regions, Products etc., are dimensions. In contrast with Fact table, frequency of rows coming in these tables are very low. For Example, once we have loaded regions then when often regions will change 😊. Once Time is loaded, it will never change. At the same time, Products definitions can change. A company today has 100 products, in future it can have more. Then attributes of one product can change in future a well, so there are three ways to keep the history of changed in Dimensions which are handled by principles managed by SLOWLY CHANGING DIMENSIONS (SCD).

    2 min readMore

    Share this topic

    Slowly ChangingDimensions (SCD)

    React
  4. I Am Datapedia!

    Data Warehousing and Business Intelligence

    Type of Analytics

    We have already gone through Analysis and Analytics. Analytics refers to the systematic analysis of data or statistics to uncover meaningful patterns, insights, and trends. There are several types of analytics, each serving specific purposes and addressing different aspects of data analysis.

    The major types of analytics include:

    • Descriptive Analytics: It describes what has happened in the past, providing a historical overview. For example, summarizing sales data to understand total revenue for a specific period.
    • Diagnostic Analytics: It focuses on why a particular event or trend occurred by identifying its root causes. For example, investigating a drop in website traffic to determine the reasons behind the decline.
    • Predictive Analytics: It predicts future outcomes or trends based on historical data and statistical algorithms. For example, using machine learning models to predict customer churn or stock prices.
    • A graph with arrows pointing to the top

Description automatically generatedPrescriptive Analytics: It recommends actions to optimize outcomes based on predictive analytics results. For example, suggesting marketing strategies to increase customer retention based on predictive insights.
    • Other types of analytics include:
    • Text Analytics (Text Mining): It analyzes unstructured text data to extract insights, sentiment, or patterns. For example, analyzing customer reviews to understand sentiment and identify common themes.
    • Spatial Analytics: It analyzes geographic or location-based data to uncover spatial patterns and relationships. For example, mapping crime rates in a city to identify high-crime areas.
    • Social Media Analytics: It analyzes social media data to understand trends, sentiments, and user interactions. For example, monitoring brand mentions on social media to assess brand sentiment.
    • Web Analytics: It analyzes website data to understand user behavior, track performance, and optimize user experience. For example, tracking page views, bounce rates, and click-through rates on a website.
    • Business Intelligence (BI): It involves the use of tools and processes to analyze and visualize business data for decision-making. For example, creating dashboards to monitor key performance indicators (KPIs) in real-time.
    • Big Data Analytics: It analyzes large and complex datasets to uncover hidden patterns and insights. For example, analyzing vast amounts of sensor data for predictive maintenance in manufacturing.
    • Customer Analytics: It analyzes customer data to understand behavior, preferences, and trends. For example, creating customer segmentation based on purchasing patterns.

    3 min readMore

    Share this topic

    Type of Analytics

    React
  5. I Am Datapedia!

    Data Storage and Operations

    Materialized View

    Materialized View is a database object that stores the output of a query. Unlike a regular view, which is a virtual table derived from the result of a SELECT query, a materialized view physically stores the data in a structured form. This precomputed data can be periodically refreshed to reflect changes in the underlying tables.

    It is a snapshot of the data at the time the materialized view was last refreshed. You create a materialized view by defining the structure of the view and specifying the query that populates it.

    CREATE MATERIALIZED VIEW EmployeeProfile

    AS

    SELECT Employee.*, Department.*

    FROM Employee, Department

    WHERE Employee.DeptID = Department.DeptID

    In this example, we create a materialized view named " EmployeeProfile " that summarizes Employees Details based on Employee and Department tables.

    Unlike regular views, materialized views store the data physically. The result set of the query materialized, meaning it's stored in a table-like structure within the database.

    3 min readMore

    Share this topic

    Materialized View

    React
  6. I Am Datapedia!

    Data Warehousing and Business Intelligence

    Aggregation Functions

    Aggregation Functions are used to perform calculations on a set of values to return a single summarized result. These functions are often applied to columns in a database to derive useful insights from the data.

    For better understanding:

    A diagram of a diagram

Description automatically generated1. Aggregation Functions in the Data World:

    In the realm of data management and analysis, aggregation functions play a crucial role. These functions are specialized tools used to process and summarize data, particularly when dealing with large datasets. Instead of looking at individual data points, aggregation functions allow us to analyze groups of data and distill meaningful information.

    2. Performing Calculations on a Set of Values:

    Aggregation functions operate on sets of values, which are typically found in columns of a database. Instead of working with individual records, these functions work with groups or entire columns of data. This allows for the calculation of summary statistics, totals, averages, and other aggregated measures.

    4 min readMore

    Share this topic

    Aggregation Functions

    React
  7. I Am Datapedia!

    Data Integration and Interoperability

    Importance ofStaging Layer

    Yes, you are right, in Data World, Staging Layer is one of the most important zones then why to write about it. Trust me it's been underutilized in most implementations.

    Let's decode it.....

    The Staging Layer in data architecture plays a crucial role in the data processing pipeline, providing a temporary and structured area for incoming data before it is integrated into the data warehouse or other storage systems.

    Many a times Staging Layer is confused with Landing Layer. Yeah trust me, I have seen people doing nothing in Staging Layer except minor things. Please note, especially in the era of cloud, if one doesn’t properly utilize Staging Layer, the consumption cost from Staging Layer to Transformed Layer will be significantly higher.

    The importance of the staging layer lies in several key aspects:

    • Data Quality and Validation: The staging layer acts as a checkpoint for data quality and validation. Before data is moved to the main storage or processing area, it undergoes validation checks to ensure it meets quality standards. This helps identify and address issues such as missing values, formatting errors, or inconsistencies early in the data pipeline.
    • A black background with blue lines

Description automatically generatedData Enrichment: Staging allows for data enrichment processes to take place before the data reaches its final destination. This step involves cleaning, enhancing the data, making it more suitable for analysis and reporting. It ensures that the data conforms to the desired format and structure.
    • Incremental Loading: The staging layer facilitates incremental loading of data, allowing for efficient updates and additions. Instead of reloading the entire dataset, only new or modified data needs to be processed, reducing the computational load and improving overall system performance.
    • Data Auditing and Lineage: Staging provides a historical record of the ingested data, enabling auditing and tracing of changes over time. This is essential for tracking the lineage of data, understanding its origin, and ensuring compliance with data governance and regulatory requirements.
    • Fault Tolerance and Recovery: Staging serves as a buffer against data processing failures. If an error occurs during data integration or transformation, the staging layer allows for easier recovery without affecting the main data storage. It provides a level of fault tolerance and helps maintain the integrity of the overall data processing pipeline.
    • Isolation of Source and Destination Systems: Staging separates the source systems (where data originates) from the destination systems (where data is stored for analysis). This isolation ensures that any changes or issues in the source systems do not immediately impact the data warehouse or analytics environment, providing a layer of protection.
    • Performance Optimization: By pre-processing and validating data in the staging layer, the main data storage systems are relieved of some of the computational overhead. This optimization contributes to improved performance and responsiveness in data processing.

    3 min readMore

    Share this topic

    Importance ofStaging Layer

    React
  8. I Am Datapedia!

    Data Warehousing and Business Intelligence

    Attribution Data Models

    Over the years, our approach to measuring marketing performance has drastically evolved and continues to change with advancing technology and evolving data policies. The days of rigidly assigning budgets to different marketing channels and relying solely on P&L statements to gauge the success of our efforts are behind us.

    Assessing the performance of our ads involves understanding the correlation between our marketing spend and revenue generated. With data sources and clear models, especially when running campaigns across various channels simultaneously (e.g., Facebook, Google, Out Of Home, TV), the key question remains:

    Which channels and touchpoints contribute significantly to the final sale?

    To evaluate that, we employ distinct data models in marketing, each carrying its own set of advantages and limitations. These models must be tailored to fit each use case and align with how people interact with our business:

    4 min readMore

    Share this topic

    Attribution Data Models

    React
  9. I Am Datapedia!

    Data Warehousing and Business Intelligence

    Incrementality inPerformance Marketing

    Success in the dynamic landscape of marketing depends on engaging the right audience effectively. However, not all audiences respond the same to advertisements.

    At the core of this lies a pivotal question:

    Would customers buy without the corresponding paid advertising?
    This question is at the core of incrementality in marketing, revealing three different ways people react to ads.

    Understanding Audience Behavior

    This basic exploration breaks down how audiences react into three different groups:

    1. Non-responsive Audience: This group is unaffected by ads no matter how much they see them. They don't feel like engaging or buying because of ads.
    2. Pre-existing Demand Audience: People in this group were already planning to buy, ads or not. Ads might change when they buy, but they won't change their mind about buying.
    3. Incremental Audience: Importantly, this group includes people who are directly affected by ads. These potential customers engage or buy only because they saw ads, showing how much ads affect their behavior.

    2 min readMore

    Share this topic

    Incrementality inPerformance Marketing

    React
  10. I Am Datapedia!

    Data Storage and Operations

    Materialized View orTemporary Tables in SQL

    In typical SQL world (Structured Query Language), usually managing and manipulating data efficiently is very crucial for its performance, database lifecycle or DWH scalability. Temporary tables and materialized views are two powerful constructs (objects) that help in achieving both objectives simultaneously. Even though each serves a unique purpose within data operations and data streams. Let´s look at both little closer.

    Temporary Tables

    We can define them as typical tables which are created within a database session and are only available during the lifetime of that particular session. Lifetime during session is critical as they are designed to store intermediate results, results of window functions for complex calculations or data processing tasks and massive data manipulations.

    Temporary tables are essentially useful in scenarios where data needs to be temporarily held and manipulated without affecting the main database tables. Here comes why it is called “temporary”. After your session ends, the temporary table is automatically discarded - same as you run command DROP TABLE, after query results are taken into another step. This way processing ensures no permanent database storage is consumed. You can imagine storing all 245 steps and their output tables consisting of 6 billion rows and 700 columns each day to have versions of each step.

    3 min readMore

    Share this topic

    Materialized View orTemporary Tables in SQL

    React

Build a strong foundation in Data & AI

Follow the Data Foundations learning path (Beginner to Advanced).

View learning path