<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>ExploreMyData</title>
  <subtitle>Guides and engineering write-ups on working with awkward data files.</subtitle>
  <link rel="self" type="application/atom+xml" href="https://exploremydata.com/feed.xml" />
  <link rel="alternate" type="text/html" href="https://exploremydata.com/" />
  <id>https://exploremydata.com/</id>
  <updated>2026-09-03T00:00:00Z</updated>
  <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
  <rights>Copyright ExploreMyData</rights>
  <generator uri="https://exploremydata.com/">ExploreMyData feed generator</generator>
  <entry>
    <title>Converting 100 MB in a static page without a server</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/engineering/converting-100mb-in-a-static-page" />
    <id>https://exploremydata.com/engineering/converting-100mb-in-a-static-page</id>
    <published>2026-09-03T00:00:00Z</published>
    <updated>2026-09-03T00:00:00Z</updated>
    <category term="Engineering" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">Thirty-nine converters, each a static HTML file with no framework. Where the size cap comes from, and the bundling bug that only broke in production.</summary>
  </entry>
  <entry>
    <title>A chart palette you can validate by machine</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/engineering/cvd-safe-chart-palette" />
    <id>https://exploremydata.com/engineering/cvd-safe-chart-palette</id>
    <published>2026-09-03T00:00:00Z</published>
    <updated>2026-09-03T00:00:00Z</updated>
    <category term="Engineering" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">Eight hues, two modes, and a separation floor a script checks rather than an eye. Why the order of the palette is itself the safety mechanism.</summary>
  </entry>
  <entry>
    <title>How a detached ArrayBuffer rewrote our file loader</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/engineering/duckdb-wasm-buffer-detachment" />
    <id>https://exploremydata.com/engineering/duckdb-wasm-buffer-detachment</id>
    <published>2026-09-03T00:00:00Z</published>
    <updated>2026-09-03T00:00:00Z</updated>
    <category term="Engineering" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">registerFileBuffer transfers your bytes to a worker and detaches them. That one fact rewrote our CSV loader, its decode order and its rescue chain.</summary>
  </entry>
  <entry>
    <title>Finding tables in PDFs without a server</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/engineering/pdf-tables-lattice-stream-ocr" />
    <id>https://exploremydata.com/engineering/pdf-tables-lattice-stream-ocr</id>
    <published>2026-09-03T00:00:00Z</published>
    <updated>2026-09-03T00:00:00Z</updated>
    <category term="Engineering" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">A PDF has no tables in it, only text at coordinates and lines on a page. Three passes that reconstruct a table anyway, and the tolerances that decide it.</summary>
  </entry>
  <entry>
    <title>A rebuildable pipeline: every step is SQL</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/engineering/rebuildable-pipeline" />
    <id>https://exploremydata.com/engineering/rebuildable-pipeline</id>
    <published>2026-09-03T00:00:00Z</published>
    <updated>2026-09-03T00:00:00Z</updated>
    <category term="Engineering" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">Forty operations that each emit SQL, chained as views and rebuilt from scratch on every change. Why the stored SQL is a cache, not the source of truth.</summary>
  </entry>
  <entry>
    <title>Convert a Bank Statement PDF to CSV or Excel</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/workflows/bank-statement-pdf-to-csv" />
    <id>https://exploremydata.com/blog/workflows/bank-statement-pdf-to-csv</id>
    <published>2026-08-02T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">Turn a bank statement PDF into a clean CSV or Excel file in your browser. Works with multi-page and scanned statements. Nothing gets uploaded.</summary>
  </entry>
  <entry>
    <title>Exporting Data as a Self-Contained HTML Table</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/advanced/export-html-table" />
    <id>https://exploremydata.com/blog/advanced/export-html-table</id>
    <published>2026-04-03T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">Export your data as a single HTML file with a styled, responsive table. Opens in any browser with zero dependencies. Supports dark mode.</summary>
  </entry>
  <entry>
    <title>How to Extract Tables from a PDF, Step by Step</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/advanced/extract-tables-from-pdf" />
    <id>https://exploremydata.com/blog/advanced/extract-tables-from-pdf</id>
    <published>2026-04-03T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">A step-by-step walkthrough for pulling tables out of a PDF: ruled and borderless layouts, multi-page reports, and scanned pages that need OCR.</summary>
  </entry>
  <entry>
    <title>Grouping and Aggregating Data: A Practical Guide</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/advanced/group-aggregate-guide" />
    <id>https://exploremydata.com/blog/advanced/group-aggregate-guide</id>
    <published>2026-04-03T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">How to use the Group and Aggregate operation to compute SUM, AVG, COUNT, and other aggregates across grouped rows. No SQL required.</summary>
  </entry>
  <entry>
    <title>Working with XML Data: Import, Explore, and Convert</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/advanced/import-xml-data" />
    <id>https://exploremydata.com/blog/advanced/import-xml-data</id>
    <published>2026-04-03T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">Import XML files from RSS feeds, SOAP APIs, and enterprise exports. ExploreMyData flattens XML into a table you can filter, transform, and export as CSV or JSON.</summary>
  </entry>
  <entry>
    <title>Creating Charts and Visualizations from CSV Data</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/exploring/create-charts-from-csv" />
    <id>https://exploremydata.com/blog/exploring/create-charts-from-csv</id>
    <published>2026-04-03T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">Build bar charts, line charts, and grouped visualizations from CSV data directly in your browser. Pick columns, choose aggregations, and see results instantly.</summary>
  </entry>
  <entry>
    <title>Converting PDF Invoices to a Clean Spreadsheet</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/workflows/pdf-invoice-to-spreadsheet" />
    <id>https://exploremydata.com/blog/workflows/pdf-invoice-to-spreadsheet</id>
    <published>2026-04-03T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">Extract line items from PDF invoices, fix column names and types, compute totals, and export as Excel. All in the browser, no upload required.</summary>
  </entry>
  <entry>
    <title>Summarizing Sales Data by Region and Product Category</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/workflows/summarize-sales-by-region" />
    <id>https://exploremydata.com/blog/workflows/summarize-sales-by-region</id>
    <published>2026-04-03T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">Filter, group, and aggregate a CSV of order data into a summary by region and product category. Export the result as Excel.</summary>
  </entry>
  <entry>
    <title>Using AI to Generate SQL Queries for Your Data</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/advanced/ai-sql-generation" />
    <id>https://exploremydata.com/blog/advanced/ai-sql-generation</id>
    <published>2026-03-24T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">Describe what you want in plain English and get DuckDB SQL back. Use AI to build filters, expressions, and full queries.</summary>
  </entry>
  <entry>
    <title>Building Complex Filters with AND, OR, and NOT</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/advanced/complex-filter-conditions" />
    <id>https://exploremydata.com/blog/advanced/complex-filter-conditions</id>
    <published>2026-03-24T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">Build multi-condition filters using the visual condition builder - combine AND/OR logic, nesting, and type-specific operators.</summary>
  </entry>
  <entry>
    <title>CSV, Parquet, JSON or Excel: Which Format to Use</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/advanced/convert-csv-parquet" />
    <id>https://exploremydata.com/blog/advanced/convert-csv-parquet</id>
    <published>2026-03-24T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">How the four common table formats compare on size, speed, type safety, and who can open them, plus which one to reach for in each situation.</summary>
  </entry>
  <entry>
    <title>Analyzing Data Across Multiple Files</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/advanced/cross-file-analysis" />
    <id>https://exploremydata.com/blog/advanced/cross-file-analysis</id>
    <published>2026-03-24T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">Load orders, customers, and products as separate tabs, chain left joins, then group the combined result for revenue by tier and category, all in the browser.</summary>
  </entry>
  <entry>
    <title>DuckDB SQL Cheatsheet for CSV Analysis</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/advanced/duckdb-sql-cheatsheet" />
    <id>https://exploremydata.com/blog/advanced/duckdb-sql-cheatsheet</id>
    <published>2026-03-24T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">Quick reference for the DuckDB SQL syntax available in ExploreMyData - aggregations, window functions, string functions, date functions, and more.</summary>
  </entry>
  <entry>
    <title>Building a Multi-Step Data Pipeline</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/advanced/multi-step-pipeline" />
    <id>https://exploremydata.com/blog/advanced/multi-step-pipeline</id>
    <published>2026-03-24T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">Chain five or more operations into a reproducible pipeline: edit any step, delete it, and read the SQL each one generates.</summary>
  </entry>
  <entry>
    <title>Using Multiple Views to Compare Transformations</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/advanced/multi-view-tabs" />
    <id>https://exploremydata.com/blog/advanced/multi-view-tabs</id>
    <published>2026-03-24T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">Create parallel analysis branches on the same data without losing your current pipeline. Compare different transformations side by side.</summary>
  </entry>
  <entry>
    <title>Finding the Nth Largest or Smallest Values</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/advanced/nth-largest-smallest" />
    <id>https://exploremydata.com/blog/advanced/nth-largest-smallest</id>
    <published>2026-03-24T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">The Smallest and Largest operations add the Nth value as a constant column, so you can filter to the top 10 by revenue without hardcoding a threshold.</summary>
  </entry>
  <entry>
    <title>Using Regex to Extract Patterns from Text</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/advanced/regex-extract-patterns" />
    <id>https://exploremydata.com/blog/advanced/regex-extract-patterns</id>
    <published>2026-03-24T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">Extract Text in regex mode returns the whole match, Regex Capture returns a group. Patterns for zip codes, invoice numbers, emails, and dollar amounts.</summary>
  </entry>
  <entry>
    <title>Window Functions Without Writing SQL: A Visual Guide</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/advanced/window-functions-explained" />
    <id>https://exploremydata.com/blog/advanced/window-functions-explained</id>
    <published>2026-03-24T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">ROW_NUMBER, RANK, DENSE_RANK, running totals, LAG and LEAD explained with worked tables and no SQL to write, plus the direction switch that flips results.</summary>
  </entry>
  <entry>
    <title>Converting &quot;$1,234.56&quot; Strings to Actual Numbers</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/cleaning/convert-currency-strings" />
    <id>https://exploremydata.com/blog/cleaning/convert-currency-strings</id>
    <published>2026-03-24T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">Convert Type strips dollar signs and commas and reads parentheses as negative, so prices become real numbers you can sum, average, sort and filter.</summary>
  </entry>
  <entry>
    <title>Finding Near-Duplicate Rows in Your Data</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/cleaning/deduplicate-fuzzy-matches" />
    <id>https://exploremydata.com/blog/cleaning/deduplicate-fuzzy-matches</id>
    <published>2026-03-24T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">Find and merge near-duplicate records where names differ by case, spacing, or abbreviations using text normalization and Remove Duplicates.</summary>
  </entry>
  <entry>
    <title>Extracting Email Domains to Identify Company Accounts</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/cleaning/extract-email-domains" />
    <id>https://exploremydata.com/blog/cleaning/extract-email-domains</id>
    <published>2026-03-24T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">Pull the domain from email addresses to identify which companies your users belong to. Extract everything after the @ symbol in seconds.</summary>
  </entry>
  <entry>
    <title>Filling Missing Category Labels Using Forward Fill</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/cleaning/fill-missing-categories" />
    <id>https://exploremydata.com/blog/cleaning/fill-missing-categories</id>
    <published>2026-03-24T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">Fix report data where category names only appear on the first row of each group, leaving the rest blank. Use forward fill to propagate values down.</summary>
  </entry>
  <entry>
    <title>Converting Yes/No/True/False/1/0 to a Consistent Boolean</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/cleaning/fix-boolean-columns" />
    <id>https://exploremydata.com/blog/cleaning/fix-boolean-columns</id>
    <published>2026-03-24T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">Collapse Yes, Y, TRUE and 1 into one value with Bulk Replace, then optionally cast to a real BOOLEAN with a SQL step, and check for values you missed.</summary>
  </entry>
  <entry>
    <title>Fixing Dates When Your CSV Has Three Different Formats</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/cleaning/fix-dates-multiple-formats" />
    <id>https://exploremydata.com/blog/cleaning/fix-dates-multiple-formats</id>
    <published>2026-03-24T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">Fix a date column with mixed formats - MM/DD/YYYY, Jan 15 2024, and 2024-01-15 - into one consistent date type using ExploreMyData.</summary>
  </entry>
  <entry>
    <title>Fixing Messy Phone Number Formats in Your Data</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/cleaning/fix-phone-numbers" />
    <id>https://exploremydata.com/blog/cleaning/fix-phone-numbers</id>
    <published>2026-03-24T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">Standardize phone numbers in 8+ formats - (555) 123-4567, 555.123.4567, +1-555-123-4567 - into one consistent format using ExploreMyData.</summary>
  </entry>
  <entry>
    <title>A Complete Guide to Handling NULL and Empty Values</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/cleaning/handle-null-values" />
    <id>https://exploremydata.com/blog/cleaning/handle-null-values</id>
    <published>2026-03-24T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">Understand the difference between NULL, empty strings, &quot;N/A&quot;, and &quot;null&quot; in your data, and learn how to handle each one consistently.</summary>
  </entry>
  <entry>
    <title>How to Remove Test Data and Junk Rows from a CSV</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/cleaning/remove-test-rows" />
    <id>https://exploremydata.com/blog/cleaning/remove-test-rows</id>
    <published>2026-03-24T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">Filter out test rows, placeholder data, and zero-value entries from CSV exports using ExploreMyData&apos;s condition builder.</summary>
  </entry>
  <entry>
    <title>Splitting a Full Address into Street, City, State, Zip</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/cleaning/split-address-fields" />
    <id>https://exploremydata.com/blog/cleaning/split-address-fields</id>
    <published>2026-03-24T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">Break apart single-column addresses like &quot;123 Main St, Springfield, IL 62701&quot; into separate street, city, state, and zip columns.</summary>
  </entry>
  <entry>
    <title>How to Standardize Inconsistent Company Names in a CSV</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/cleaning/standardize-company-names" />
    <id>https://exploremydata.com/blog/cleaning/standardize-company-names</id>
    <published>2026-03-24T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">Fix inconsistent company names like &quot;IBM&quot;, &quot;I.B.M.&quot;, and &quot;International Business Machines&quot; in your CSV using Find &amp; Replace, Bulk Replace, and Text Transform.</summary>
  </entry>
  <entry>
    <title>Checking Date Ranges and Gaps in Time Series Data</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/exploring/check-date-ranges" />
    <id>https://exploremydata.com/blog/exploring/check-date-ranges</id>
    <published>2026-03-24T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">Verify your data covers the expected date range, find missing months, and spot unexpected gaps using the date column explorer.</summary>
  </entry>
  <entry>
    <title>Comparing Two Versions of the Same Data File</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/exploring/compare-two-files" />
    <id>https://exploremydata.com/blog/exploring/compare-two-files</id>
    <published>2026-03-24T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">Find what changed between two exports of the same data using a FULL JOIN and null checks. Spot new rows, deleted rows, and changed values.</summary>
  </entry>
  <entry>
    <title>Understanding Category Distributions in Your Data</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/exploring/distribution-categorical" />
    <id>https://exploremydata.com/blog/exploring/distribution-categorical</id>
    <published>2026-03-24T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">See how many records fall into each category, find dominant groups, and spot rare values using the categorical column explorer.</summary>
  </entry>
  <entry>
    <title>Finding Patterns in Missing Data</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/exploring/find-missing-data-patterns" />
    <id>https://exploremydata.com/blog/exploring/find-missing-data-patterns</id>
    <published>2026-03-24T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">Discover which columns have the most NULL values and whether missing data follows a pattern - by date, category, or source.</summary>
  </entry>
  <entry>
    <title>How to Find Outliers in Numeric Data Without Code</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/exploring/find-outliers-numeric" />
    <id>https://exploremydata.com/blog/exploring/find-outliers-numeric</id>
    <published>2026-03-24T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">Spot suspicious values in revenue, quantity, or price columns using histograms, top/bottom filters, and the numeric column explorer.</summary>
  </entry>
  <entry>
    <title>What to Do First When You Open a New CSV File</title>
    <link rel="alternate" type="text/html" href="https://exploremydata.com/blog/exploring/first-look-at-csv" />
    <id>https://exploremydata.com/blog/exploring/first-look-at-csv</id>
    <published>2026-03-24T00:00:00Z</published>
    <updated>2026-08-15T00:00:00Z</updated>
    <category term="Blog" />
    <author><name>Arif Aslam</name><uri>https://exploremydata.com/authors/arif-aslam</uri></author>
    <summary type="text">A systematic approach to understanding an unfamiliar data file. Check row counts, column types, distributions, and data quality in under 5 minutes.</summary>
  </entry>
</feed>
