Full download SQL Server Analytical Toolkit: Using Windowing, Analytical, Ranking, and Aggregate Functions for Data and Statistical Analysis 1st Edition Angelo Bobak pdf docx
Full download SQL Server Analytical Toolkit: Using Windowing, Analytical, Ranking, and Aggregate Functions for Data and Statistical Analysis 1st Edition Angelo Bobak pdf docx
https://ebookmass.com
https://ebookmass.com/product/fixed-income-mathematics-analytical-and-
statistical-techniques-5th-edition-frank-j-fabozzi/
testbankdeal.com
https://ebookmass.com/product/applied-analysis-of-composite-media-
analytical-and-computational-approaches-drygas/
testbankdeal.com
Paper-Based Analytical Devices for Chemical Analysis and
Diagnostics William R. De Araujo
https://ebookmass.com/product/paper-based-analytical-devices-for-
chemical-analysis-and-diagnostics-william-r-de-araujo/
testbankdeal.com
https://ebookmass.com/product/applied-analysis-of-composite-media-
analytical-and-computational-approaches-piotr-drygas/
testbankdeal.com
https://ebookmass.com/product/statistical-methods-for-survival-data-
analysis-3rd-edition-lee/
testbankdeal.com
https://ebookmass.com/product/carbon-dots-in-analytical-chemistry-
detection-and-imaging-suresh-kumar-kailasa/
testbankdeal.com
https://ebookmass.com/product/numerical-methods-using-kotlin-for-data-
science-analysis-and-engineering-1st-edition-haksun-li-2/
testbankdeal.com
SQL Server
Analytical
Toolkit
Using Windowing, Analytical, Ranking,
and Aggregate Functions for Data and
Statistical Analysis
—
Angelo Bobak
SQL Server Analytical
Toolkit
Using Windowing, Analytical,
Ranking, and Aggregate Functions
for Data and Statistical Analysis
Angelo Bobak
SQL Server Analytical Toolkit: Using Windowing, Analytical, Ranking, and Aggregate
Functions for Data and Statistical Analysis
Angelo Bobak
Hastings On Hudson, NY, USA
v
Table of Contents
vi
Table of Contents
vii
Table of Contents
viii
Table of Contents
ix
Visit https://ebookmass.com
now to explore a rich
collection of eBooks and enjoy
exciting offers!
Table of Contents
x
Table of Contents
xiii
Table of Contents
Index������������������������������������������������������������������������������������������������������������������� 1035
xiv
About the Author
Angelo R. Bobak is a published author with more than three
decades of experience and expertise in the areas of business
intelligence, data architecture, data warehouse design, data
modeling, master data management, and data quality using
the Microsoft BI Stack across several industry sectors such as
finance, telecommunications, engineering, publishing, and
automotive.
xv
About the Technical Reviewer
Alicia Moniz is a leader in Data & AI at Microsoft, an
organizer for Global AI Bootcamp – Houston Edition, and
a #KafkaOnAzure Evangelista and prior was a three-time
Microsoft AI MVP. She is an active supporter of women in
technology and volunteers her time at events that help make
AI technology accessible to the masses. She is a co-author of
the Apress publication Beginning Azure Cognitive Services:
Data-Driven Decision Making Through Artificial Intelligence
along with fellow Microsoft MVPs Matt Gordon, Ida Bergum,
Mia Chang, and Ginger Grant. With over 14 years of experience in data warehousing
and advanced analytics, Alicia is constantly upskilling and holds more than 12 in-
demand IT certifications including AWS, Azure, and Kafka. She is active in the Microsoft
User Group community and enjoys speaking on AI, SQL Server, #KafkaOnAzure, and
personal branding for women in technology topics. Currently, she authors the blog
HybridDataLakes.com, a blog focused on cloud data learning resources, and produces
content for the YouTube channel #KafkaOnAzure.
xvii
Introduction
Welcome to my book, SQL Server Analytical Toolkit.
What’s this book about?
This is a book on applying Microsoft SQL Server aggregate, analytical, and ranking
functions across various industries for the purpose of statistical, reporting, analytical,
and historical performance analysis using a series of built-in SQL Server functions
affectionately known as the window functions!
No, not window functions like the ones used in the C# or other Microsoft Windows
application programming. They are called window functions because they implement
windows into the data set generated by a query. These windows allow you to control
where the functions are applied in the data by creating partitions in the query data set.
“What’s a partition?” you might ask. This is a key concept you need to understand to
get the most out of this book. Suppose you have a data set that has six rows for product
category A and six rows for product category B. Each row has a column that stores sales
values that you wish to analyze. The data set can be divided into two sections, one for
each product category. These are the partitions that the window functions use. You can
analyze each partition by applying the window functions (more on this in Chapter 1).
We will see that the window in each partition can be further divided into smaller
windows. The mechanism of a window frame allows you to control which rows in
the partition are submitted to the window function relative to the current row being
processed. For example, apply a function like the SUM() function to the current row being
processed and any prior rows in the partition to calculate running totals by month. Move
to the next row in the partition and it behaves the same.
The book focuses on applying these functions across four key industries: sales,
finance, engineering, and inventory control. I did this so that readers in these industries
can find something they are familiar with in their day-to-day job activities. Even if you
are not working across these industries, you can still benefit by learning the window
functions and seeing how they are applied.
Maybe you want to interview for a developer role in the finance sector? Or maybe
you work in engineering or telecommunications or you are a manufacturer of retail
products. This book will help you acquire some valuable skills that will help you pass the
job interview.
xix
Introduction
Although you could perform these functions with tools like Power BI, performing
these functions at the SQL level precalculates results and improves performance so that
reporting tools use precalculated data.
By the way, there are many books out there on SQL Server and window (or
windowing) functions. What’s so different about this book?
Approach
This book takes a cookbook approach. Not only are you shown how to use the functions,
but you are shown how to apply them across sales, finance, inventory control, and
engineering scenarios.
These functions are grouped into three categories, so for each industry use case we
look at, we will dedicate a chapter to each function category:
• Aggregate functions
• Analytical functions
• Ranking functions
For each function, a query is created and explained. Next, the results are examined
and analyzed.
Where applicable the results are used to generate some interesting graphs with
Microsoft Excel spreadsheets, like creating normal distribution charts for sales data.
Appendix A contains descriptions and syntax for these functions in case you are not
familiar with them, so feel free to examine them before diving into the book.
Key to mastering the concepts in this book is understanding what the OVER() clause
does. Chapter 1 starts off by defining what the OVER() clause is and how it is used with
the window functions.
Several diagrams clearly explain what data sets, partitions, and window frames are
and how they are key to using the window functions.
Each of the industries we identified earlier has three dedicated chapters, one for each
of the window function categories. Each chapter provides a specification for the query to be
written, the code to satisfy the specification, and then one or more figures to show the results.
The book is unique in that it goes beyond just showing how each function works; it
presents use case scenarios related to statistical analysis, data analysis, and BI (BI stands
for business intelligence by the way).
xx
Visit https://ebookmass.com
now to explore a rich
collection of eBooks and enjoy
exciting offers!
Introduction
The book also makes available all code examples including code to create and load
each of the four databases via the publisher's Google website.
Lastly, just enough theory is included to introduce you to statistical analysis in case
you are not familiar with terms like standard deviation, mean, normal distribution, and
variance. These are important as they will supply you with valuable skills to support your
business users and enhance your skills portfolio. Hey, a little business theory can’t hurt!
Appendix B has a brief primer on statistics, so make sure to check it out in case these
topics are new to you. It discusses standard deviation, variance, normal distribution,
other statistical calculations, and bell curves.
Back to the window functions. These functions generate a lot of numerical data. It’s
great to generate numbers with decimal points but even more interesting to graph them
and understand what they mean. A picture is worth a thousand words. Seeing a graph
that shows sales decreasing month by month is certainly worth looking at and should
raise alarms!
You can also use the Excel spreadsheets to verify your results by using the
spreadsheets’ built-in functions to make sure they match the results of your queries.
Always test your data against a set of results known to be correct (you might just learn
a little bit about Microsoft Excel too!). The spreadsheets used in this book will also be
available on the publisher's Google website.
The book includes tips and discussions that will take you through the process of
learning the SQL Server aggregate, ranking, and analytical functions. These are delivered
in a step-by-step approach so you can easily master the concepts. Data results are
analyzed so that you can understand what the function does and how the windows are
used to analyze the data work.
Expectations
Now that you know what you are in for, what do I expect from you?
Not much really, at a high level.
I expect you to be an intermediate to advanced SQL Server developer or data
architect who needs to learn how to use window functions. You can write medium-
complexity queries that use joins, understand what a CTE (common table expression) is,
and be able to create and load database tables.
You could also be a tech-savvy business analyst who needs to apply sophisticated
data analysis for your business users or clients.
xxi
Introduction
Lastly, you could be a technology manager who wants to understand what your
development team does in their roles as developers. All will benefit from this book.
In conclusion, you need
In case you do not know how to use SSMS, there are many excellent YouTube videos
and sites that can show you how to use this tool in a short amount of time.
You can also check out my podcast “GRUMPY PODCAST 01 NAVIGATING SSMS” at
www.grumpyolditguy.com under the TSQL Podcasts menu selection in the menu bar.
Note You can download the code from the publisher’s Google website at
https://github.com/Apress/SQL-Server-Analytical-Toolkit.
xxii
Random documents with unrelated
content Scribd suggests to you:
CHAPTER XXIV.
MR. BIRON’S REPENTANCE.
Then Bram went upstairs also, and knocked at Mr. Biron’s door.
“I’m going for the doctor now, Mr. Biron,” he called out without
entering. “I’ve come up to ask if there’s anything I can get for you
before I go.”
“Come in, Elshaw, come in!” cried Theodore, in a voice full of
tremulous eagerness. “I want to speak to you.”
Bram obeyed the summons, and found himself for the first time in
Mr. Biron’s bedroom, which was the most luxurious room in the
house. A bright fire burned in the grate, this being a luxury Theodore
always indulged in during the winter; the bed and the windows were
hung with handsome tapestry, and there were book-shelves, tables,
arm-chairs, everything that a profound study of the art of making
oneself comfortable could suggest to the fastidious Theodore.
He himself was sitting, wrapped in a cozy dressing-gown, with his
feet on a hassock by the fire. But he looked even more wretched
than he had done in his drenched clothes downstairs. There was an
unhealthy flush in his face, a feverish glitter in his eyes.
Bram saw something in his face which he had never seen there
before, something which suggested that the man had discovered a
conscience, and that it was giving him uneasiness.
“Sit down,” said he, pointing to a seat on the other side of the
fireplace. Bram wanted to go for the doctor, but the little man was so
peremptory that he thought it best to obey. “Elshaw, I think I’m going
to die.”
He uttered the words, as was natural in such a man, as if the whole
world must be struck into awe by the news. Bram inclined his head in
respectful attention, clasping his hands and looking at the fire. He
could not make light of this presentiment, which, indeed, he saw
reason to think was a well-founded one. Mr. Biron’s never robust
frame had been shaken sorely by his own excesses in the first place,
by erysipelas and consequent complications, and it was evident that
the experiences of this night had tried him very severely. He was still
shivering in a sort of ague: his eyes were glassy, his skin was dry. He
stood as much in need of a doctor’s aid as did his daughter.
But still Bram waited, struck by the man’s manner, and feeling that at
such a moment there was something portentous in his wish to
speak. Mr. Biron had something on his mind, on his conscience, of
which he wanted to unburden himself.
“Elshaw,” he went on after a long pause, “I’ve been to blame over
this—this matter of Claire and—and her cousin Chris.” He stared into
Bram’s face as if the young man had been his confessor, and rubbed
his little white hands quickly the one over the other while he spoke. “I
did it for the best, as I’m sure you will believe; I thought he was an
honorable man, who would marry her and make her happy. You
believe that, don’t you?”
Up to this moment Bram had believed this of Theodore; now for the
first time it flashed through his mind that it was not true. However, he
made a vague motion of the head which Theodore took for assent,
and the latter went on. He seemed to have become suddenly
possessed by a spirit of self-abasement, to feel the need of opening
his heart.
“There was no harm in my sending her to meet him—until—last
night,” pursued the conscience-stricken man. “I know I did wrong in
letting her go then!”
Bram sat up in his chair with horror in his eyes.
“You sent her? Begging, of course, as usual?”
The words were harsh enough, brutal, perhaps, in the
circumstances. But Bram’s feeling was too strong for him to be able
to choose the expression of it. That this father, knowing what he did
know, suspecting what he did suspect, should have sent his
daughter to ask Christian for money was so shocking to his feelings
that he was perforce frank to the utmost.
“What could I do? How could I help it? One has got to live, Claire as
well as I!” muttered Theodore, avoiding Bram’s eyes, and looking at
the fire. “Besides, we don’t know anything. We may be doing her
wrong in suspecting—what—what we did suspect,” said he
earnestly, persuasively. “She never told me that she went away with
him, never! I believe it’s a libel to say she did, the mere malicious
invention of evilly-disposed persons to harm my child.”
Bram was silent. These words chimed in so well with the hopes he
would fain have cherished that, even from the lips of Mr. Biron, they
pleased him in spite of his own judgment. Encouraged by the attitude
which he was acute enough to perceive in his companion, Theodore
went on—
“No, you may blame me as much as you like. You have more to
blame me for than you know. I’m going to tell you all about it—yes,
all about it.” And he began to play nervously with his handkerchief,
and to dart at Bram a succession of quick, restless glances. “But I
will hear nothing against my child. It’s not her fault that she’s the
daughter of her father, is it? But she’s not a chip of the old block, as
you know, Elshaw.”
Bram, who was getting anxious about leaving Claire so long without
medical attention, got up from his chair. He did not feel inclined to
encourage the evident desire of Mr. Biron for the luxury of
confession, of self-abasement. Like most vain persons, Theodore
was almost as willing to excite attention by the record of his
misdeeds as by any other way. And in the same way, when he felt
inclined to write himself down a sinner, nothing would content him
but to be the greatest sinner of them all. So he put up an imploring
hand to detain Bram.
“Wait,” he said petulantly. “Didn’t I say I had something to tell you?
It’s something that concerns Claire, too.”
At the mention of this name Bram, who had moved towards the door,
stopped, although he was inclined to think that all this was a mere
excuse on the part of Theodore to detain him, and put off the
moment when he should be left by himself.
“You remember that a box was sent to you—a chest, by the man at
East Grindley who left you his money?”
Bram nodded. His attention was altogether arrested now. Even
before Mr. Biron uttered his next words it was clear that he had a real
confession to make this time, that he was not merely filling up the
time with idle self-accusations.
“I went to your lodging the day it came, just to see that it was safe.
Your landlady had sent to ask me if I could take care of it for you, as
it was something of value. But I preferred to leave the responsibility
with her. In—in fact, Claire thought it best too.”
Bram read between the lines here, knowing what strong reasons
poor Claire would have for taking this view. Mr. Biron went on—
“There was a key sent with it.”
Bram looked up. He had found no key, and had been obliged to force
the padlock.
“The key was in a piece of paper. I found it on the mantelpiece. I—I
—well, of course, I had no right to do it; but I thought it would be
better for me to look over the contents of the chest to make sure they
were not tampered with in your absence.”
Bram was attentive enough now.
“So I unlocked the box, and I just glanced through the things it
contained. You know what I found; with the exception of this, that
there was some loose cash——”
Bram’s face grew red with sudden perception. But he made no
remark.
“I forget exactly what it was, something between two and three
hundred pounds. Now, I know that in strict propriety,” went on Mr.
Biron, in whom the instinct of confession became suddenly tempered
with a desire to prove himself to have acted well in the matter, “I
ought to have left the money alone. But it was strongly borne in upon
me at the moment that my dear daughter was worried because of
unpaid bills; and—and that, in short, it would be just what you would
wish me to do if you had been here, for me to borrow the loose
sovereigns, and apply them to our pressing necessities. I argued
with myself that you would even prefer, in your delicacy, that I should
not have to ask for them. And—in short, I may have been wrong, but
I—borrowed them.”
A strange light had broken on Bram’s face.
“Did Miss Claire know?” he asked suddenly in a ringing voice.
“Well—er—yes, in point of fact she did. She came to look for me,
and she, well, she saw me take them. She—in fact—wished me to
put them back; and I could not convince her that I was doing what
you would have wished.”
Bram’s brain was bursting. His heart was beating fast. He came
quickly towards Mr. Biron, and seized him by the wrist. There was no
anger in his eyes, nothing but a fierce, hungry hope. For he could not
despise Theodore more than he had done before, while the fact of
Claire’s shame on meeting himself might now bear a less awful
significance then it had seemed to do.
“She knew you had taken it? And you forced her to say nothing?”
cried he in passionate eagerness.
Mr. Biron was disconcerted.
“Well, er—I thought that—that perhaps, until I could see my way to
paying it back, it would be better——”
But Bram did not wait for more explanations. Indeed, he needed no
more. He saw in a flash what the shame was which he had seen in
Claire’s eyes when she met him after his return. It was the
knowledge that her father was a thief, that he had robbed Bram
himself, and that she could neither make restitution nor confession
for him.
And with this knowledge there flashed upon him the question—Was
this the only shame she had to conceal? He was ready, passionately
anxious, to believe that it was.
Mr. Biron was quick to take advantage of this disposition in Bram.
His mood of self-abasement seemed to have passed away as rapidly
as it had come. Not attempting to draw his hand away from Bram’s
grasp, he said buoyantly—
“But I could not let the matter rest. I felt that you might suspect her,
my child, of what her father, from mistaken motives perhaps, had
done——”
Bram cut him short.
“Oh, no, I shouldn’t have done that, Mr. Biron,” he said rather dryly.
“But you were very welcome to the money. And I am glad to think
you enjoyed yourself while it lasted.”
This thrust, caused by a sudden remembrance of the hunter and the
new clothes in which Theodore had been so smart at his expense,
was all the vengeance Bram took. He tore himself away as speedily
as possible, and ran off for the doctor with a lighter heart than he had
borne for many a day. Might not miracles happen? Might they not?
Bram asked himself something like this as he ran through the rain
over the sodden ground.
When he returned to the farmhouse with the doctor, Bram received a
great shock. For, on entering the kitchen, he found Mr. Cornthwaite
himself pacing up and down the room, while Joan watched him with
anxious eyes from the scullery doorway.
Josiah stopped short in his walk when the two men entered. He
nodded to Bram, and wished the doctor good-evening as the latter
passed through, and went upstairs, followed by Joan.
“Will you come through, sir?” said Bram. “There’s a fire in the
drawing-room.”
Mr. Cornthwaite, over whom there had passed some great change,
followed him with only a curt assent. Bram supposed that even he
had been touched to learn that the woman of whom he had come in
search was so ill as to be past understanding that her persecution
had already begun. He stood in front of the fire, with his hat in one
hand and his umbrella in the other, with his back to Bram, in dead
silence for some minutes.
Then he turned abruptly, and asked in a stern, cold voice, without
looking up from the floor, on which he was following the pattern of
the carpet with the point of his umbrella—
“Did that scoundrel Biron get back home all right?”
“He’s got home, sir, but he’s very ill. He’s caught cold, I think.”
“He was not molested, attacked again, by the woman, the woman
Tyzack, who threw the vitriol over him before?”
“No, sir. She followed him, but he lost sight of her before he got
here.”
Mr. Cornthwaite nodded, and was again silent for some time. Bram
was much puzzled. Instead of the fierce resentment, the savage
anger which had possessed the bereaved father immediately after
the loss of his son there now hung over him a gloomy sadness
tempered by an uneasiness and irresolution, which were new
attributes in the business-like, strong-natured man.
The silence had lasted some minutes again, when he spoke as
sharply as before.
“I came to see the daughter, Claire Biron. But I’m told—the woman
tells me—that she is ill, and can’t see any one. Is that true?”
“Yes, sir. She is delirious.”
Mr. Cornthwaite turned away impatiently, and again there was a
pause. At last he said in the same sharp tone—
“You brought her back home, I suppose?”
“Yes. At least I followed her, and when she grew too tired to walk
alone I caught her up, and helped her along.”
Mr. Cornthwaite looked at him curiously. The little room was ill-
lighted, by two candles only and the red glow of the fire. He could
see Bram’s face pretty well, but the young man could not see his.
“Still infatuated, I see?” said Josiah in a hard, ironical voice.
Bram made no answer.
“You intend to marry her, I suppose?” went on Mr. Cornthwaite in a
harder tone than ever.
Bram stared. But he could see nothing of Mr. Cornthwaite’s features,
only the black outline of his figure against the dim candle-light.
“No, sir,” said he steadily. “I only hope to be able to save her life.”
“And how do you propose to do that?”
“Sir, you know best.”
His voice shook, and he stopped. There was silence between them
till they heard the footsteps of the doctor and Joan coming down the
stairs. Mr. Cornthwaite opened the door.
“Well, Doctor,” said he, “what of the patients?”
There was more impatience than solicitude in his tone.
“They’re both very ill,” answered the doctor. “They ought each to
have a nurse, really.”
“Very well. Can you engage them, Doctor? I’ll undertake to pay all
the expenses of their illness.”
The doctor was impressed by this generosity; so was Bram, but in a
different way. What was the reason of this sudden consideration, this
unexpected liberality to the poor relations whom he detested, and to
whom he imputed the death of his son?
“What’s the matter with them?” went on Mr. Cornthwaite in the same
hard, perfunctory, if not slightly suspicious tone.
“Pneumonia in Mr. Biron’s case, brought on by exposure to wet and
cold, no doubt. He has just had a severe shivering fit, and his pulse
is up to a hundred and four. We must do the best we can, but he’s a
bad subject for pneumonia, very.”
“And the daughter?”
“Acute congestion of the brain. She’s delirious.”
“Ah!”
Mr. Cornthwaite seemed satisfied now that he had the doctor’s
assurance that the illness was genuine. He made no more inquiries,
but he followed the medical man into the hall and to the front door.
The doctor perceived that it was locked and bolted at the top and
bottom.
“All right,” said he, “I’ll go through the other way.”
And he made his way to the kitchen, followed by Mr. Cornthwaite
and Bram.
As he opened the door which led into the kitchen, the wind blew
strongly in his face from the outer door, which was wide open. The
rain was sweeping in, and the tablecloth was blown off into his face
as he entered. At the same moment Joan, who had gone into the
back kitchen to prepare something the doctor had ordered, made her
appearance at the door between the two rooms.
“I shouldn’t leave this door open,” said the doctor as he crossed the
room to shut it. “The wind blows through the whole house.”
Joan stared.
“Ah didn’t leave it open, sir,” said she. “Ah’ve only just coom through
here, and it were shut then. Some one’s been and opened it.”
Bram gave a glance round the room, and then opened the door
through which he and the others had just come to examine the hall.
“What’s the matter?” asked Mr. Cornthwaite sharply. He had bidden
the doctor a hasty good-bye, afraid of the condolences which he saw
were on the tip of his tongue.
Bram, with a candle in his hand, was peering into the dark corners.
“I was just thinking, sir, that perhaps Meg Tyzack had got in while we
were talking in the drawing-room,” said he. “Mr. Biron made me bolt
the doors to keep her from getting in. He seemed to be afraid she
would follow him into the house.”
The words were hardly uttered, when from the floor above there
came a piercing scream, a woman’s scream.
“Claire!” shouted Bram, springing on the stairs.
But before he could mount half a dozen steps a wild figure came out
of Claire’s room, and rushed to the head of the staircase in answer
to his call. But it was not Claire. It was, as Bram had feared, Meg
Tyzack, recognizable only by her deep voice, by her loud, hoarse
laugh, for the figure itself looked scarcely human.
Standing at the top of the stairs, with her arms outstretched as if to
prevent any one’s passing her on the way up, the gaunt creature
seemed to be of gigantic height, and looked, with her loose,
disordered hair and the rags which hung down from her arms instead
of sleeves, like a witch in the throes of prophecy.
“Stand back! Stand back! Leave her alone!” she cried furiously, as
Bram rushed up the stairs, and struggled to get past her. She flung
her arms round him, laughing discordantly, and clinging so tightly
that without hurting her he would have found it impossible to
disengage himself.
“What has she done? What has she done?” asked Mr. Cornthwaite
in a loud, hard, angry voice as he came to Bram’s assistance.
At the first sound of Mr. Cornthwaite’s voice, Meg’s rage seemed
suddenly to disappear, to give place to a fit of strange gloom, quite
as wild, and still more terrible to see. Releasing Bram, who ran past
her, she leaned over the banisters, and looked straight into Mr.
Cornthwaite’s haggard face.
“What has she done? What have I done?” said she in a horrible
whisper. “Why, I’ve done the best night’s work that’s ever been done
on this earth, that’s what I’ve done. I’ve sent the man and the woman
I hated both to——. Ha! ha! ha!”
With a shrieking laugh she leapt past him to the bottom of the stairs.
CHAPTER XXV.
MEG.