Table of Contents

Open all
Close all
Preface
15
Target Audience
15
How to Read this Book
16
What You Can Expect from This Book
16
How This Book Is Organized
17
Acknowledgments
19
Conclusion
19
1 Introduction
21
1.1 Performance and Its Relation to User Experience
22
1.1.1 Why the Design Phase Is Important
22
1.1.2 Who Manages Performance?
24
1.1.3 Validating Dashboards for Performance
26
1.2 SAP Analytics Cloud Performance
30
1.2.1 Why Performance Matters
30
1.2.2 Common Performance Issues
33
1.2.3 Understanding the Software Architecture
36
1.2.4 On-premise versus Cloud: General Limitations
38
1.3 Summary
42
2 Measuring, Testing, and Monitoring Performance
45
2.1 Different Types of Performance Tests
46
2.1.1 Performance Test Types
46
2.1.2 Performance Test Layers
50
2.1.3 Performance Test Tools
51
2.2 Performance Testing versus Performance Engineering
52
2.2.1 Performance Testing
53
2.2.2 Performance Engineering
53
2.3 Performance Testing Process
55
2.4 Defining the Metrics to Measure
58
2.4.1 Metrics that Measure Time
58
2.4.2 Metrics that Measure System Key Performance Indicators
61
2.4.3 Metrics that Measure Dashboard-specific Key Performance Indicators
62
2.5 Setting Performance Goals
64
2.5.1 Performance Goals for Different Test Types
65
2.5.2 Performance Goals for Different Metrics
66
2.6 Measuring Performance and System Key Performance Indicators
67
2.6.1 Measuring Performance Using Chrome DevTools
68
2.6.2 Measuring Network Traffic Using Chrome DevTools
72
2.6.3 Measuring Memory Consumption Using Chrome DevTools
73
2.6.4 Measuring CPU Consumption
74
2.6.5 Measuring Network Bandwidth
76
2.6.6 Measuring Dashboard Performance Using Onboard Analysis Tools
78
2.7 Creating Benchmark Tests
79
2.7.1 Prerequisites of a Benchmark Test
79
2.7.2 Phases of a Benchmark Test
80
2.8 SAP Analytics Cloud Performance Equation
81
2.9 Ten Golden Rules for Efficient SAP Analytics Cloud Dashboards
83
2.10 Summary
89
3 Optimizing Performance in the Story Builder
91
3.1 General Settings to Improve Performance
92
3.1.1 Using Multiple Models in a Story
92
3.1.2 Query Merging
93
3.1.3 Optimize Story Building Performance
94
3.1.4 Re-save the Story
95
3.1.5 Optimized View Mode
95
3.1.6 Performance Warning Notification
99
3.1.7 Progressive Chart Rendering
100
3.2 Optimizing the Story Design
100
3.2.1 Story Structure
101
3.2.2 Charts
107
3.2.3 Tables
111
3.2.4 Images
117
3.3 Optimizing Filters, Calculations, and Linked Analysis
118
3.3.1 Filtering and Drilling
118
3.3.2 Calculations and Restricted Measures
122
3.4 Optimizing Mobile Device Performance
124
3.4.1 Device and App Settings
124
3.4.2 Optimized iOS and View Time Optimization
125
3.4.3 Rethink the Design on Mobile Devices
126
3.5 Using the Explorer View to Improve Performance
128
3.5.1 Accessing the Explorer View
128
3.5.2 Deactivate Auto-Synchronization
129
3.5.3 Show Only Required Dimensions and Measures
130
3.6 Planning Scenarios: Optimizing Settings and Advanced Formulas
131
3.6.1 Version Management
131
3.6.2 Data Entry
132
3.6.3 Data Actions, Multi Actions, and Allocations
134
3.6.4 Optimize Advanced Formulas
136
3.7 The Performance Analysis Tool
147
3.7.1 Accessing the Performance Analysis Tool
148
3.7.2 Using the Performance Analysis Tool
150
3.7.3 Optimizing Your System with the Results
157
3.8 Best Practices
159
3.9 Summary
161
4 Analytics Designer Performance
163
4.1 Avoiding Poor Performance When Creating an Analytics Application
163
4.1.1 The Issue of Poor Performance in the Edit Mode
164
4.1.2 Split Up Your Dashboard into Smaller Analytics Applications
165
4.1.3 Leverage the Copy and Paste Functionality
166
4.1.4 Test Before Implementing Large Changes
167
4.2 General Rules to Improve Performance
168
4.2.1 Remember Chapter Three
168
4.2.2 Don’t Reinvent the Wheel or Overcomplicate Things
169
4.2.3 Limit the Number of Widgets
171
4.3 Optimizing the Application Structure
172
4.3.1 How Is an Analytics Application Loaded?
172
4.3.2 Leveraging the Load Invisible Widgets in Background Setting
174
4.3.3 Avoid Executing a Script in the OnInitialization Event
176
4.3.4 Pause the Refresh of Data to Reduce Loading Times
177
4.3.5 Split Up Content to Distribute Loading Times and Limit What Is Shown at Startup
178
4.4 Optimizing Responsive Design Performance for Mobile and Other Devices
184
4.4.1 Leverage Built-in Functionalities Instead of Scripting Everything
185
4.4.2 Avoid Resizing Unnecessarily
187
4.5 Optimizing Performance for Scripts
190
4.5.1 Basic Scripting Best Practices
191
4.5.2 Do’s and Don’ts of Scripting
192
4.5.3 Tools and Settings to Leverage in Your Scripts
193
4.6 Analytics Application Script Performance Popup Tool
195
4.6.1 What Is the Script Performance Popup Tool?
196
4.6.2 First Example: Measuring Specific Parts of Complex Scripting
197
4.6.3 Second Example: Viewing Bottlenecks Where Scripting Must Wait for Widgets to Load
198
4.7 Best Practices
199
4.8 Summary
200
5 Modeler Performance
203
5.1 General Modeler Settings to Improve Performance
203
5.1.1 Number of Data Sources
203
5.1.2 Show Unbooked Data in a Chart
204
5.1.3 Avoid Specifying Exception Aggregations
205
5.2 Choosing an Efficient Model
207
5.2.1 The Data Source Type
207
5.2.2 The Model Type
209
5.2.3 Datasphere Model
210
5.3 Performance of Acquired Models and Live Connection Models
211
5.4 Optimizing Performance for Planning Models
211
5.4.1 Delete Private Versions
212
5.4.2 Limit Public Version Data in Edit Mode
213
5.4.3 Filtering during the Modeling Process
214
5.4.4 Data Entry
214
5.5 Best Practices
214
5.6 Summary
215
6 Optimizing Backend and Tenant Settings
217
6.1 Optimizing Backend Data Storage Connection
217
6.1.1 Reduce Data as Early as Possible
218
6.1.2 Delete Dimensions in the Model
219
6.1.3 Hide Dimensions in the Model Design
220
6.1.4 Do Calculations After Aggregation
221
6.1.5 Perform Calculations in the Backend
221
6.1.6 Write Scripts in a Way that Avoids Extra Calls Against the Backend
222
6.2 Optimizations in the Backend Data
222
6.3 System Configuration Settings to Improve Performance
224
6.3.1 Optimize Story Building Performance
224
6.3.2 Progressive Chart Rendering
224
6.3.3 Query Batching
226
6.3.4 Increase the Number of SAP Business Warehouse Parallel Queries
231
6.3.5 Reduce the Metadata Loading in Your Widget
232
6.4 Best Practices
234
6.5 Summary
235
7 Viewer Choices
237
7.1 Optimizations When Viewing Dashboards
237
7.1.1 Which Browser to Use
238
7.1.2 Network Issues
240
7.1.3 The Impact of Using a Virtual Private Network
242
7.1.4 Computer Resources
243
7.1.5 Older Computers
245
7.1.6 Interacting with the Dashboard
246
7.2 Optimizations When Presenting to Others
247
7.2.1 Preloading Dashboards
247
7.2.2 Screen Sharing
248
7.2.3 Use of a Wireless Projector in a Hybrid Meeting
249
7.3 Best Practices
250
7.4 Summary
251
8 Optimized Dashboard Using Acquired Data
253
8.1 Scenario
253
8.2 Data Structure
257
8.2.1 Data Source
257
8.2.2 Building a Model in SAP Analytics Cloud
262
8.3 Dashboard Features
264
8.4 Building an Efficient Dashboard
265
8.4.1 Building the Dashboard Page 1 (Metrics)
265
8.4.2 Building the Dashboard Page 2 (Comparison)
274
8.4.3 Building the Dashboard Page 3 (Theaters)
276
8.5 Summary
280
9 Optimized Dashboard Using Live Data Connection
281
9.1 Live Data Connection Scenarios
281
9.1.1 Advantages and Disadvantages of a Live Data Connection
282
9.1.2 Scenario 1
282
9.1.3 Scenario 2
283
9.2 Data Structure
284
9.2.1 Creation of an SAP Business Warehouse Connection
284
9.2.2 Creation of an SAP HANA Connection
286
9.2.3 Creation of a Model
287
9.2.4 Scenario 1: Data Structure of an SAP Business Warehouse Connection
289
9.2.5 Scenario 2: Data Structure of an SAP HANA Connection
290
9.3 Dashboard Features
292
9.3.1 Scenario 1: SAP Business Warehouse Connection
294
9.3.2 Scenario 2: SAP HANA Connection
299
9.3.3 Other Live Connection-specific Features
301
9.3.4 Live Connection Limitations
302
9.4 Guidelines for Building an Efficient Dashboard
303
9.5 Summary
304
10 Optimized Dashboard Using the Analytics Designer
305
10.1 Scenario
306
10.2 Data Structure
308
10.2.1 Data Source
308
10.2.2 Building a Model in SAP Analytics Cloud
310
10.3 Dashboard Features
314
10.4 Building an Efficient Dashboard
315
10.4.1 Building the Dashboard Foundation
315
10.4.2 Building the Dashboard Page 1 (Overview Page)
325
10.4.3 Building the Dashboard Page 2 (by Food/Drink Page)
328
10.5 Summary
331
Appendices
333
A Further Reading
333
A.1 Chapter 1: Introduction
333
A.2 Chapter 2: Measuring, Testing, and Monitoring Performance
333
A.3 Chapter 3: Story Builder Performance
334
A.4 Chapter 4: Analytics Designer Performance
334
A.5 Chapter 5: Modeler Performance
334
A.6 Chapter 6: Optimizing Backend and Tenant Settings
334
A.7 Chapter 7: Viewer Choices
334
B The Authors
337
Index
339