My latest DataCamp course has soft launched: Data Visualization in Power BI. This course takes you through the different visuals offered in Power BI, but it does a lot more than simply iterate through a list. Throughout the course, we will mix insights of psychology with practical implementation in Power BI. If you've seen my…
A Slice of Time: Good Use Cases
This is part seven in a series on window functions in SQL Server. The Road So Far To this point, we've looked at five classes of window function in SQL Server. I've given you a couple of solid use cases, but for the most part, we've focused on what the classes of window functions are.…
A Slice of Time: Ordered Set Function(s)
This is part six in a series on window functions in SQL Server. One of a Kind: The Ordered Set Function As of SQL Server 2019, there is only one ordered set function: STRING_AGG(). I like STRING_AGG() a lot, especially because it means my days of needing to explain the STUFF() + FOR XML PATH…
In the Papers: Data Sets Conforming to Benford’s Law
This is a review of R.C. Hall's Properties of Data Sets that Conform to Benford's Law. This is a math-heavy article which lays out proofs of certain properties you would expect from a dataset which follows Benford's Law. I've found the principle of Benford's Law interesting, with blog posts back in 2015 and 2019 on…
A Slice of Time: Statistical Functions
This is part five in a series on window functions in SQL Server. Reviewing the Statistical Functions The next set of window functions we will look at are the statistical functions. There are four of them: PERCENT_RANK(), CUME_DIST(), PERCENTILE_CONT(), and PERCENTILE_DISC(). PERCENT_RANK and CUME_DIST PERCENT_RANK() is a fairly straightforward function: rank each window based on…
Interesting Resources for Chapter 1
For each chapter in Finding Ghosts in Your Data, I'll include a few resources that I found interesting. This isn't a bibliography, strictly speaking, as I might not use all of these in the course of writing, but they were at least worth noting. Books Anomaly Detection Principles and Algorithms by Mehrotra, et al. I'll…
A Slice of Time: Offset Functions
This is part four in a series on window functions in SQL Server. Offset Functions in SQL Offset functions are another class of window function in SQL Server thanks to being part of the ANSI SQL standard. Think of a window of data, stretching over some number of rows. What we want to do is…
A Slice of Time: Ranking Functions
This is part three in a series on window functions in SQL Server. The Original Windows Last time around, we looked at aggregate window functions, which I think are the easiest for someone brand new to the concept to understand. Today, we'll shift to the first window functions introduced to SQL Server in 2005: ranking…
Product Reviews: the Desklab Monitor
Back in 2019, I joined in on a kickstarter for the Desklab monitor, a portable touchscreen 4K monitor. This seemed like a great idea for me, as hey, I do a lot of travel and it's really nice having a second monitor around. It wouldn't be convenient while traveling, but at the hotel, having that…
A Slice of Time: Aggregate Functions
This is part two in a series on window functions in SQL Server. Last Time on 36 Chambers In the prior post, we looked at the anatomy of a window function and said that it looks kind of like this: SELECT Col1, Col2, WINDOW_FUNCTION() OVER( PARTITION BY Col1 ORDER BY Col2 ROWS BETWEEN UNBOUNDED PRECEDING…