Pro Power BI Architecture Sharing, Security, and Deployment Options for Microsof t Power BI Solutions — Reza Rad Pro Power BI Architecture Sharing, Security, and Deployment Options for Microsoft Power BI Solutions Reza Rad Pro Power BI Architecture Reza Rad Meadowbank, Auckland, New Zealand ISBN-13 (pbk): 978-1-4842-4014-4 ISBN-13 (electronic): 978-1-4842-4015-1 https://doi.org/10.1007/978-1-4842-4015-1 Library of Congress Control Number: 2018963592 Copyright © 2018 by Reza Rad 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 New York, 233 Spring Street, 6th Floor, New York, NY 10013. 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], or visit http://www.apress.com/ rights-permissions. 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/9781484240144. For more detailed information, please visit http://www.apress.com/source-code. Printed on acid-free paper To Leila For always being with me, encouragement, and motivation To my Mother For teaching me how to live To my Father For teaching me to work hard, and be courageous To You: my book reader For teaching me not to give up Table of Contents About the Author ����������������������������������������������������������������������������������������������������xix About the Technical Reviewers ������������������������������������������������������������������������������xxi Acknowledgments ������������������������������������������������������������������������������������������������xxiii Introduction �����������������������������������������������������������������������������������������������������������xxv Part I: Getting Started ����������������������������������������������������������������������������1 Chapter 1: Power BI Components �����������������������������������������������������������������������������3 What Is Power BI? �������������������������������������������������������������������������������������������������������������������������3 Power BI Desktop ��������������������������������������������������������������������������������������������������������������������������4 Power Query for Data Transformation �������������������������������������������������������������������������������������������6 DAX and Modeling �������������������������������������������������������������������������������������������������������������������������9 Power BI Service �������������������������������������������������������������������������������������������������������������������������10 Power BI Mobile App �������������������������������������������������������������������������������������������������������������������11 Power BI Report Server ���������������������������������������������������������������������������������������������������������������14 Gateway ��������������������������������������������������������������������������������������������������������������������������������������14 Developer API ������������������������������������������������������������������������������������������������������������������������������14 How the Components Work Together ������������������������������������������������������������������������������������������15 Chapter 2: Tools and Preparation ���������������������������������������������������������������������������17 Getting Power BI Desktop �����������������������������������������������������������������������������������������������������������17 Installing from Website ����������������������������������������������������������������������������������������������������������17 Power BI Desktop App �����������������������������������������������������������������������������������������������������������17 Setting Up Power BI Accounts�����������������������������������������������������������������������������������������������������19 Creating Power BI Accounts from Office 365 ������������������������������������������������������������������������22 Checking Whether Your Account Is Pro or Free ���������������������������������������������������������������������23 v Table of ConTenTs Installing the Power BI Mobile App ���������������������������������������������������������������������������������������������24 Downloading Dataset Files ���������������������������������������������������������������������������������������������������������25 Part II: Power BI Service ����������������������������������������������������������������������27 Chapter 3: Power BI Service Content ����������������������������������������������������������������������29 Publishing Reports from Power BI Desktop ��������������������������������������������������������������������������������29 Power BI Report ��������������������������������������������������������������������������������������������������������������������������34 Dataset ����������������������������������������������������������������������������������������������������������������������������������������36 Dashboard �����������������������������������������������������������������������������������������������������������������������������������40 Dashboard vs� Report ������������������������������������������������������������������������������������������������������������������43 Definitions �����������������������������������������������������������������������������������������������������������������������������44 Beyond the Definitions ����������������������������������������������������������������������������������������������������������44 Unique Features of a Power BI Report �����������������������������������������������������������������������������������47 Unique Features of a Power BI Dashboard ����������������������������������������������������������������������������51 Summary�������������������������������������������������������������������������������������������������������������������������������������57 Chapter 4: Gateway ������������������������������������������������������������������������������������������������59 What Is Gateway? �����������������������������������������������������������������������������������������������������������������������59 Types of Gateways ����������������������������������������������������������������������������������������������������������������������60 Personal Mode �����������������������������������������������������������������������������������������������������������������������61 Enterprise Mode (Recommended) �����������������������������������������������������������������������������������������62 Gateway Architecture ������������������������������������������������������������������������������������������������������������������62 Considerations Before Installing the Gateway �����������������������������������������������������������������������64 How Many Gateways Are Required? ��������������������������������������������������������������������������������������64 Installing Gateway �����������������������������������������������������������������������������������������������������������������������65 Adding Data Sources �������������������������������������������������������������������������������������������������������������������71 Connecting Through the Gateway �����������������������������������������������������������������������������������������������76 Troubleshooting ��������������������������������������������������������������������������������������������������������������������������78 Summary�������������������������������������������������������������������������������������������������������������������������������������79 vi Table of ConTenTs Chapter 5: Import Data or Scheduled Refresh ��������������������������������������������������������81 Connection Type Is Not Data Source Type �����������������������������������������������������������������������������������81 Importing Data ����������������������������������������������������������������������������������������������������������������������������82 How Power BI Stores Data into Memory �������������������������������������������������������������������������������������84 How xVelocity Compresses the Data �������������������������������������������������������������������������������������85 Where Data Is Stored in Memory �������������������������������������������������������������������������������������������87 Is There a Limitation on the Size? �����������������������������������������������������������������������������������������90 Combining Data Sources �������������������������������������������������������������������������������������������������������������90 Analytical Expression Language �������������������������������������������������������������������������������������������������93 Gateway Configuration ����������������������������������������������������������������������������������������������������������������95 Schedule Refresh ������������������������������������������������������������������������������������������������������������������������97 Advantages and Disadvantages of Import Data ��������������������������������������������������������������������������99 Summary�����������������������������������������������������������������������������������������������������������������������������������100 Chapter 6: DirectQuery �����������������������������������������������������������������������������������������101 What Is DirectQuery? ����������������������������������������������������������������������������������������������������������������101 Which Data Sources Support DirectQuery? ������������������������������������������������������������������������������102 How to Use DirectQuery ������������������������������������������������������������������������������������������������������������103 No Data Tab in DirectQuery Mode ���������������������������������������������������������������������������������������������106 How DirectQuery Works ������������������������������������������������������������������������������������������������������������107 Performance �����������������������������������������������������������������������������������������������������������������������������110 Query Reduction �����������������������������������������������������������������������������������������������������������������������112 Single Data Source �������������������������������������������������������������������������������������������������������������������114 Limited Power Query �����������������������������������������������������������������������������������������������������������������115 Limited Modeling ����������������������������������������������������������������������������������������������������������������������116 DAX Limitations �������������������������������������������������������������������������������������������������������������������������117 No Refresh Needed �������������������������������������������������������������������������������������������������������������������119 Large Scale Dataset ������������������������������������������������������������������������������������������������������������������119 Summary�����������������������������������������������������������������������������������������������������������������������������������120 vii Table of ConTenTs Chapter 7: Live Connection �����������������������������������������������������������������������������������123 What Is Live Connection? ����������������������������������������������������������������������������������������������������������123 Creating a Report with Live Connection ������������������������������������������������������������������������������������124 How Live Connection Works ������������������������������������������������������������������������������������������������������127 Performance �����������������������������������������������������������������������������������������������������������������������������129 No Power Query ������������������������������������������������������������������������������������������������������������������������129 Modeling and Report Level Measures ���������������������������������������������������������������������������������������131 Publishing and Gateway Configuration �������������������������������������������������������������������������������������133 Create Data Source ��������������������������������������������������������������������������������������������������������������133 Effective User Names ����������������������������������������������������������������������������������������������������������137 UPN Mapping �����������������������������������������������������������������������������������������������������������������������137 Live Connection to Power BI Service ����������������������������������������������������������������������������������������140 Live Connection versus DirectQuery �����������������������������������������������������������������������������������������143 Summary�����������������������������������������������������������������������������������������������������������������������������������144 Chapter 8: Choosing the Right Connection Type ���������������������������������������������������145 The Decision Is Difficult ������������������������������������������������������������������������������������������������������������145 What Is Import Data? ����������������������������������������������������������������������������������������������������������������146 Compression Engine of xVelocity ����������������������������������������������������������������������������������������147 Pros and Cons of Import Data ����������������������������������������������������������������������������������������������147 What Is DirectQuery? ����������������������������������������������������������������������������������������������������������������148 Important Pros and Cons of DirectQuery �����������������������������������������������������������������������������149 What Is Live Connection? ����������������������������������������������������������������������������������������������������������151 Important Pros and Cons of Live Connections ���������������������������������������������������������������������152 Pros and Cons of Each Method �������������������������������������������������������������������������������������������������154 Which Method Performs Fastest? ���������������������������������������������������������������������������������������������156 Which Method Is More Flexible? �����������������������������������������������������������������������������������������������156 Which Method Is More Scalable? ����������������������������������������������������������������������������������������������156 Architecture Scenarios ��������������������������������������������������������������������������������������������������������������156 Import Data for Agility and Performance �����������������������������������������������������������������������������157 Live Connection for Enterprise Solution ������������������������������������������������������������������������������157 viii Table of ConTenTs Direct Query for Non-Microsoft Sources �����������������������������������������������������������������������������158 What Is the Gateway Role? ��������������������������������������������������������������������������������������������������159 Summary�����������������������������������������������������������������������������������������������������������������������������������159 Part III: Sharing ���������������������������������������������������������������������������������161 Chapter 9: Dashboard and Report Sharing �����������������������������������������������������������163 Power BI Content Owner �����������������������������������������������������������������������������������������������������������163 How Does Dashboard Sharing Work? ���������������������������������������������������������������������������������������164 Two Levels of Access ����������������������������������������������������������������������������������������������������������������166 Manage Permissions �����������������������������������������������������������������������������������������������������������������167 Licensing Part Sharing ��������������������������������������������������������������������������������������������������������������172 Advantages of Dashboard Sharing ��������������������������������������������������������������������������������������������172 Disadvantages of Dashboard Sharing ���������������������������������������������������������������������������������������173 No Edit Access ���������������������������������������������������������������������������������������������������������������������173 Share Objects One at a Time �����������������������������������������������������������������������������������������������173 Summary�����������������������������������������������������������������������������������������������������������������������������������173 Chapter 10: Workspaces as a Collaborative Environment ������������������������������������175 What Is a Workspace? ���������������������������������������������������������������������������������������������������������������175 How to Create Workspaces �������������������������������������������������������������������������������������������������������177 How to Add Content to a Workspace �����������������������������������������������������������������������������������������179 Two Levels of Access ����������������������������������������������������������������������������������������������������������������181 Advantages of Workspaces �������������������������������������������������������������������������������������������������������181 Sharing Multiple Contents with Team ����������������������������������������������������������������������������������182 Multiple Workspaces �����������������������������������������������������������������������������������������������������������182 Isolated User/Group Administration �������������������������������������������������������������������������������������182 Best Developer Environment �����������������������������������������������������������������������������������������������182 Disadvantages of Workspaces ��������������������������������������������������������������������������������������������������183 Office 365 Synchronization �������������������������������������������������������������������������������������������������������183 Power BI Pro �����������������������������������������������������������������������������������������������������������������������������186 Summary�����������������������������������������������������������������������������������������������������������������������������������186 ix Table of ConTenTs Chapter 11: Power BI Apps �����������������������������������������������������������������������������������187 Power BI Apps ���������������������������������������������������������������������������������������������������������������������������187 App Workspace �������������������������������������������������������������������������������������������������������������������������188 Publish Content to App ��������������������������������������������������������������������������������������������������������������190 Publish App �������������������������������������������������������������������������������������������������������������������������������191 Getting an App ���������������������������������������������������������������������������������������������������������������������������195 Changes in the App ��������������������������������������������������������������������������������������������������������������197 Isolated Environments for Developers and Users ���������������������������������������������������������������������197 What About Data Refresh? ��������������������������������������������������������������������������������������������������������201 Pros and Cons of Power BI Apps �����������������������������������������������������������������������������������������������201 Summary�����������������������������������������������������������������������������������������������������������������������������������203 Chapter 12: Publish to Web ����������������������������������������������������������������������������������205 What Is Publish to Web?������������������������������������������������������������������������������������������������������������205 How to Do It?�����������������������������������������������������������������������������������������������������������������������������206 Security Thoughts? �������������������������������������������������������������������������������������������������������������������209 What You Share Is for Everyone! �����������������������������������������������������������������������������������������209 Users Can Share It with Others! ������������������������������������������������������������������������������������������209 All Report Pages Are Visible �������������������������������������������������������������������������������������������������210 Link or Embed Code Is Synchronized with the Report ���������������������������������������������������������211 Removing the Access Is Easy! ���������������������������������������������������������������������������������������������211 Central Monitoring for all Embed Codes ������������������������������������������������������������������������������213 Differences from Other Sharing Methods ���������������������������������������������������������������������������������214 You Share a Dashboard, Not a Report ���������������������������������������������������������������������������������214 Only Those Who Have Access to the Dashboard Will See the Content���������������������������������215 Dashboard Link Works Only for Authorized Users ���������������������������������������������������������������216 Power BI Workspace or App Is for Authorized Group of Users Inside or Outside of Your Organization, Not for Everyone! �������������������������������������������������������������������������������������������217 Public Access or Organizational Sharing �����������������������������������������������������������������������������218 Power BI Embedded Is Different from Publish to Web ���������������������������������������������������������219 Summary�����������������������������������������������������������������������������������������������������������������������������������219 x