A four-color journey through a complete Tableau visualization Tableau is a popular data visualization tool that's easy for individual desktop use as well as enterprise. Used by financial analysts, marketers, statisticians, business and sales leadership, and many other job roles to present data visually for easy understanding, it's no surprise that Tableau is an essential tool in our data-driven economy. Visual Analytics with Tableau is a complete journey in Tableau visualization for a non-technical business user. You can start from zero, connect your first data, and get right into creating and publishing awesome visualizations and insightful dashboards. * Learn the different types of charts you can create * Use aggregation, calculated fields, and parameters * Create insightful maps * Share interactive dashboards Geared toward beginners looking to get their feet wet with Tableau, this book makes it easy and approachable to get started right away.
Ebooka przeczytasz w aplikacjach Legimi na:
Liczba stron: 266
Foreword by Nate Vogel
Foreword by Sophie Sparkes
Chapter 1: Introduction and Getting Started with Tableau
THE ADVANTAGES OF A MODERN ANALYTICS PLATFORM
MY PERSONAL TABLEAU STORY
THE TABLEAU APPLICATION SUITE
INSTALLING TABLEAU DESKTOP
THE SAMPLE DATASET
THE TABLEAU WORKSPACE
WORKING WITH MEASURES AND DIMENSIONS
WORKING WITH MARKS
SAVING, OPENING, AND SHARING YOUR WORKBOOKS
Chapter 2: Adding Data Sources in Tableau
SETTING UP A DATA CONNECTOR
SELECTING DATA TABLES
DATA EXTRACTS AND LIVE CONNECTIONS
EDITING THE MODEL'S METADATA
ADDING HIERARCHIES, CALCULATED FIELDS, AND TABLE CALCULATIONS
CHECKLIST FOR INCREASING PERFORMANCE
Chapter 3: Creating Data Visualizations
READY, SET, SHOW ME
BAR CHARTS, LEGENDS, FILTERS, AND HIERARCHIES
CUMULATIVE SUMS WITH WATERFALL CHARTS
REFLECTION: THE ANATOMY OF A TABLEAU VISUALIZATION
Chapter 4: Aggregate Functions, Calculated Fields, and Parameters
AGGREGATIONS IN CALCULATED FIELDS
LOGICAL FUNCTIONS IN CALCULATED FIELDS
SEARCHING TEXT FIELDS
Chapter 5: Table Calculations and Level of Detail Calculations
DIFFERENT TYPES OF CALCULATIONS
QUICK TABLE CALCULATIONS
CUSTOMIZED TABLE CALCULATIONS
LEVEL OF DETAIL EXPRESSIONS
Chapter 6: Maps
MAPS WITH PIE CHARTS
VIZ IN TOOLTIP
REFLECTION: THE ANATOMY OF A TABLEAU MAP
ALTERNATIVE MAP SERVICES
Chapter 7: Advanced Analytics: Trends, Forecasts, Clusters, and other Statistical Tools
OVERVIEW OF THE TABLEAU ANALYTICS PANE
CONSTANT, AVERAGE, AND REFERENCE LINES
PYTHON, R, AND MATLAB INTEGRATION
Chapter 8: Interactive Dashboards
CREATING A NEW DASHBOARD
THE DASHBOARD PANE
PLACING CHARTS ON THE DASHBOARD
DASHBOARD STARTERS: TEMPLATES FOR CLOUD DATA
DASHBOARD BEST PRACTICES AND INSPIRATION
Chapter 9: Sharing Insights with Colleagues and the World
TABLEAU ONLINE AND TABLEAU SERVER
Chapter 10: Data Preparation with Tableau Prep
CONNECTING TO DATA
INSPECTING THE DATA
REMOVING UNNEEDED FIELDS
DATA CLEANING AND FORMATTING
RUNNING THE FLOW AND OUTPUTTING THE DATA
End User License Agreement
Table 3.1 Sales targets by region.
Table 4.1 The date parts used in Tableau.
Table 4.2 Converting different types of date formats.
Table 5.1 Depending on the type of calculation, the data that goes into the calc...
Figure 1.1 An interactive sales dashboard. We will build this in Chapter 8.
Figure 1.2 Formatted and aggregated report showing averages across several data...
Figure 1.3 Long table without any aggregations that is suitable for analysis in...
Figure 1.4 Folder with the sample dataset in Windows Explorer.
Figure 1.5 Data structure of the sample dataset in Excel.
Figure 1.6 Tableau Desktop start screen.
Figure 1.7 The data source view with the Excel file open and the names of the t...
Figure 1.8 Preview of the data from the
Figure 1.9 The Tableau workspace with a yet‐to‐be‐filled canvas.
Figure 1.10 A green highlight appears when you drag a measure onto this section...
Figure 1.11 A blue highlight appears when you drag a dimension onto this part o...
Figure 1.12 Dragging the Segment dimension onto Color.
Figure 1.13 Tooltips are displayed when you point at marks.
Figure 2.1 In Tableau, you can connect to a variety of common file and server t...
Figure 2.2 Supported file types shown in the Open dialog box.
Figure 2.3 The drop‐down menu in the Open dialog shows the file types supported...
Figure 2.4 The list of Tableau‐supported server connectors.
Figure 2.5 Dialog box with connection details for a PostgreSQL database.
Figure 2.6 A simple data model containing only the
sheet from the Supers...
Figure 2.7 Two sheets joined based on the
Figure 2.8 Individual sheets unioned manually.
Figure 2.9 Files and sheets unioned automatically with a wildcard search.
Figure 2.10 Radio buttons for switching between live connection and data extrac...
Figure 2.11 The size of an extract can be reduced with filters.
Figure 2.12 Changing the metadata in the data source editor.
Figure 2.13 Custom splits allow you to define the separators used for the spli...
Figure 2.14 Changing the data type via a field's drop‐down menu.
Figure 2.15 IFTTT applet for collecting tweets in a Google spreadsheet.
Figure 2.16 Search criteria for IFTTT to use on new tweets coming in.
Figure 2.17 Giving the spreadsheet a name.
Figure 2.18 Google Sheets table with column headers.
Figure 2.19 Selecting dimensions and measures when connecting to Google Analyti...
Figure 2.20 Selecting Assume Referential Integrity in the Data menu.
Figure 2.21 Selecting the option Single Table in the Extract Data dialog.
Figure 3.1 A scatter plot created with the Show Me assistant.
Figure 3.2 A bar chart showing sales and profits by category.
Figure 3.3 Dragging one dimension onto another to create a hierarchy.
is part of a hierarchy, as indicated by the plus symbol.
Figure 3.5 Clicking the plus symbol, you expand the hierarchy to include
Figure 3.6 Filter dialog box; in this example, only data rows with the segment
Figure 3.7 Selecting Show Filter to make the visualization more interactive.
Figure 3.8 Rising sales numbers as visualized with a line chart.
Figure 3.9 Year is the highest level of the date hierarchy.
Figure 3.10 The date hierarchy broken down to the monthly level.
Figure 3.11 Dragging the quarter off the Columns shelf.
Figure 3.12 Sales revenue by month and grouped by year.
Figure 3.13 Step lines help to highlight the difference between two data points...
Figure 3.14 Jump lines highlight gaps in time series; this example shows sensor...
Figure 3.15 The context menu's lower block of date and time options contains co...
Figure 3.16 Sales as a function of the continuous order date.
Figure 3.17 Cross table showing sales by subcategory and month.
Figure 3.18 Dragging with the right mouse button.
Figure 3.19 Cross table with colored text and a legend.
Figure 3.20 Changing the mark type to Square.
Figure 3.21 Heatmap with marks in different sizes and colors, depending on the ...
Figure 3.22 Edit Color dialog with the Orange‐Blue Diverging palette and Revers...
Figure 3.23 Heatmap showing hot spots in the data using color and size.
Figure 3.24 Sales revenue and sales targets next to each other, broken down by ...
Figure 3.25 Creating a bullet chart with the help of the Show Me assistant.
Figure 3.26 A bullet chart puts the focus on the difference between the values ...
Figure 3.27 The sort option appears when you hover over an axis.
Figure 3.28 Gantt bars depicting the
of sales revenue.
Figure 3.29 Calculated field with the sales difference that is needed in a wate...
Figure 3.30 Waterfall chart showing the contribution of each subcategory to the...
Figure 3.31 With the View Data option, you can see the data rows underlying spe...
Figure 4.1 Setting the aggregate function.
Figure 4.2 Adding a calculated field to the Data pane.
Figure 4.3 Calculation editor with expanded glossary.
Figure 4.4 Bar chart showing both sales revenue and the calculated profit margi...
Figure 4.5 Calculation to split off the first word of a string.
Figure 4.6 Sales revenue grouped by manufacturer, which was derived from
Figure 4.7 The option Create Parameter in the Data pane's context menu.
Figure 4.8 Configuring a new parameter.
Figure 4.9 The Parameters section of the Data pane.
Figure 4.10 Calculated field with the
Figure 4.11 What‐if analysis with a dynamic calculation based on a parameter.
Figure 4.12 Setting up a string parameter with an empty current value.
Figure 4.13 Filtering
to only retain data rows with True.
Figure 4.14 Text search with a parameter and a filter; demonstrated using the s...
Figure 5.1 The entry Quick Table Calculation in a measure's context menu.
Figure 5.2 Line chart showing the running total of sales by segment.
Figure 5.3 Duplicate as Crosstab.
Figure 5.4 Edit Table Calculation in a measure's context menu.
Figure 5.5 Table Calculation options with calculation assistance activated.
Figure 5.6 The calculation assistance (yellow shading) indicates that the Table...
Figure 5.7 Table Calculation to compute the rank according to sales.
Figure 5.8 Ranking of subcategories by sales for each month.
Figure 5.9 The Edit Axis dialog, with the Reversed option selected.
Figure 5.10 Bump chart showing the evolution of products ranked by sales, inclu...
Figure 5.11 Changing to a Dual Axis plot.
Figure 5.12 Synchronizing the axes.
Figure 5.13 Formatting options for labels.
Figure 5.14 Line chart showing sales revenue over time, and the Data pane's con...
Figure 5.15 Settings for the
Figure 5.16 The formula for the moving average.
Figure 5.17 Line chart with moving average and dynamic parameter control.
Figure 5.18 Calculated field to find the date of each customer's first purchase...
Figure 5.19 Cohort analysis.
Figure 5.20 Calculated field yielding the total sales per customer.
Figure 5.21 Different ways of calculating averages.
Figure 5.22 Sum of sales, independent of region.
Figure 5.23 Bar chart showing how sales per subcategory at the regional level d...
Figure 6.1 Symbol map with differently sized circles, based on the revenue in t...
Figure 6.2 Filled map with states shaded according to the sum of sales.
Figure 6.3 Creating a filled map by selecting the appropriate mark type in the ...
Figure 6.4 Density map.
Figure 6.5 Map Layers pane with the Dark background map style selected.
Figure 6.6 Map with pie charts showing
broken down by
Figure 6.7 Using an LOD Expression and a slider filter to declutter the map.
Figure 6.8 A dual‐axis chart: filled map with pie charts.
Figure 6.9 Line chart showing the evolution of sales over time, broken down by ...
Figure 6.10 Embedding the
chart via the Edit Tooltip dialog.
Figure 6.11 Tooltip with embedded line chart that appears when hovering over ma...
Figure 6.12 Mapbox website with access token.
Figure 6.13 Map services are set up via the Background Maps submenu.
Figure 6.14 Map Services dialog with the Add button clicked.
Figure 6.15 Selecting a Mapbox preset style.
Figure 6.16 Cities in the dataset on top of a satellite‐image background map.
Figure 6.17 Website https://cablemap.info/_default.aspx.
Figure 6.18 Connecting to spatial files.
Figure 6.19 The Open dialog box showing spatial files supported by Tableau.
Figure 6.20 Data model and preview of the Shapefile.
Figure 6.21 World map with undersea communication cables. Marks are sorted and ...
Figure 6.22 The data portal of the European Central Bank.
Figure 7.1 Bar chart with a constant line.
Figure 7.2 Selection fields with different types of trend line models.
Figure 7.3 Line chart with an added trend line and its tooltip.
Figure 7.4 Dialog box with trend line options.
Figure 7.5 Description of a trend line.
Figure 7.6 Trend line model.
Figure 7.7 Line chart with a forecast.
Figure 7.8 Forecast Options dialog box.
Figure 7.9 Model summary.
Figure 7.10 Model type, quality metrics, and smoothing coefficients.
Figure 7.11 Customer segments based on sales and profits.
Figure 7.12 Working with the clusters field for Customer ID.
Figure 7.13 The GitHub repository for TabPy.
Figure 7.14 Downloading TabPy via the Git command line (here shown on a Mac).
Figure 7.15 The Help menu and the Settings And Performance submenu.
Figure 7.16 External Service Connection window to configure a local TabPy conne...
Figure 7.17 Calculated field with Python script.
Figure 7.18 Trellis chart, with trend lines and colors according to the correla...
Figure 7.19 Configuring the R connection in Tableau.
Figure 7.20 Configuring a secure connection to RServe.
Figure 7.21 Scatter plot with a LOESS smoother.
Figure 7.22 Configuring the connection to a MATLAB Production Server.
Figure 8.1 A blank dashboard.
Figure 8.2 Defining the dashboard template size.
Figure 8.3 A second worksheet is being added to the dashboard.
Figure 8.4 A dashed line indicates where the additional worksheet will be inser...
Figure 8.5 A dashboard with three charts.
Figure 8.6 Dashboard with title.
Figure 8.7 The dashboard with a navigation button.
Figure 8.8 Edit Button dialog box.
Figure 8.9 Using the top‐left sheet as a filter for the other sheets.
Figure 8.10 Filter action in use: only data from Furniture/Central is shown in ...
Figure 8.11 The Actions window lists all existing actions for the workbook.
Figure 8.12 Choosing a filter.
Figure 8.13 Configuring a filter action.
Figure 8.14 Empty Web Page object in a dashboard.
Figure 8.15 Configuring a URL action.
Figure 8.16 Clicking a city loads the corresponding Wikipedia entry.
Figure 8.17 Creating a dashboard with Dashboard Starters.
Figure 8.18 Dashboards can be tested with sample data by clicking Continue With...
Figure 8.19 The Tableau Public gallery.
Figure 8.20 Many visualizations can be downloaded from Tableau Public.
Figure 9.1 Publishing a dashboard via the Server menu.
Figure 9.2 Connecting to Tableau Online or Tableau Server.
Figure 9.3 Signing in to Tableau Server or Tableau Online.
Figure 9.4 The Publish Workbook dialog.
Figure 9.5 Data source with the Ask Data view in Tableau Online.
Figure 9.6 Ask Data's response to a user's question.
Figure 9.7 Data preview tooltip shows most common values.
Figure 9.8 Dashboard showing Bitcoin prices, accessed through the Tableau Mobil...
Figure 9.9 Save To Tableau Public in the Server menu of Tableau Desktop.
Figure 9.10 Sign‐in dialog for Tableau Public.
Figure 9.11 Entering a name for the new workbook on Tableau Public.
Figure 9.12 Editing the visualization's settings.
Figure 9.13 The author's Tableau Public profile.
Figure 9.14 Copying the embed code via the Share menu.
Figure 9.15 Embedded visualization.
Figure 10.1 Tableau Desktop start screen.
Figure 10.2 Supported file types and database technologies are shown in the Con...
Figure 10.3 Open dialog in Tableau Prep.
Figure 10.4 The Tableau Prep workspace with the Flow and Input areas.
Figure 10.5 Multiple Files tab, with Wildcard Union selected.
Figure 10.6 Multiple files are selected in the Open dialog.
Figure 10.7 Flow with three input steps.
Figure 10.8 Unneeded fields can be eliminated from the flow by deselecting the ...
Figure 10.9 Using search to eliminate multiple fields.
Figure 10.10 Adding a cleaning step to a flow.
Figure 10.11 Workspace with the Profile pane.
Figure 10.12 Calculated field for adding the
Figure 10.13 Calculated field for creating a date field.
Figure 10.14 Changing the data type in the Profile pane.
Figure 10.15 Renaming steps helps to keep track of changes.
Figure 10.16 Dropping one step onto the New Union field of another step.
Figure 10.17 In a union, fields with different names but similar content can be...
Figure 10.18 Adding an Excel file and a cleaning step to the flow.
Figure 10.19 Trim function to remove superfluous spaces.
Figure 10.20 Group And Replace function for grouping different values that have...
Figure 10.21 Join profile with Left Join selected.
Figure 10.22 Output pane with output‐to‐file options.
Table of Contents
Tableau was founded with a simple mission: helping people to see and understand their data. More than 15 years later, we are pursuing that same goal. A data‐driven corporate culture is the key to successful digitization. Companies that involve as many employees as possible in data evaluation and promote analytical thinking are well‐positioned.
Tableau gives people the power of data. We've designed our software to be flexible and capable of both helping a single person answer simple data questions and enabling thousands of people in a company to execute complex queries against massive databases.
This includes the cross‐departmental use of data, because not only the amount of data, but also the number of data sources, is increasing—especially through the triumph of the cloud. This opens up completely new possibilities for analysis: With the help of professional solutions, information from different areas can be combined and integrated into a common data pool. This results in new perspectives and synergies that also make complex and strategic evaluations possible.
Tableau can help you answer questions with data. Every day, we hear stories about how Tableau helps increase sales, streamline operations, improve customer service, manage investments, assess quality and safety, investigate and treat diseases, conduct academic research, address environmental issues, and improve education!
This book will be a hands‐on guide to how you can enrich your business and personal work through Alexander Loth's extensive experience with Tableau and big data. With this book, Alexander has managed to portray the use of Tableau for everyday use. In addition, he always uses practical examples to show a way to increase analytical competence.
I wish you an informative read, and I am sure that you will find numerous suggestions that can advance your company with data visualization.
Long live DATA!
Vice President, Worldwide Sales & Partner Readiness
We have never had more data at our fingertips than we do right now. Advances in technology are letting us capture and store more data than ever before. At the same time, the audience accessing and using data is growing ever larger. The question is, how do we find the insights within this data? And, more important, how do we communicate these insights?
We humans are a visual species. We can quickly and effectively understand complex information when it is presented in a visual form. We are also a storytelling species. We attach narratives to everything we see. So, effective data communication is a combination of images and words that explain the underlying data and analysis.
When it comes to visually analyzing data and sharing insights, Tableau is in a league of its own. Tableau's flexible drag‐and‐drop design lets anyone—from a single user to a company of thousands—answer their data questions. Tableau also lets you share your answers directly with your audience. Tableau truly lets people communicate with data.
This book is a hands‐on guide to how you can enrich your business and personal work through Tableau. Alexander Loth's extensive experience with Tableau and big data means you are learning from the best. With this book, Alexander has successfully portrayed everyday Tableau. Additionally, his clear explanations and step‐by‐step practical examples guide you from the basics to more‐advanced topics in a seamless fashion.
I am sure you will get a lot out of this book and wish you all the best on your data journey.
Sophie SparkesCommunity ManagerThe Information Lab UK
Visual Analytics with Tableau is intended to be a step‐by‐step introduction to the world of visual analytics. My hope is that you will find the provided examples to be useful for learning how to analyze your own data in Tableau. And how to effectively communicate the new insights gained from these analyses, just like the many Tableau users with whom I have had the privilege of working in recent years.
The book should be of interest to the following audiences:
Business professionals who make data‐informed decisions on a day‐to‐day basis.
Analysts and developers who create visualizations and dashboards for their organizations.
Data scientists who want to quickly understand the data in front of them, before perhaps running more sophisticated models on it.
Generally, anybody with access to data and with a desire to understand it.
To follow the contents of this book and to get started with Tableau, you do not need a background in mathematics or any programming experience. The book is suitable for beginners and for those who are looking for a practical introduction to the fields of data analysis and visualization.
That doesn't mean we will restrict ourselves to the basic functionality of Tableau. The first three chapters go through the essentials step by step. But this book goes deeper than that.
Building on this foundation, we will then look at more sophisticated use cases aimed at more experienced practitioners. We will cover a number of Tableau features that should be interesting even for more‐advanced users.
In a few places, you will encounter short calculations and programming scripts. These are kept on the simple side, so that anybody should be able to follow their logic. Of course, more‐sophisticated scenarios can be implemented in Tableau—either with Tableau's own calculated fields, which use a modern programming syntax, or via the integration of R, Python, or MATLAB. However, this is not the focus of the book. Instead of going deep into statistical programming, we will focus on the visual analytics functionality of Tableau.
This book has 10 chapters that generally build on each other. The progression of chapters is intended to support you on a continuous learning curve. Chapter 1 starts with an overview that should also help novices get a good first impression of Tableau's capabilities.
Subsequent chapters go deeper into various aspects of the visual analytics process. Chapter 2 details how to find and connect to different data sources. Chapter 3 is in some regards the heart of the book: it provides hands‐on instructions for how to build assorted types of data visualizations in Tableau. I focus on the chart types that my customers and I have found most helpful in commonly encountered use cases.
Chapter 4 introduces calculated fields that allow you to add custom computations to the data. As mentioned, I have tried to make this topic accessible to as wide an audience as possible. Chapter 5 builds on Chapter 4 and covers the more‐advanced, but very useful, Table Calculations and Level of Detail Calculations.
Chapter 6 looks at a very popular Tableau feature: maps. I have seen many “Eureka!” moments, when new Tableau users figured out how they can easily add their data to different types of maps. We will also talk about how to best bring in additional data without making your maps too cluttered.
Chapter 7 looks at how different statistical methods can be used to augment your visual analytics procedures to provide you with additional insights. We will cover forecasts, clusters, and trend lines, and we will also look at the integration of R, Python, and MATLAB for more advanced statistical modelling.
Chapter 8 shows how individual charts can be combined to create interactive dashboards that allow your colleagues to explore the data on their own terms. Related to that, in Chapter 9, we will look at the different options within the Tableau ecosystem for sharing your work with others: Tableau Server, Tableau Online, and Tableau Public.
Chapter 10 revisits the challenge of data preparation and data cleaning, but goes beyond what is covered in Chapter 2, by focusing on the new application Tableau Prep.
To help you get the most from the text and keep track of what's happening, we've used a couple of conventions throughout the book.
NOTE Note boxes such as this one will provide insights into advanced Tableau functionality and working with different data structures.
TIP Tip boxes are intended to provide additional tips that should make your work with Tableau easier.
All sample data, updates, amendments, and recommended reading materials will be posted to the following website: http://www.visual‐analytics.org/with‐tableau.
Tableau was created to empower people to analyze their data regardless of the level of their technical know‐how. At the core of Tableau is VizQL, an innovative visual query language that translates mouse inputs such as drag‐and‐drop into database queries. This allows the user to quickly find insights in their data and to share the results with others.
Crucially, it is not necessary to know what you are looking for or how you want to present your findings. Instead, with Tableau, you can immerse yourself in data. Through visual analysis, you will be able to unearth patterns and relationships in your data that you might not have known existed. In this regard, Tableau is different from other tools, which often require you to know beforehand in what form you want to display your data.
The purpose of this chapter is to introduce you to the different products that make up the Tableau application suite, the Tableau user interface, and to how Tableau processes your data. We will also introduce the sample dataset that is used throughout this book and provide a first glimpse of the possibilities that Tableau gives you for creating data visualizations.
By the end of this chapter you will be able to:
Install Tableau on your computer.
Identify data that is suitable for analysis.
Create your first data visualization in Tableau.
The first thing you typically do in Tableau is to connect to a dataset. The data can come from simple files, databases, data cubes, data warehouses, Hadoop clusters, or even different cloud services such as Google Analytics. Next, you interact with the Tableau interface to query your data visually and to display the results in various types of charts and maps. Then, you can collate the individual charts in a dashboard in order to put them into the right context.
Finally, depending on the product used, there are different options for communicating the results with others, from sending individual workbooks, to embedding interactive dashboards, to sharing them on social media. Tableau helps you with both the analysis as well as the communication of results, by providing capabilities such as the creation and sharing of explanatory diagrams, data stories, and interactive dashboards (see Figure 1.1).
Figure 1.1 An interactive sales dashboard. We will build this in Chapter 8.
I first came across Tableau in 2009, when I was writing my thesis at CERN, the European Organization for Nuclear Research in Geneva. I was exploring the landscape of available tools for the visualization and communication of data because I was not happy with the clunky, inflexible solutions that were commonly used back then.
Like most of my colleagues at CERN, I spent a lot of time aggregating data in Python, a popular universal programming language, only to then visualize it in another tool, the command‐line tool GnuPlot. It was a struggle to keep all the scripts well maintained, and even small changes required a lot of time and effort.
When new data came in, the scripts had to be re‐run. The resulting visualizations were, of course, static and didn't offer any interactivity to the end user. And the software packages I used had a lot of dependencies that had to be resolved every time a new version became available.
When I eventually learned about Tableau, I was amazed by the ease of use of the graphical interface and the possibility of being able to interact with my data directly.
Tysiące ebooków i audiobooków
Ich liczba ciągle rośnie, a Ty masz gwarancję niezmiennej ceny.
Napisali o nas:
Nowy sposób na e-księgarnię
Czytelnicy nie wierzą
Legimi idzie na całość
Projekt Legimi wielkim wydarzeniem
Spotify for ebooks