Pro Power BI Theme Creation JSON Stylesheets for Automated Dashboard Formatting — Adam Aspin Pro Power BI Theme Creation JSON Stylesheets for Automated Dashboard Formatting Adam Aspin Pro Power BI Theme Creation: JSON Stylesheets for Automated Dashboard Formatting Adam Aspin STAFFORD, UK ISBN-13 (pbk): 978-1-4842-7067-7 ISBN-13 (electronic): 978-1-4842-7068-4 https://doi.org/10.1007/978-1-4842-7068-4 Copyright © 2021 by Adam Aspin This work is subject to copyright. All rights are reserved 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. While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made. The publisher makes no warranty, express or implied, with respect to the material contained herein. Managing Director, Apress Media LLC: Welmoed Spahr Acquisitions Editor: Jonathan Gennick Development Editor: Laura Berendson Coordinating Editor: Jill Balzano Cover image designed by Freepik (www.freepik.com) Distributed to the book trade worldwide by Springer Science+Business Media LLC, 1 New York Plaza, Suite 4600, New York, NY 10004. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail orders-ny@springer-sbm. com, or visit www.springeronline.com. Apress Media, LLC is a California LLC and the sole member (owner) is Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation. For information on translations, please e-mail [email protected]; for reprint, paperback, or audio rights, please e-mail [email protected]. Apress titles may be purchased in bulk for academic, corporate, or promotional use. eBook versions and licenses are also available for most titles. For more information, reference our Print and eBook Bulk Sales web page at http://www.apress.com/bulk-sales. Any source code or other supplementary material referenced by the author in this book is available to readers on GitHub via the book’s product page, located at www.apress.com/9781484270677. For more detailed information, please visit http://www.apress.com/source- code. Printed on acid-free paper To Karine and Timothy. Table of Contents About the Author �����������������������������������������������������������������������������������������������������ix About the Technical Reviewer ���������������������������������������������������������������������������������xi Acknowledgments �������������������������������������������������������������������������������������������������xiii Introduction �������������������������������������������������������������������������������������������������������������xv Chapter 1: Introduction to Power BI Themes ������������������������������������������������������������1 Theme Basics ��������������������������������������������������������������������������������������������������������������������������������2 Anatomy of a Theme ���������������������������������������������������������������������������������������������������������������������3 Themes and the Format Pane �������������������������������������������������������������������������������������������������������3 Writing JSON Files ������������������������������������������������������������������������������������������������������������������������6 Applying Themes ���������������������������������������������������������������������������������������������������������������������������6 Conclusion ������������������������������������������������������������������������������������������������������������������������������������9 Chapter 2: Create and Customize a Theme in Power BI Desktop ���������������������������11 Creating a Simple Theme ������������������������������������������������������������������������������������������������������������12 Name and Color Settings ������������������������������������������������������������������������������������������������������������15 Text Settings �������������������������������������������������������������������������������������������������������������������������������18 Visual Settings ����������������������������������������������������������������������������������������������������������������������������23 Page Settings ������������������������������������������������������������������������������������������������������������������������������27 Filter Pane Settings ���������������������������������������������������������������������������������������������������������������������29 Overall Comments on Interactive Theme File Creation ���������������������������������������������������������������33 About the Theme File ������������������������������������������������������������������������������������������������������������������33 Conclusion ����������������������������������������������������������������������������������������������������������������������������������41 v Table of ConTenTs Chapter 3: High-Level Theme Definition �����������������������������������������������������������������43 What Is JSON? ����������������������������������������������������������������������������������������������������������������������������44 Palette Colors ������������������������������������������������������������������������������������������������������������������������������45 The JSON Object ��������������������������������������������������������������������������������������������������������������������47 Attributes Defined by the Theme File ������������������������������������������������������������������������������������47 A JSON Array �������������������������������������������������������������������������������������������������������������������������48 Colors in a JSON Theme File �������������������������������������������������������������������������������������������������������49 Generic Colors (Color Classes) ����������������������������������������������������������������������������������������������������50 Generic Text Attributes (Text Classes) �����������������������������������������������������������������������������������������52 Conclusion ����������������������������������������������������������������������������������������������������������������������������������59 Chapter 4: Default Visual Styles �����������������������������������������������������������������������������61 Common Visual Elements������������������������������������������������������������������������������������������������������������62 JSON Attribute Definition ������������������������������������������������������������������������������������������������������������68 JSON Keywords���������������������������������������������������������������������������������������������������������������������������68 The JSON Hierarchy in Theme Files ��������������������������������������������������������������������������������������������69 Elements Common to Most Chart Types �������������������������������������������������������������������������������������70 Extending Generic Formatting for Specific Chart Types ��������������������������������������������������������������73 Table Elements ����������������������������������������������������������������������������������������������������������������������������74 Final Comments ��������������������������������������������������������������������������������������������������������������������������76 Hints on Writing JSON Theme Files ���������������������������������������������������������������������������������������������84 Conclusion ����������������������������������������������������������������������������������������������������������������������������������85 Chapter 5: Object Visual Styles ������������������������������������������������������������������������������87 Textbox ����������������������������������������������������������������������������������������������������������������������������������������88 Image ������������������������������������������������������������������������������������������������������������������������������������������96 Shape ������������������������������������������������������������������������������������������������������������������������������������������98 Conclusion ��������������������������������������������������������������������������������������������������������������������������������101 vi Table of ConTenTs Chapter 6: Card and Table Visual Styles ���������������������������������������������������������������103 Card �������������������������������������������������������������������������������������������������������������������������������������������103 Multi-row Card ��������������������������������������������������������������������������������������������������������������������������107 Table������������������������������������������������������������������������������������������������������������������������������������������111 Matrix ����������������������������������������������������������������������������������������������������������������������������������������117 Conclusion ��������������������������������������������������������������������������������������������������������������������������������123 Chapter 7: Classic Chart Visual Styles������������������������������������������������������������������125 Stacked Bar Chart ���������������������������������������������������������������������������������������������������������������������126 Stacked Column Chart ��������������������������������������������������������������������������������������������������������������137 Clustered Bar Chart �������������������������������������������������������������������������������������������������������������������142 Clustered Column Chart ������������������������������������������������������������������������������������������������������������145 Line Chart ����������������������������������������������������������������������������������������������������������������������������������149 Area Chart ���������������������������������������������������������������������������������������������������������������������������������159 Conclusion ��������������������������������������������������������������������������������������������������������������������������������164 Chapter 8: Complex Chart Visual Styles ���������������������������������������������������������������165 100 % Stacked Bar Chart ����������������������������������������������������������������������������������������������������������165 100 % Stacked Column Chart ���������������������������������������������������������������������������������������������������169 Stacked Area Chart �������������������������������������������������������������������������������������������������������������������173 Line and Stacked Column Chart ������������������������������������������������������������������������������������������������177 Line and Clustered Column Chart ���������������������������������������������������������������������������������������������184 Scatter Chart �����������������������������������������������������������������������������������������������������������������������������189 Conclusion ��������������������������������������������������������������������������������������������������������������������������������194 Chapter 9: Other Chart Visual Styles ��������������������������������������������������������������������195 Pie Chart �����������������������������������������������������������������������������������������������������������������������������������195 Donut Chart �������������������������������������������������������������������������������������������������������������������������������199 Treemap ������������������������������������������������������������������������������������������������������������������������������������201 Waterfall Chart ��������������������������������������������������������������������������������������������������������������������������204 Funnel Chart ������������������������������������������������������������������������������������������������������������������������������211 vii Table of ConTenTs Ribbon Chart �����������������������������������������������������������������������������������������������������������������������������215 Conclusion ��������������������������������������������������������������������������������������������������������������������������������220 Chapter 10: Maps �������������������������������������������������������������������������������������������������221 Map �������������������������������������������������������������������������������������������������������������������������������������������221 Filled Map ���������������������������������������������������������������������������������������������������������������������������������226 Shape Map ��������������������������������������������������������������������������������������������������������������������������������228 Conclusion ��������������������������������������������������������������������������������������������������������������������������������231 Chapter 11: Miscellaneous Visual Styles ��������������������������������������������������������������233 Gauge ����������������������������������������������������������������������������������������������������������������������������������������233 Python Visual �����������������������������������������������������������������������������������������������������������������������������237 R Script Visual ���������������������������������������������������������������������������������������������������������������������������239 Key Influencers Visual ���������������������������������������������������������������������������������������������������������������241 Decomposition Tree Visual ��������������������������������������������������������������������������������������������������������244 KPI ���������������������������������������������������������������������������������������������������������������������������������������������251 Conclusion ��������������������������������������������������������������������������������������������������������������������������������256 Chapter 12: Dashboard Styling �����������������������������������������������������������������������������257 Action Button ����������������������������������������������������������������������������������������������������������������������������257 Slicer �����������������������������������������������������������������������������������������������������������������������������������������266 Filter Pane ���������������������������������������������������������������������������������������������������������������������������������271 Page Formatting������������������������������������������������������������������������������������������������������������������������275 Adding Notes to Theme Files ����������������������������������������������������������������������������������������������������278 Analyze the Contents of Power BI Desktop Files ����������������������������������������������������������������������279 Conclusion ��������������������������������������������������������������������������������������������������������������������������������281 Chapter 13: Cascading Styles �������������������������������������������������������������������������������283 Style Hierarchy ��������������������������������������������������������������������������������������������������������������������������283 Putting It All Together ����������������������������������������������������������������������������������������������������������������289 Applying Cascading Palette Colors �������������������������������������������������������������������������������������������289 Conclusion ��������������������������������������������������������������������������������������������������������������������������������295 Index ���������������������������������������������������������������������������������������������������������������������297 viii About the Author Adam Aspin is an independent business intelligence consultant based in the United Kingdom. He has worked with SQL Server for over 25 years and now focuses on the Power BI ecosystem. During this time, he has developed several dozen BI and analytics systems based on the Microsoft BI product suite. Adam has been creating JSON theme files since the feature was first introduced in Power BI Desktop and has delivered corporate Power BI themes for dozens of clients across Europe. Adam is a graduate of Oxford University. He has applied his skills for a range of clients in finance, banking, utilities, telecoms, construction, and retail. He is the author of SQL Server 2012 Data Integration Recipes; Business Intelligence with SQL Server Reporting Services; High Impact Data Visualization in Excel with Power View, 3D Maps, Get & Transform and Power BI; Pro Power BI Desktop; and Data Mashup with Microsoft Excel Using Power Query and M. ix About the Technical Reviewer Natalie Jayne Heger is a business intelligence developer/ consultant based in the West Midlands of England. She has worked in the IT industry for over 20 years. She started professional development using VB6 and Microsoft Access in the late 1990s until discovering SQL Server was a far more robust database solution and worked with DTS/SSIS, SSRS, and SSAS for many years for a broad range of companies. She now works in the construction industry developing solutions with Power BI and enjoys thinking outside the box in producing quality reporting solutions, particularly in relation to D365 integration. xi