PDF Advanced Analytics with Transact-SQL: Exploring Hidden Patterns and Rules in Your Data 1st Edition Dejan Sarka download
PDF Advanced Analytics with Transact-SQL: Exploring Hidden Patterns and Rules in Your Data 1st Edition Dejan Sarka download
com
https://ebookmeta.com/product/advanced-analytics-with-
transact-sql-exploring-hidden-patterns-and-rules-in-your-
data-1st-edition-dejan-sarka/
OR CLICK HERE
DOWLOAD NOW
https://ebookmeta.com/product/advanced-analytics-with-transact-sql-
exploring-hidden-patterns-and-rules-in-your-data-1st-edition-dejan-
sarka-2/
ebookmeta.com
https://ebookmeta.com/product/jaded-love-the-lycan-academy-4-1st-
edition-mazzy-j-march/
ebookmeta.com
Recent Trends in Wave Mechanics and Vibrations Proceedings
of WMVC 2022 1st Edition Zuzana Dimitrovová Paritosh
Biswas Rodrigo Gonçalves Tiago Silva
https://ebookmeta.com/product/recent-trends-in-wave-mechanics-and-
vibrations-proceedings-of-wmvc-2022-1st-edition-zuzana-dimitrovova-
paritosh-biswas-rodrigo-goncalves-tiago-silva/
ebookmeta.com
https://ebookmeta.com/product/the-truth-about-hawks-1st-edition-eaton/
ebookmeta.com
https://ebookmeta.com/product/the-chainbreaker-bike-book-a-rough-
guide-to-bicycle-maintenance-2nd-edition-shelley-jackson/
ebookmeta.com
https://ebookmeta.com/product/web-of-lies-a-midlands-crime-
thriller-1st-edition-sally-rigby/
ebookmeta.com
Environmental Pollution and the Brain 1st Edition Sultan
Ayoub Meo
https://ebookmeta.com/product/environmental-pollution-and-the-
brain-1st-edition-sultan-ayoub-meo/
ebookmeta.com
Dejan Sarka
This work is subject to copyright. All rights are solely and exclusively
licensed by the Publisher, whether the whole or part of the material is
concerned, specifically the rights of translation, reprinting, reuse of
illustrations, recitation, broadcasting, reproduction on microfilms or in
any other physical way, and transmission or information storage and
retrieval, electronic adaptation, computer software, or by similar or
dissimilar methodology now known or hereafter developed.
Trademarked names, logos, and images may appear in this book. Rather
than use a trademark symbol with every occurrence of a trademarked
name, logo, or image we use the names, logos, and images only in an
editorial fashion and to the benefit of the trademark owner, with no
intention of infringement of the trademark. The use in this publication
of trade names, trademarks, service marks, and similar terms, even if
they are not identified as such, is not to be taken as an expression of
opinion as to whether or not they are subject to proprietary rights.
The publisher, the authors and the editors are safe to assume that the
advice and information in this book are believed to be true and accurate
at the date of publication. Neither the publisher nor the authors or the
editors give a warranty, expressed or implied, with respect to the
material contained herein or for any errors or omissions that may have
been made. The publisher remains neutral with regard to jurisdictional
claims in published maps and institutional affiliations.
This Apress imprint is published by the registered company APress
Media, LLC part of Springer Nature.
The registered company address is: 1 New York Plaza, New York, NY
10004, U.S.A.
Introduction
If you want to learn how to get information from your data with
Transact-SQL, or the T-SQL language, this book is for you. It teaches you
how to calculate statistical measures from descriptive statistics,
including centers, spreads, skewness, and the kurtosis of a distribution,
find the associations between pairs of variables, including calculating
the linear regression formula, calculate the confidence level with
definite integration, find the amount of information in your variables,
and also do some machine learning or data science analysis, including
predictive modeling and text mining.
The T-SQL language is in the latest editions of SQL Server, Azure SQL
Database, and Azure Synapse Analytics. It has so many business
intelligence (BI) improvements that it might become your primary
analytic database system. Many database developers and
administrators are already proficient with T-SQL. Occasionally they
need to analyze the data with statistical or data science methods, but
they do not want to or have time to learn a completely new language for
these tasks. In addition, they need to analyze huge amounts of data,
where specialized languages like R and Python might not be fast
enough. SQL Server has been optimized for work with big datasets for
decades.
To get the maximum out of these language constructs, you need to
learn how to use them properly. This in-depth book shows extremely
efficient statistical queries that use the window functions and are
optimized through algorithms that use mathematical knowledge and
creativity. The formulas and usage of those statistical procedures are
explained as well.
Any serious analysis starts with data preparation. This book
introduces some common data preparation tasks and shows how to
implement them in T-SQL.
No analysis is good without good data quality. The book introduces
data quality issues and shows how you can check for completeness and
accuracy with T-SQL and measure improvements in data quality over
time. It also shows how you can optimize queries with temporal data;
for example, when you search for overlapping intervals. More advanced
time-oriented information includes hazard and survival analysis.
Next, the book turns to data science. Some advanced algorithms can
be implemented in T-SQL. You learn about the market basket analysis
with association rules using different measures like support and
confidence, and sequential market basket analysis when there is a
sequence in the basket. Then the book shows how to develop predictive
models with a mixture of k-nearest neighbor and decision tree
algorithms and Bayesian inference analysis.
Analyzing text, or text mining, is a popular topic. You can do a lot of
text mining in pure T-SQL, and SQL Server can become a text mining
engine. The book explains how to analyze text in multiple natural
languages with pure T-SQL and features from full-text search (FTS).
In short, this book teaches you how to use T-SQL for
statistical analysis
data science methods
text mining
Assumptions
This book assumes that the reader already has good knowledge of the
Transact-SQL language. A few years of coding experience is very
welcome. A basic grasp of performance tuning and query optimization
can help you better understand how the code works.
System Requirements
You need the following software to run the code samples in this book.
Microsoft SQL Server 2019 Developer of Enterprise edition, which is
at www.microsoft.com/en-us/sql-server/sql-server-
2019 .
Azure SQL Server Managed Instance, which is at
https://azure.microsoft.com/en-us/services/azure-
sql/sql-managed-instance/ .
Most of the code should run on the Azure SQL Database, which is at
https://azure.microsoft.com/en-us/services/sql-
database/ .
If you would like to try the code on unlimited resources, you can use
Azure Synapse Analytics at
https://azure.microsoft.com/en-
us/services/synapse-analytics/ .
SQL Server Management Studio is the default client tool. You can
download it for free at https://docs.microsoft.com/en-
us/sql/ssms/download-sql-server-management-
studio-ssms?view=sql-server-ver15 .
Another free client tool is the Azure Data Studio at
https://docs.microsoft.com/en-us/sql/azure-data-
studio/download-azure-data-studio?view=sql-
server-ver15 .
For demo data, you can find the AdventureWorks sample databases
at https://docs.microsoft.com/en-
us/sql/samples/adventureworks-install-
configure%3Fview%3Dsql-server-ver15&tabs=ssms .
Some demo data comes from R. I explain how to get it and show the R
code for loading the demo data in SQL Server.
You can download all the code used for the companion content in this
book at https://github.com/Apress/adv-analytics-w-
transact-sql .
Naming Conventions
When I create tables in SQL Server, I start with the column(s) that form
the primary key, and I use Pascal case (e.g., FirstName) for the physical
columns. For computed, typically aggregated columns from a query, I
tend to use camel case (e.g., avgAmount). However, the book deals with
the data from many sources. Demo data provided from Microsoft demo
databases is not enough for all my examples. Two demo tables come
from R. In R, the naming convention is not strict. I had a choice on how
to proceed.
I decided to go with the original names when data comes from R, so
the names of the columns in the table are all lowercase (e.g., carbrand).
However, Microsoft demo data is far from perfect as well. Many
dynamic management objects return all lowercase objects or even
reserved keywords as the names of the columns. For example, in
Chapter 8, I use two tabular functions provided by Microsoft, which
return two columns with names [KEY] and [RANK]. Both in uppercase,
and both are even reserved words in SQL, so they need to be enclosed
in brackets. This is why sometimes the reader might get the impression
that the naming convention is not good. I made an arbitrary decision,
which I hope was the best in this situation.
Acknowledgments
Many people helped me with this book, directly or indirectly. I am not
mentioning the names explicitly because I could unintentionally omit
some of them. However, I am pretty sure they are going to recognize
themselves in the following text.
Thank you to my family, who understood that I could not spend so
much time with them while I am writing the book.
Thank you to my friends, who were always encouraging me to finish
the work.
Thank you to all the great people that work for or are engaged with
Apress. Without your constant support, this book would probably never
be finished.
Thank you to the reviewers. A well-reviewed book is as important
as the writing itself. Thank you very much for your work.
Table of Contents
Part I: Statistics
Chapter 1:Descriptive Statistics
Variable Types
Demo Data
Frequency Distribution of Discrete Variables
Frequencies of Nominals
Frequencies of Ordinals
Descriptive Statistics for Continuous Variables
Centers of a Distribution
Measuring the Spread
Skewness and Kurtosis
Conclusion
Chapter 2:Associations Between Pairs of Variables
Associations Between Continuous Variables
Covariance
Correlation
Interpreting the Correlation
Associations Between Discrete Variables
Contingency Tables
Chi-Squared Test
Associations Between Discrete and Continuous Variables
Testing Continuous Variable Moments over a Discrete
Variable
Analysis of Variance
Definite Integration
Conclusion
Part II: Data Preparation and Quality
Chapter 3:Data Preparation
Dealing with Missing Values
NULLs in T-SQL Functions
Handling NULLs
String Operations
Scalar String Functions
Aggregating and Splitting Strings
Derived Variables and Grouping Sets
Adding Computed Columns
Efficient Grouping
Data Normalization
Range and Z-score Normalization
Logistic and Hyperbolic Tangent Normalization
Recoding Variables
Converting Strings to Numerics
Discretizing Numerical Variables
Conclusion
Chapter 4:Data Quality and Information
Data Quality
Measuring Completeness
Finding Inaccurate Data
Measuring Data Quality over Time
Measuring the Information
Introducing Entropy
Mutual Information
Conditional Entropy
Conclusion
Part III: Dealing with Time
Chapter 5:Time-Oriented Data
Application and System Times
Inclusion Constraints
Demo Data
System-Versioned Tables and Issues
A Quick Introduction to System-Versioned Tables
Querying System-Versioned Tables Surprises
Optimizing Temporal Queries
Modifying the Filter Predicate
Using the Unpacked Form
Time Series
Moving Averages
Conclusion
Chapter 6:Time-Oriented Analyses
Demo Data
Exponential Moving Average
Calculating EMA Efficiently
Forecasting with EMA
ABC Analysis
Relational Division
Top Customers and Products
Duration of Loyalty
Survival Analysis
Hazard Analysis
Conclusion
Part IV: Data Science
Chapter 7:Data Mining
Demo Data
Linear Regression
Autoregression and Forecasting
Association Rules
Starting from the Negative Side
Frequency of Itemsets
Association Rules
Look-Alike Modeling
Training and Test Data Sets
Performing Predictions with LAM
Naïve Bayes
Training the NB Model
Performing Predictions with NB
Conclusion
Chapter 8:Text Mining
Demo Data
Introducing Full-Text Search
Full-Text Predicates
Full-Text Functions
Statistical Semantic Search
Quantitative Analysis
Analysis of Letters
Word Length Analysis
Advanced Analysis of Text
Term Extraction
Words Associations
Association Rules with Many Items
Conclusion
Index
About the Author
Dejan Sarka
, MCT and Data Platform MVP, is an independent trainer and consultant
who focuses on developing database and business intelligence
applications, with more than 30 years of experience in this field.
Besides projects, he spends about half of his time on training and
mentoring. He is the founder of the Slovenian SQL Server and .NET
Users Group. Sarka is the author or co-author of 19 books about
databases and SQL Server. He has developed many courses and
seminars for Microsoft, RADACAD, SolidQ, and Pluralsight.
About the Technical Reviewer
Ed Pollack
has more than 20 years of experience in database and systems
administration, developing a passion for performance optimization,
database design, and wacky analytics. He has spoken at many user
groups, data conferences, and summits. This led him to organize SQL
Saturday Albany, which has become an annual event for New York’s
Capital Region. Sharing these experiences with the community is a
passion. In his free time, Ed enjoys video games, backpacking, traveling,
and cooking exceptionally spicy foods.
Part I
Statistics
© The Author(s), under exclusive license to APress Media, LLC, part of Springer
Nature 2021
D. Sarka, Advanced Analytics with Transact-SQL
https://doi.org/10.1007/978-1-4842-7173-5_1
1. Descriptive Statistics
Dejan Sarka1
(1) Ljubjana, Slovenia
Variable Types
Before I calculate the summary values, I need to introduce the types of
variables. Different types of variables require different calculations. The
most basic division of the Variables are basically divided into two
groups: discrete and continuous.
Discrete variables can only take a value from a limited pool. For
example, there are only seven different or distinct values for the days of
the week. Discrete variables can be further divided into two groups:
nominal and ordinal.
If a value does not have a quantitative value (e.g., a label for a
group), it is a nominal variable. For example, a variable that describes
marital status could have three possible values: single, married, or
divorced.
Discrete variables could also have an intrinsic order, which are
called ordinal variables. If the values are represented as numbers, it is
easy to notice the order. For example, evaluating a product purchased
on a website could be expressed with numbers from 1 to 7, where a
higher number means greater satisfaction with the product. If the
values of a variable are represented with strings, it is sometimes harder
to notice the order. For example, education could be represented with
strings, like high school degree, graduate degree, and so forth. You
probably don’t want to sort the values alphabetically because there is
an order hidden in the values. With education, the order is defined
through the years of schooling needed to get the degree.
If a discrete variable can take only two distinct values, it is a
dichotomous variable called an indicator, a flag, or a binary variable. If
the variable can only take a single value, it is a constant. Constants are
not useful for analysis; there is no information in a constant. After all,
variables are called variables because they introduce some variability.
Continuous variables can take a value from an unlimited,
uncountable set of possible values. They are represented with integral
or decimal numbers. They can be further divided into two classes:
intervals or numerics (or true numerics).
Intervals are limited on the lower side, the upper side, or both sides.
For example, temperature is an interval, limited with absolute zero on
the lower side. On the other hand, true numerics have no limits on any
side. For example, cashflow can be positive, negative, or zero.
It is not always completely clear if a variable is discrete or
continuous. For example, the number of cars owned is an integer and
can take any value between zero and infinite. You can use such
variables in both ways—as discrete, when needed, or as continuous.
For example, the naïve Bayes algorithm, which is explained in Chapter
7, uses only discrete variables so that you can treat the number of cars
owned variable as discrete. But the linear regression algorithm, which
is explained in the same chapter, uses only continuous variables, and
you can treat the same variable as continuous.
Demo Data
I use a couple of demo datasets for the demos in this book. In this
chapter, I use the mtcars demo dataset that comes from the R language;
mtcars is an acronym for MotorTrend Car Road Tests. The dataset
includes 32 cases, or rows, originally with 11 variables. For demo
purposes, I add a few calculated variables. The data comes from a 1974
MotorTrend magazine and includes design and performance aspects for
32 cars, all 1973 and 1974 models. You can learn more about this
dataset at
www.rdocumentation.org/packages/datasets/versions/
3.6.2/topics/mtcars.
I introduce variables when needed.
From SQL Server 2016, it is easy to execute R code inside SQL
Server Database Engine. You can learn more about machine learning
inside SQL Server with R or the Python language in official Microsoft
documentation. A good introduction is at
https://docs.microsoft.com/en-us/sql/machine-
learning/sql-server-machine-learning-services?
view=sql-server-ver15. Since this book is about T-SQL and not R,
I will not spend more time explaining the R part of the code. I introduce
the code that I used to import the mtcars dataset, with some additional
calculated columns, in a SQL Server table.
First, you need to enable external scripts execution in SQL Server.
SELECT *
FROM dbo.mtcars;
Frequencies of Nominals
The following is a simple example of calculating the counts and
percentages for the transmission variable, which shows the
transmission type .
-- Simple, nominals
SELECT c.transmission,
COUNT(c.transmission) AS AbsFreq,
CAST(ROUND(100. * (COUNT(c.transmission)) /
(SELECT COUNT(*) FROM mtcars), 0) AS int)
AS AbsPerc
FROM dbo.mtcars AS c
GROUP BY c.transmission;
The following is the result.
WITH freqCTE AS
(
SELECT c.transmission,
COUNT(c.transmission) AS AbsFreq,
CAST(ROUND(100. * (COUNT(c.transmission)) /
(SELECT COUNT(*) FROM mtcars), 0) AS int)
AS AbsPerc
FROM dbo.mtcars AS c
GROUP BY c.transmission
)
SELECT transmission,
AbsFreq,
AbsPerc,
CAST(REPLICATE('*', AbsPerc) AS varchar(50)) AS
Histogram
FROM freqCTE;
I used a common table expression to enclose the first query, which
calculated the counts and the percentages, and then added the
horizontal bars in the outer query. Figure 1-2 shows the result.
For nominal variables, this is usually all that you calculate. For
ordinals, you can also calculate running totals.
Frequencies of Ordinals
Ordinals have intrinsic order. When you sort the values in the correct
order, it makes sense to also calculate the running totals. What is the
total count of cases up to some specific value? What is the running total
of percentages? You can use the T_SQL window aggregate functions to
calculate the running totals. Listing 1-3 shows the calculation for the
cyl variable.
Note If you are not familiar with the T-SQL window functions and
the OVER() clause, please refer to the official SQL Server
documentation at https://docs.microsoft.com/en-
us/sql/t-sql/queries/select-over-clause-
transact-sql?view=sql-server-ver15.
Ordering by the cyl variable was simple because the values are
represented with integral numbers, and the order is automatically
correct. But if an ordinal is represented with strings, you need to be
careful with the proper order. You probably do not want to use
alphabetical order.
For a demo, I created (already in the R code) a hpdescription
derived variable (originally stored in the hp continuous variable),
which shows engine horsepower in three classes: weak, medium, and
strong. The following query incorrectly returns the result in
alphabetical order.
Mark S. Hubbell.
side talks with the philistines:
being sundry bits of wisdom
which have been heretofore
secreted, and are now set
forth in print.
It is a land of free speech, Philistia, and if one of us chooses to
make remarks concerning the work of the others no sense of
modesty keeps us quiet. It is because we cannot say what we would
in the periodicals which are now issued in a dignified, manner in
various places, that we have made this book. In the afore-mentioned
periodicals divers men chatter with great fluency, startling regularity
and “damnable complacency,” each through his individual bonnet.
Edward W. Bok, evidently assisted by Mrs. Lydia Pinkham and W. L.
Douglas, of Brocton, Massachusetts, prints the innermost secrets of
dead women told by their living male relatives for six dollars a
column. Thereby the authors are furnished with the price of a week’s
board, and those of us who may have left some little sense of
decency, wonder what manner of man it may be who sells his wife’s
heart to the readers of Bok. But the “unspeakable Bok” is
“successful.” His magazine flourishes like a green bay tree. Many
readers write him upon subjects of deportment and other matters in
which he is accomplished. So, the gods give us joy! Let him drive on,
and may his Home Journal have five million readers before the year
is out—God help them!
Mr. Gilder dishes up monthly beautifully printed articles which
nobody cares about, but which everybody buys, because The
Century looks well on the library table.
Mr. Howells maunders weekly in a column called “Life and Letters”
in Harper’s journal of civilization. This “Life and Letters” reminds me
of the Peterkin’s famous picnic at Strawberry Nook. “There weren’t
any strawberries and there wasn’t any nook, but there was a good
place to tie the horses.”
So it goes through the whole list. There are people, however, who
believe that Romance is not dead, and that there is literature to be
made which is neither inane nor yet smells of the kitchen sink. This
is a great big merry world, says Mr. Dana, and there’s much good to
be got out of it, so toward those who believe as we do—we of
Philistia—this paper starts upon its great and perilous voyage at one
dollar a year.
It was Balzac, or some one else, who used to tell of a flea that
lived on a mangy lion and boasted to all the rank outside fleas that
he met: I have in me the blood of the King of Beasts.
It is a comforting thought that somewhere, at some time, every
good thing on earth is brought to an accounting of itself. Thereby are
the children of men saved from much tyranny. For the good things of
earth are your true oppressors.
For such an accounting are Philistines born in every age. By their
audit are men perpetually set free from trammels self-woven.
Earnest men have marvelled in all times that convention has
imputed to husks and symbols the potency of the things they
outwardly stand for. Many also have protested, and these, in
reproach, have been called Philistines. And yet they have done no
more than show forth that in all things the vital purpose is more than
the form that shrines it. The inspirations of to-day are the shams of
to-morrow—for the purpose has departed and only the dead form of
custom remains. “Is not the body more than raiment”—and is not life
more than the formulæ that hedge it in?
Wherefore men who do their own thinking, and eke women
betimes, take honor rather than disparagement in the name which is
meant to typify remorseless commonplace. They hesitate not to
question custom, whether there be reason in it. They ask “Why?”
when one makes proclamation:
“Lo! Columbus discovered America four hundred years ago! Let us
give a dance.” There have been teachers who sought to persuade
mankind that use alone is beauty—and these too have done
violence to the fitness of things. On such ideals is the civilization of
Cathay founded. Neither in the grossness of material things nor in
the false refinements that “divorce the feeling from its mate the deed”
is the core and essence of living.
It is the business of the true Philistine to rescue from the
environment of custom and ostentation the beauty and the goodness
cribbed therein. And so the Philistines of these days, whose prime
type is the Knight of La Mancha, go tilting at windmills and other
fortresses—often on sorry nags and with shaky lances, and yet on
heroic errand bent. And to such merry joust and fielding all lovers of
chivalry are bidden: to look on—perhaps to laugh, it may be to grieve
at a woeful belittling of lofty enterprise. Come, such of you as have
patience with such warriors. It is Sancho Panza who invites you.
The Chip-Munk has a bright reference in the issue of May 15 to
Coventry, Patmore, Pater and Meredith. These are four great men,
as The Chip-Munk boldly states.
The Chip-Munk further announces that the Only Original Lynx-
Eyed Proof Reader has not gone on a journey. Really, I supposed of
course he had been gone these many moons!
I wonder if Carman is still upon a diet of Mellin’s Food that he
imagines people do not know that this poem
—Francis W. Bourdillon.
mdcccxciv.
Joy Trolleyman.
iv-xi-xliv.
Joy Cartman.
STIGMATA.
“Behold the miracle!” he cried—
The sombre priest who stood beside
A figure on whose snowy breast
The outlines of a cross expressed
In ruddy life-drops ebbed and flowed;
“Behold th’ imprimatur of God!”
A kneeling woman raised her eyes;
Lo! At the sight, in swift surprise,
Ere awe-struck lips a prayer could speak
Love’s stigma glowed on brow and cheek;
And one in reverence bent his head—
“Behold the miracle?” he said.
William McIntosh.
THE MAGAZINES.
Kate Field’s Wash is dry.
The Arena has sand.
“Sub-Tragic” is the latest description of Vic. Woodhull’s
Humanitarian.
McClure’s is getting a little weary with its living pictures.
Scribner’s has a thrilling article on “Books We Have Published.”
Godey’s is very gay in its second childhood.
Judge Tourgee’s Basis isn’t business. “It’s pretty, but it isn’t war.”
The Century, it is said, will insert a page or two of reading matter
between the Italian art and the ads.
The Basis is out with prizes for poets and sermon writers. It was
as certain as the law of nature makes the filling of every vacuum at
some time, that somewhere and at some time these people would
get their reward. It seems to be coming now. But where and when
will be the reward of the people who read what they write? The
thought of their fate is all shuddery.
Ginger used to be in evidence in magazines and pumpkin pies.
Squash is a prominent ingredient now.
If Peterson’s wouldn’t mix ads. and reading matter in their books
and on title pages the cause of current literature would be advanced.
Between Grant’s essays on the art of living and the mild satire of
“The Point of View,” it really looks as if the Tattler had come again—a
little disembodied for Dick Steele, but in character.
Young—Love of Fame.
W. D. Howells:
Please remit.
Die Heintzemannsche
Buchdruckerei
In Boston, Mass., empfiehlt sich zur geschmackvollen und
preiswerten Herstellung von feinen Druckarbeiten aller Art, als:
Schul- und Lehrbucher in allen Sprachen, Schul-
Examinationspapiere, Diplome, Zirkulare, Preisverzeichnisse,
Geschafts-Kataloge u. s. w. Herstellung von ganzen Werken mit
oder ohne Illustrationen, von der einfachsten bis zur reichsten
Ausfuhrung.
Carl H. Heintzemann,
234 Congress Street, Boston, Mass.
1.D. The copyright laws of the place where you are located also
govern what you can do with this work. Copyright laws in most
countries are in a constant state of change. If you are outside
the United States, check the laws of your country in addition to
the terms of this agreement before downloading, copying,
displaying, performing, distributing or creating derivative works
based on this work or any other Project Gutenberg™ work. The
Foundation makes no representations concerning the copyright
status of any work in any country other than the United States.
1.E.6. You may convert to and distribute this work in any binary,
compressed, marked up, nonproprietary or proprietary form,
including any word processing or hypertext form. However, if
you provide access to or distribute copies of a Project
Gutenberg™ work in a format other than “Plain Vanilla ASCII” or
other format used in the official version posted on the official
Project Gutenberg™ website (www.gutenberg.org), you must, at
no additional cost, fee or expense to the user, provide a copy, a
means of exporting a copy, or a means of obtaining a copy upon
request, of the work in its original “Plain Vanilla ASCII” or other
form. Any alternate format must include the full Project
Gutenberg™ License as specified in paragraph 1.E.1.
• You pay a royalty fee of 20% of the gross profits you derive from
the use of Project Gutenberg™ works calculated using the
method you already use to calculate your applicable taxes. The
fee is owed to the owner of the Project Gutenberg™ trademark,
but he has agreed to donate royalties under this paragraph to
the Project Gutenberg Literary Archive Foundation. Royalty
payments must be paid within 60 days following each date on
which you prepare (or are legally required to prepare) your
periodic tax returns. Royalty payments should be clearly marked
as such and sent to the Project Gutenberg Literary Archive
Foundation at the address specified in Section 4, “Information
about donations to the Project Gutenberg Literary Archive
Foundation.”
• You comply with all other terms of this agreement for free
distribution of Project Gutenberg™ works.
1.F.