Generated by All in One SEO v4.9.7.2, this is an llms.txt file, used by LLMs to index the site. # Data Savvy My experiences and education in data modeling, integration, transformation, analysis, and visualization ## Sitemaps - [XML Sitemap](https://datasavvy.me/sitemap.xml): Contains all public & indexable URLs for this website. ## Posts - [Crawl, Walk, Run with Agentic Development of Power BI Assets](https://datasavvy.me/2026/06/22/crawl-walk-run-with-agentic-development-of-power-bi-assets/) - If you’ve been watching AI roll through the data community and thinking, “this seems useful, but I have no idea where to start,” this post is for you. - [T-SQL Tuesday #198 Roundup: How Do You Detect Data Changes?](https://datasavvy.me/2026/05/18/t-sql-tuesday-198-roundup-how-do-you-detect-data-changes/) - Thank you to everyone who participated in T-SQL Tuesday #198 on change detection. Here's a summary of each contribution. - [T-SQL Tuesday #198 Invitation: How Do You Detect Data Changes?](https://datasavvy.me/2026/05/04/t-sql-tuesday-198-invitation-how-do-you-detect-data-changes/) - It's time for T-SQL Tuesday #198! This month's topic is change detection. - [Programmatically Retrieving MLV Lineage and Refresh Times](https://datasavvy.me/2026/04/30/programmatically-retrieving-mlv-lineage-and-refresh-times/) - Learn how to programmatically retrieve lineage and refresh timestamps for materialized lake views in a Microsoft Fabric lakehouse and visualize staleness in a notebook. - [Monitoring Fabric Mirroring for SQL 2025](https://datasavvy.me/2026/03/24/monitoring-fabric-mirroring-for-sql-2025/) - In this blog post, we will look at how to monitor this process, both in SQL Server and in Fabric. - [How Fabric Mirroring Transformed with SQL Server 2025](https://datasavvy.me/2026/03/11/how-fabric-mirroring-transformed-with-sql-server-2025/) - When mirroring was first released for Azure SQL Database, it used Change Data Capture (CDC). That is still what is used to mirror SQL Server 2016 – 2022. SQL Server 2025 has a much better solution: the change feed. - [Data Viz in Fabric Notebooks](https://datasavvy.me/2025/11/23/data-viz-in-fabric-notebooks/) - Lots of people have created Power BI reports, using interactive data visualizations to explore and communicate data. When Power BI was first created, it was used in situations that weren't ideal because that was all we had as far as cloud-based tools in the Microsoft data stack. Now, in addition to interactive reports, we have - [Modify Power BI page visibility and active status with Semantic Link Labs](https://datasavvy.me/2025/09/09/modify-power-bi-page-visibility-and-active-status-with-semantic-link-labs/) - Setting page visibility and the active page are often overlooked last steps when publishing a Power BI report. It's easy to forget the active page since it's just set to whatever page was open when you last saved the report. But we don't have to settle for manually checking these things before we deploy to - [Check Power BI Bookmarks with Semantic Link Labs](https://datasavvy.me/2025/11/05/check-power-bi-bookmarks-with-semantic-link-labs/) - Have you ever added a visual to a Power BI report page and published the updated report only to realize you forgot to adjust a related bookmark? It's very easy to do. The Power BI user interface doesn't allow you to determine which visuals are included in a bookmark that includes only selected visuals. And - [Check Power BI report interactions with Semantic Link Labs](https://datasavvy.me/2025/10/31/check-power-bi-report-interactions-with-semantic-link-labs/) - It can be tedious to check what visual interactions have been configured in a Power BI report. If you have a lot of bookmarks, this becomes even more important. If you do this manually, you have to turn on Edit Interactions and select each visual to see what interactions it is emitting to the other - [9 questions to ask before adding generative AI to your data project](https://datasavvy.me/2025/07/22/9-questions-to-ask-before-adding-generative-ai-to-your-data-project/) - Will adding generative AI to your data project improve the outcomes? It might, but it's not guaranteed. It can be harmful and costly to add generative AI in the wrong contexts. But there is also great potential to create opportunities and efficiencies that may not be achieved without AI. To help you determine if your - [Get Power BI Report Viewing History using Semantic Link Labs](https://datasavvy.me/2025/06/16/get-power-bi-report-viewing-history-using-semantic-link-labs/) - Lately I have been building scripts to help clients audit their Fabric environment. This is a quick job for a Fabric notebook and the Semantic Link Labs library - [Invoking Another Pipeline in Microsoft Fabric](https://datasavvy.me/2025/06/03/invoking-another-pipeline-in-microsoft-fabric/) - At the moment there are two activities in Fabric pipelines that allow you to execute a "child" pipeline. They are both named "Invoke Pipeline" but are differentiated by the labels "Legacy" and "Preview" in parentheses. With either activity, you choose the pipeline you want to execute and whether or not to wait until the pipeline - [New Blog Host - Bear With Me](https://datasavvy.me/2025/05/19/new-blog-host-bear-with-me/) - This is just a note to say that I have switched my blog host from WordPress.com to Hostinger. There were a few reasons why I wanted to do this: I could not embed Power BI reports in my blog posts on WordPress.com without switching to a very expensive hosting plan. I saved money. I could - [CDOT Bar Chart Makeover](https://datasavvy.me/2021/08/19/cdot-bar-chart-makeover/) - As I was browsing Twitter today, I noticed a tweet from the Colorado Department of Transportation about their anti-DUI campaign. Shown below, it contains a bar chart that appears to have been presented in PowerPoint. There are some easy opportunities to improve the readability of this chart, so I thought I would use it as - [Initial Thoughts on Dremio](https://datasavvy.me/2021/03/18/initial-thoughts-on-dremio/) - I've been working on a project for the last few months with a client who has chosen to implement Dremio in Azure. Dremio is a data lake engine that creates a semantic layer and supports interactive queries. It uses Apache Arrow, Gandiva, and Parquet files under the hood. It runs on either Linux VMs or - [DAX Logic and Blanks](https://datasavvy.me/2020/10/29/dax-logic-and-blanks/) - A while back I was chatting with Shannon Lindsay on Twitter. She shares lots of useful Power BI tips there. She shared her syntax tip of the & operator being used for concatenation and the && operator being used for boolean AND, which reminded me about implicit conversions and blanks in DAX. Before you read - [Data Visualization, Context, and Domain Expertise](https://datasavvy.me/2020/06/04/data-visualization-context-and-domain-expertise/) - I recently posted a graph to twitter and asked people to explain it. Let's look at the graph. The graph is from Fitbit. It shows the number of steps I took each day between April 1 and May 23. We can see that I had a very low number of daily steps between April 1 - [I Presented with Live Captioning and Sign Language Interpreters](https://datasavvy.me/2020/02/13/i-presented-with-live-captioning-and-sign-language-interpreters/) - I had the pleasure of presenting a full-day pre-conference session on the Friday before SQLSaturday Austin-BI last weekend. I could spend paragraphs telling you how enjoyable and friendly and inclusive the event was. But I'd like to focus on one really cool aspect of my speaking experience: I had both live captioning and sign language - [I'm Speaking at Microsoft Ignite 2019](https://datasavvy.me/2019/10/09/im-speaking-at-microsoft-ignite-2019/) - I'm happy to be speaking at Microsoft Ignite this year. I have an unconference session and a regular session, both focused on accessibility in the Power Platform. The regular session, Techniques for accessible report design in Microsoft Power BI, will be Wednesday, November 6 at 2:15pm. In this session I'll discuss the features available in - [Power BI for Communication and Marketing](https://datasavvy.me/2019/09/26/power-bi-for-communication-and-marketing/) - We often focus on deep analysis and insights generated by machine learning when we talk about Power BI these days because it's super cool and very fancy. But I think it's important to remember that you can also use Power BI for simple communication of data. As humans, we are hard wired to process visual - [Tips for More Accessible Presentations](https://datasavvy.me/2019/09/05/tips-for-more-accessible-presentations/) - I'm busy building presentations for some upcoming conferences, so here are some tips I also posted on Twitter about making your presentations more accessible. All but one of these tips are applicable regardless of the software that you use to build presentation content. Some reminders about accessible design and making sure your audience can read - [New Centralized View of SQL Resources in Azure](https://datasavvy.me/2019/08/22/new-centralized-view-of-sql-resources-in-azure/) - Yesterday some new views were made available in the Azure portal that will be helpful to those of us who create or manage Azure SQL resources. First, a new guided approach to creating resources has been added to the Azure portal. We now have a unified experience to create Azure SQL resources that offers guidance - [What You Need to Know About Data Classifications in Azure SQL Data Warehouse](https://datasavvy.me/2019/05/30/what-you-need-to-know-about-data-classifications-in-azure-sql-data-warehouse/) - Data classifications in Azure SQL DW entered public preview in March 2019. They allow you to label columns in your data warehouse with their information type and sensitivity level. There are built-in classifications, but you can also add custom classifications. This could be an important feature for auditing your storage and use of sensitive data - [Storytelling Without Data?](https://datasavvy.me/2019/04/11/storytelling-without-data/) - There are many great resources out there for data visualization. Some of my favorite data viz people are Storytelling With Data (b|t), Alberto Cairo (b|t), and Andy Kirk (b|t). I often reference their work when I present on data visualization in the context of the Microsoft Data Platform. Their work has helped me choose the - [Violin Plots in Power BI](https://datasavvy.me/2019/02/14/violin-plots-in-power-bi/) - In case you aren't familiar, I would like to introduce you to the violin plot. A violin plot is a nifty chart that shows both distribution and density of data. It's essentially a box plot with a density plot on each side. Box plots are a common way to show variation in data, but their - [Quick Programming Note: New Job!](https://datasavvy.me/2019/02/05/quick-programming-note-new-job/) - I started this blog in 2013 during my first consulting job. In 2014, I joined BlueGranite, which is where I have been for the last 4 years. The knowledge gained while working with them has been the inspiration for a lot of the content on this blog. It has truly been a pleasure to work - [Tab Order Enhances Power BI Report Accessibility](https://datasavvy.me/2018/12/26/tab-order-enhances-power-bi-report-accessibility/) - Like a diamond in the sky.How I wonder what you are!Twinkle, twinkle, little star,Twinkle, twinkle, little star,Up above the world so high,How I wonder what you are! You were probably expecting a different order. Order is an important element when singing a song or telling a story or explaining information. In western cultures we tend - [Data Factory V2 Activity Dependencies are a Logical AND](https://datasavvy.me/2018/10/02/data-factory-v2-activity-dependencies-are-a-logical-and/) - Azure Data Factory V2 allows developers to branch and chain activities together in a pipeline. We define dependencies between activities as well as their their dependency conditions. Dependency conditions can be succeeded, failed, skipped, or completed. This sounds similar to SSIS precedence constraints, but there are a couple of big differences. SSIS allows us to define - [Dear Conferences, Please Stop Making Inaccessible Presentation Templates](https://datasavvy.me/2018/08/10/dear-conferences-please-stop-making-inaccessible-presentation-templates/) - It's hard to please everyone, especially when everyone means several dozen speakers and thousands of audience members at a tech conference. And especially when it comes to presentations to an international audience. So I get that it can be difficult to make a presentation template that stays on brand and promotes the best presentation of - [Considerations for Using Layout Images in Power BI](https://datasavvy.me/2018/07/27/considerations-for-using-layout-images-in-power-bi/) - Using layout images in Power BI has become a popular design trend. When I say layout images, I'm referring to background images with shapes around areas where visuals are placed. This is different from the new wallpaper feature that became available in the July release, which can be used to format the grey area outside - [Design Concepts To Help You Create Better Power BI Reports](https://datasavvy.me/2017/11/27/design-concepts-to-help-you-create-better-power-bi-reports/) - I have decided to write a series of blog posts about visual design concepts that can have a big impact on your Power BI Reports. These concepts are applicable to other reporting technologies, but I'll use examples and applications in Power BI. Our first design concept is cognitive load, which comes from cognitive psychology and - [Biml for a Task Factory Dynamics CRM Source Component](https://datasavvy.me/2017/11/22/biml-for-a-task-factory-dynamics-crm-source-component/) - I recently worked on a project where a client wanted to use Biml to create SSIS packages to stage data from Dynamics 365 CRM. My first attempt using a script component had an error, which I think is related to a bug in the Biml engine with how it currently generates script components, so I - [My Thoughts After Completing a Power BI Report Server POC](https://datasavvy.me/2017/09/18/my-thoughts-after-completing-a-power-bi-report-server-poc/) - Last month I worked on a proof of concept testing Power BI Report Server for self-service BI. The client determined Power BI Report Server would work for them and considered the POC to be successful. Here are the highlights and lessons learned during the project, in which we used the June 2017 version of Power - [Azure Data Factory and the Case of the Missing JRE That Wasn't](https://datasavvy.me/2017/05/01/azure-data-factory-and-the-case-of-the-missing-jre-that-wasnt/) - Note: This post was written about Azure Data Factory V1, but is also applicable to V2.On a recent project I used Azure Data Factory (ADF) to retrieve data from an on premises SQL Server 2014 instance and land them in Azure Data Lake Store (ADLS) as ORC files. This required the use of the Data Management - [I Like to Move It, Move It - But Azure Data Factory Doesn't](https://datasavvy.me/2017/04/11/i-like-to-move-it-move-it-but-azure-data-factory-doesnt/) - Note: This post is about Azure Data Factory V1I've spent the last couple of months working on a project that includes Azure Data Factory and Azure Data Warehouse. ADF has some nice capabilities for file management that never made it into SSIS such as zip/unzip files and copy from/to SFTP. But it also has some gaps - [Copying data from On Prem SQL to ADLS with ADF and Biml – Part 2](https://datasavvy.me/2017/03/10/copying-data-from-on-prem-sql-to-adls-with-adf-and-biml-part-2/) - Note: This post is about Azure Data Factory V1I showed in my previous post how we generated the datasets for our Azure Data Factory pipelines. In this post, I'll show the BimlScript for our pipelines. Pipelines define the activities, identify the input and output datasets for those activities, and set an execution schedule. We were creating - [Copying data from On Prem SQL to ADLS with ADF and Biml - Part 1](https://datasavvy.me/2017/03/03/copying-data-from-on-prem-sql-to-adls-with-adf-and-biml-part-1/) - Note: This post is about Azure Data Factory V1Apologies for the overly acronym-laden title as I was trying to keep it concise but descriptive. And we all know that adding technologies to your repertoire means adding more acronyms. My coworker Levi and I are working on a project where we copy data from an on-premises SQL - [Please Lend Me Your Vote for Documentation of TMSCHEMA DMVs](https://datasavvy.me/2016/11/07/please-lend-me-your-vote-for-documentation-of-tmschema-dmvs/) - I spent a good bit of time looking for the definitions/descriptions of the TMSCHEMA DMVs that allow us to view metadata and monitor the health of SSAS 2016 tabular models. As far as I can tell there are no details about them on any Microsoft site. Many of the columns are obvious, but there are - [Documenting your Tabular or Power BI Model](https://datasavvy.me/2016/10/04/documenting-your-tabular-or-power-bi-model/) - If you were used to documenting your SSAS model using the MDSchema rowsets, you might have noticed that some of them do not work with the new tabular models. For example, the MDSCHEMA_MEASUREGROUP_DIMENSIONS DMV seems to just return one row per table rather than a list of the relationships between tables. Not to worry, though. With the - [DAX Date Dimension and Fun with Date Math](https://datasavvy.me/2016/09/03/dax-date-dimension-and-fun-with-date-math/) - I was working on a SSAS Tabular 2016 solution for a project for which I had no data (an empty data model, but no data). I was not in control of the source data warehouse, so I couldn't change what I had, but I needed to get started. So I went about creating a date - [Create a Date Dimension in Azure SQL Data Warehouse](https://datasavvy.me/2016/08/06/create-a-date-dimension-in-azure-sql-data-warehouse/) - Most data warehouses and data marts require a date dimension or calendar table. Those of us that have been building data warehouses in SQL Server for a while have collected our favorite scripts to build out a date dimension. For a standard date dimension, I am a fan of Aaron Bertrand's script posted on MSSQLTips.com. But - [BimlScript - Get to Know Your Code Nuggets](https://datasavvy.me/2016/06/29/bimlscript-get-to-know-your-code-nuggets/) - In BimlScript, we embed nuggets of C# or VB code into our Biml (XML) in order to replace variables and automate the creation of our BI artifacts (databases, tables, SSIS packages, SSAS cubes, etc.). Code nuggets are a major ingredient in the magic sauce that is meta-data driven SSIS development using BimlScript. There are 5 different - [BimlScript - Get to Know Your Control Nuggets](https://datasavvy.me/2016/06/30/bimlscript-get-to-know-your-control-nuggets/) - This is post #2 of my BimlScript - Get to Know Your Code Nuggets series. To learn about text nuggets, see my first post. The next type of BimlScript code nugget I'd like to discuss is the control nugget. Control nuggets allow you to insert control logic to determine what Biml is generated and used - [KCStat Chart Makeover](https://datasavvy.me/2015/12/10/kcstat-chart-makeover/) - I live in Kansas City, and I like to be aware of local events and government affairs. KC has a program called KCStat, which monitors the city's progress toward its 5-year city-wide business plan. As part of this program, the Mayor and City Manager moderate a KCStat meeting each month, and the conversation and data are - [Power BI Updates: Gotta Catch Em All!](https://datasavvy.me/2015/11/13/power-bi-updates-gotta-catch-em-all/) - Things are once again exciting in Microsoft BI. SQL Server 2016 CTPs are available, and Microsoft is promising even more goodness to come as 2016 nears GA. In addition, Power BI has expanded over the last year and is constantly releasing new features. The Power BI team does a good job blogging about new updates. - [I'm speaking at SQL Saturday #190 in Denver](https://datasavvy.me/2013/08/16/im-speaking-at-sql-saturday-190-in-denver/) - I'm looking forward to speaking at SQL Saturday #190 in Denver, Colorado. This will be my 6th SQL Saturday at which I have spoken. It's becoming a habit! The title of my session is The Accidental Report Designer: Data Visualization Best Practices in SSRS. Here is the description of my session: Whether you are a - [I'm speaking at SQL Saturday #197](https://datasavvy.me/2013/03/24/im-speaking-at-sql-saturday-197/) - I'm excited to be speaking at SQL Saturday #197 in Omaha on April 6, 2013. If you are in the Omaha area (or can get there), I would love for you to attend. SQL Saturdays are a great opportunity for free training on my favorite technologies. I'm fairly new to speaking at SQL Saturdays (this - [Join me at the Microsoft Fabric Community Conference with a discount code](https://datasavvy.me/2025/02/20/join-me-at-the-microsoft-fabric-community-conference-with-a-discount-code/) - I'm excited to be speaking at the Microsoft Fabric Community Conference this year, which takes place March 31 through April 2 in Las Vegas, Nevada. I will be co-presenting 2 sessions with Kerry Kolosko and Shannon Lindsay as well as participating in some other data viz fun. You can find session descriptions below. The lineup - [The trade-offs associated with low-code solutions](https://datasavvy.me/2025/03/24/the-trade-offs-associated-with-low-code-solutions/) - Low-code solutions often accelerate development and make tasks accessible to people who can't or don't want to write their own code. But it's important to remember that it's a trade-off. You are often trading decreased development and maintenance time for limited configuration options and minimal monitoring capabilities. Low-code solutions are great...until they aren't. I'd like - [Common Issues When Using Change Tracking for Data Warehouse Incremental Loads](https://datasavvy.me/2025/01/30/common-issues-when-using-change-tracking-for-data-warehouse-incremental-loads/) - I have a few clients that incrementally load tables from a SQL Server source into their data warehouse or lakehouse by using change tracking. Lately, they encountered some issues with changes to the configuration and the data in the source database, so I decided to share some things you can check before using change tracking - [Replacing Images in PBIR Format Reports](https://datasavvy.me/2024/12/30/replacing-images-in-pbir-format-reports/) - With the PBIR format of Power BI reports, it's much easier to make report updates outside of Power BI Desktop. One thing you may want to do is to switch out an image in a report. Maybe you need to rebrand a report, updating some of the images (logos and background images). You could import - [Finding fields used in a Power BI report in PBIR format with Semantic Link Labs](https://datasavvy.me/2024/11/27/finding-fields-used-in-a-power-bi-report-in-pbir-format-with-semantic-link-labs/) - Have you ever wondered where a certain field is used in a report? Or maybe you need an easy way to find broken field references in a report? Certain 3rd-party tools such as Measure Killer and Power BI Helper (not updated recently) have helped us with this task in the past. But now we can - [Control Flow Restartability in Azure Data Factory](https://datasavvy.me/2024/10/14/control-flow-restartability-in-azure-data-factory/) - I presented at SQL Saturday Pittshburgh this past weekend about populating your data warehouse with a metadata-driven, pattern-based approach. One of the benefits I mentioned is that it's easy to employ this pattern for restartability. For instance, let's say I am loading data from 30 tables and 5 files into the staging area of my - [Making Legend Order Match Segment Order in a Power BI Stacked Column Chart](https://datasavvy.me/2024/09/30/making-legend-order-match-segment-order-in-a-power-bi-stacked-column-chart/) - A reader of one of my previous posts pointed out that the legend order and segment order in my core visual stacked column chart did not match. I had to ask the Power BI team about this, and they explain that there is a way to make them match, but it's a bit unintuitive. The - [Copying Content from One Databricks Unity Catalog Catalog to Another](https://datasavvy.me/2024/09/25/copying-content-from-one-databricks-unity-catalog-catalog-to-another/) - I had a couple of clients who were moving content from development catalogs to production catalogs for the first time. They wanted to copy the schema and data from tables, views, and volumes. So I wrote a python notebook to handle this task. It creates the objects in the new catalog and then changes the - [Comparing Power BI Core Visual and Deneb Stacked Column Chart](https://datasavvy.me/2024/08/26/comparing-power-bi-core-visual-and-deneb-stacked-column-chart/) - One of the new features in the August Power BI Desktop release is the updated legends that are styled to more accurately reflect the per-series formatting on the visual. This made me curious how close I could get to the clean look of a Deneb (vega-lite) stacked bar chart. I used open source data from - [Calling a REST Endpoint from Azure SQL DB](https://datasavvy.me/2024/07/22/calling-a-rest-endpoint-from-azure-sql-db/) - External REST endpoint invocation in Azure SQL DB went GA in August 2023. Whereas before, we might have needed an intermediate technology to make a REST call to an Azure service, we can now use an Azure SQL Database to call a REST endpoint directly. One use case for this would be to retrieve a - [What to Know about Power BI Theme Colors](https://datasavvy.me/2024/06/21/what-to-know-about-power-bi-theme-colors/) - Power BI reports have a theme that specifies the default colors, fonts, and visual styles. In Power BI Desktop, you can choose to use a built-in theme, start with a built-in theme and customize it, or create your own theme. Creating your own theme involves specifying formatting options in a JSON file and importing it - [Data-driven vs. Data-informed: Let's Acknowledge the Truth](https://datasavvy.me/2024/05/20/data-driven-vs-data-informed-lets-acknowledge-the-truth/) - This comic was retweeted into my timeline on Twitter (I refuse to call it X). Here's the dialog from the comic, for those that don't want to click through or need alt text: Person 1: We need to be data-informed, not data-driven.Person 2: What's the difference?Person 1: It's a loophole that allows decisions based upon - [Use a slicer to filter a visual based upon a measure in Power BI](https://datasavvy.me/2024/05/01/use-a-slicer-to-filter-a-visual-based-upon-a-measure-in-power-bi/) - Have you ever wanted to filter a visual by selecting a range of values for a measure? You may have found that you cannot populate a slicer with a measure. But you can do this another way. I have a report that shows project expenses and budgets. I want users to be able to filter - [Power Query ODBC bug affecting date calculations](https://datasavvy.me/2024/04/02/power-query-odbc-bug-affecting-date-calculations/) - I was working on an imported Power BI semantic model, adding some fiscal year calculations to my date table. The date table was sourced from a view in Databricks Unity Catalog. I didn't have access to add more fields to the view, so I was adding the fields in Power Query first, with plans to - [Your gradient fill bar charts in Power BI have poor color contrast, but you can fix them](https://datasavvy.me/2024/01/23/your-gradient-fill-bar-charts-in-power-bi-have-poor-color-contrast-but-you-can-fix-them/) - Since conditional formatting was released for Power BI, I have seen countless examples of bar charts that have a gradient color fill. If you aren't careful about the gradient colors (maybe you just used the default colors), you will end up with poor color contrast. Luckily there are a couple of quick (less than 30 - [Switching between different active physical relationships in a Power BI model](https://datasavvy.me/2024/01/09/switching-between-different-active-physical-relationships-in-a-power-bi-model/) - A couple of weeks ago, I encountered a DAX question that I had not previously considered. They had a situation where there were two paths between two tables: on direct between a fact and dimension and another that went through a different dimension and a bridge table. This could happen in many scenarios: Sales: There - [Update Azure SQL database and storage account public endpoint firewalls with Data Factory IP ranges](https://datasavvy.me/2024/01/02/update-azure-sql-database-and-storage-account-public-endpoint-firewalls-with-data-factory-ip-ranges/) - While a private endpoint and vNets are preferred, sometimes we need to configure Azure SQL Database or Azure Storage to allow use of public endpoints. In that case, an IP-based firewall is used to prevent traffic from unauthorized locations. But Azure Data Factory's Azure Integration Runtimes do not have a single static IP. So how - [Databricks Unity Catalog primary key and foreign key constraints are not enforced](https://datasavvy.me/2023/11/21/databricks-unity-catalog-primary-key-and-foreign-key-constraints-are-not-enforced/) - I've been building lakehouses using Databricks Unity catalog for a couple of clients. Overall, I like the technology, but there are a few things to get used to. This includes the fact that primary key and foreign key constraints are informational only and not enforced. If you come from a relational database background, this unenforced - [Parameterize your Databricks notebooks with widgets](https://datasavvy.me/2023/09/28/parameterize-your-databricks-notebooks-with-widgets/) - Widgets provide a way to parameterize notebooks in Databricks. If you need to call the same process for different values, you can create widgets to allow you to pass the variable values into the notebook, making your notebook code more reusable. You can then refer to those values throughout the notebook. Note: There are also - [Restoring SSAS Cubes to a SQL 2022 Server with CU5](https://datasavvy.me/2023/08/18/restoring-ssas-cubes-to-a-sql-2022-server-with-cu5/) - I have a client who was upgrading some servers from pre-2022 versions of SQL Server to SQL Server 2022 CU7. They had some multidimensional SSAS cubes that were to go on the new server. But they ran into an issue after the upgrade. After restoring a backup of an SSAS database to the new server - [Quick Tip About Fonts in Deneb Visuals in Power BI](https://datasavvy.me/2023/08/17/quick-tip-about-fonts-in-deneb-visuals-in-power-bi/) - This week, I was working with a client who requested I use the Segoe UI font in their Power BI report. The report contained a mix of core visuals and Deneb visuals. I changed the fonts on the visuals to Segoe UI and published the report. But my client reported back that they were seeing - [Creating and Configuring a Power BI VNet Data Gateway](https://datasavvy.me/2023/08/01/creating-and-configuring-a-power-bi-vnet-data-gateway/) - If you are using Power BI to connect to a PaaS resource on a virtual network in Azure (including private endpoints), you need a data gateway. While you can use an on-premises data gateway (the type of Power BI gateway we have had for years), there is an offering called a virtual network data gateway - [Enhancements I'd Like to See in the Power BI Treemap Visual](https://datasavvy.me/2023/07/14/enhancements-id-like-to-see-in-the-power-bi-treemap-visual/) - I recently created a treemap in Power BI for a Workout Wednesday challenge. Originally, I had set out to make a different treemap, but I ran into some limitations with the visual. I ended up with the treemap below, which isn't bad, but it made me realize that the treemap is in need of some - [Using a tnsnames.ora file with the Microsoft Connector for Oracle in SSIS](https://datasavvy.me/2023/06/02/using-a-tnsnames-ora-file-with-the-microsoft-connector-for-oracle-in-ssis/) - One of the nice things about the Microsoft Connector for Oracle is that it doesn't require installation of an Oracle client. But because of this, you may not have the expected settings and files on the computer where your SSIS package is running. A client ran into this recently, and the answer was to create - [Custom labels on bar and column charts in Power BI](https://datasavvy.me/2023/05/24/custom-labels-on-bar-and-column-charts-in-power-bi/) - Did you know that you can create labels on bar charts that don't use the fields in the field wells? You absolutely can! I did this in the exercise for Workout Wednesday 2023 for Power BI Week 20. Notice the label on each column that shows the year and average game length in h:mm format. - [The Many Oracle Connectors for SSIS](https://datasavvy.me/2023/05/17/the-many-oracle-connectors-for-ssis/) - I recently worked with a client who was upgrading and deploying several SSIS projects to a new server. The SSIS packages connected to an Oracle database in various tasks. There were: Data Flows that used the Oracle Source and Oracle Destination Data Flows that used an OLE DB connection to Oracle Execute SQL tasks that - [How to use the new dynamic format strings for measures in Power BI](https://datasavvy.me/2023/04/21/how-to-use-the-new-dynamic-format-strings-for-measures-in-power-bi/) - The April 2023 release of Power BI desktop introduced a new preview feature called dynamic format strings for measures. This allows us to return values with different formats from the same measure. Previously, we needed to create calculation groups (usually by using Tabular Editor) to accomplish this. But now it is built in to Power - [How to Change the Browser Used by SSMS for AAD Auth](https://datasavvy.me/2023/03/28/how-to-change-the-browser-used-by-ssms-for-aad-auth/) - Did you know that you can change the browser used by SQL Server Management Studio to authenticate using Azure Active Directory to a SQL database in Azure? I had been experiencing serious delays with the window that pops up to accept my credentials taking 30 seconds or more to populate. I also once got a - [What to know about the new accessible Power BI themes](https://datasavvy.me/2023/02/24/what-to-know-about-the-new-accessible-power-bi-themes/) - In February 2023, Microsoft released some new Power BI themes that are more accessible than the other themes available by default. The blog post mentions the prevalence of color vision deficiency (CVD, also called colorblindness) and discusses color contrast. While color contrast is important for accommodating color vision deficiency, it's also important for those with - [Unpivot a matrix with multiple fields on columns in Power Query](https://datasavvy.me/2023/01/24/unpivot-a-matrix-with-multiple-fields-on-columns-in-power-query/) - I had to do this for a client the other day, and I realized I hadn't blogged about it. Let's say you need to include data in a Power BI model, but the only source of the data is a matrix that is output from another system. And that matrix has multiple fields populating the - [External tables and views in Azure Databricks Unity Catalog](https://datasavvy.me/2022/12/29/external-tables-and-views-in-azure-databricks-unity-catalog/) - I've been busy defining objects in my Unity Catalog metastore to create a secure exploratory environment for analysts and data scientists. I've found a lack of examples for doing this in Azure with file types other than delta (maybe you're reading this in the future and this is no longer a problem, but it was - [Use the output of a Script activity as the items in a ForEach activity in Data Factory](https://datasavvy.me/2022/12/22/use-the-output-of-a-script-activity-as-the-items-in-a-foreach-activity-in-data-factory/) - In early 2022, Microsoft released a new activity in Azure Data Factory (ADF) called the Script activity. The Script activity allows you to execute one or more SQL statements and receive zero, one, or multiple result sets as the output. This is an advantage over the stored procedure activity that was already available in ADF, - [Clickable SVG images in Power BI using the HTML Content custom visual](https://datasavvy.me/2022/12/15/clickable-svg-images-in-power-bi-using-the-html-content-custom-visual/) - People have done creative things with SVG measures in Power BI, ranging from KPI cards to infographics to fun games. For my latest Workout Wednesday challenge, I used SVG measures to make holiday cards that open on a specified date. When you click on one of the holiday cards, it navigates to a specified url. - [Types of data consulting engagements and what you can expect from them](https://datasavvy.me/2022/12/06/types-of-data-consulting-engagements-and-what-you-can-expect-from-them/) - There are multiple ways organizations can engage with a data (DBA/analytics/data architect/ML/etc.) consultant. The type of engagement you choose affects the pace and deliverables of the project, and the response times and availability of the consultant. What types of consulting engagements are common? Consulting engagements can range from a few hours a week to several - [Creating a Unity Catalog in Azure Databricks](https://datasavvy.me/2022/11/23/creating-a-unity-catalog-in-azure-databricks/) - Unity Catalog in Databricks provides a single place to create and manage data access policies that apply across all workspaces and users in an organization. It also provides a simple data catalog for users to explore. So when a client wanted to create a place for statisticians and data scientists to explore the data in - [The Reason We Use Only One Git Repo For All Environments of an Azure Data Factory Solution](https://datasavvy.me/2022/10/31/the-reason-we-use-only-one-git-repo-for-all-environments-of-an-azure-data-factory-solution/) - I've seen a few people start Azure Data Factory (ADF) projects assuming that we would have one source control repo per environment, meaning that you would attach a Git repo to Dev, and another Git repo to Test and another to Prod. Microsoft recommends against this, saying: "Only the development factory is associated with a - [Why I tweet about work and personal topics from the same account](https://datasavvy.me/2022/09/26/why-i-tweet-about-work-and-personal-topics-from-the-same-account/) - Over the last few years, I've had a few people ask me why I don't create two Twitter accounts so I can separate work and personal things. I choose to use one account because I am more than a content feed, and I want to encourage others to be their whole selves. I want to - [pandas.DataFrame.drop_duplicates and SQL Server unique constraints](https://datasavvy.me/2022/08/20/pandas-dataframe-drop_duplicates-and-sql-server-unique-constraints/) - I've now helped people with this issue a few times, so I thought I should blog it for anyone else that runs into the "mystery". Here's the scenario: You are using Python, perhaps in Azure Databricks, to manipulate data before inserting it into a SQL Database. Your source data is a flattened data extract and - [Quality Checks for your Power BI Visuals](https://datasavvy.me/2022/07/14/quality-checks-for-your-power-bi-visuals/) - For more formal enterprise Power BI development, many people have a checklist to ensure data acquisition and data modeling quality and performance. Fewer people have a checklist for their data visualization. I'd like to offer some ideas for quality checks on the visual design of your Power BI report. I'll update this list as I - [Generating Unicode Characters in Power Query](https://datasavvy.me/2022/06/30/generating-unicode-characters-in-power-query/) - You may have used the UNICHAR() function in DAX to return Unicode characters in DAX measures. If you haven't yet read Chris Webb's blog post on the topic, I recommend you do. But did you know there is a Power Query function that can return Unicode characters? This can be useful in cases when you - [Log in to Power BI Desktop as an External (B2B) User](https://datasavvy.me/2022/06/21/log-in-to-power-bi-desktop-as-an-external-b2b-user/) - I noticed Adam Saxton post a tip on the Guy in a Cube YouTube channel about publishing reports from Power BI Desktop for external users. According to Microsoft Docs (as of June 21, 2022), you can't publish directly from Power BI Desktop to an external tenant. But Adam shows how that is now possible thanks - [Viridis color palettes in Power BI theme files](https://datasavvy.me/2022/04/25/viridis-color-palettes-in-power-bi-theme-files/) - I am a fan of the viridis color palettes available in python and R, so I decided to make Power BI theme files for each of the 4 color maps (viridis, inferno, magma, plasma). These color palettes are not only lovely to look at, they are colorblind/CVD friendly and perceptually uniform (or close to it). - [Calling the Intercom API with Power Query and Refreshing in the Power BI Service](https://datasavvy.me/2022/03/21/calling-the-intercom-api-with-power-query-and-refreshing-in-the-power-bi-service/) - I needed to pull some user data for an app that uses Intercom. While I will probably import the data using Data Factory or a function in the long term, I needed to pull some quick data in a refreshable manner to combine with other data already available in Power BI. I faced two challenges - [Check if File Exists Before Deploying SQL Script to Azure SQL Managed Instance in Azure Release Pipelines](https://datasavvy.me/2022/02/22/check-if-file-exists-before-deploying-sql-script-to-azure-sql-managed-instance-in-azure-release-pipelines/) - I have been in Azure DevOps pipelines a lot recently, helping clients set up automated releases. Many of my clients are not in a place where automated build and deploy of their SQL databases makes sense, so they deploy using change scripts that are reviewed before deployment. We chose release pipelines over the YAML pipelines - [Looking at Activity Queue Times from Azure Data Factory with Log Analytics](https://datasavvy.me/2022/01/06/looking-at-activity-queue-times-from-azure-data-factory-with-log-analytics/) - I've been working on a project to populate an Operational Data Store using Azure Data Factory (ADF). We have been seeking to tune our pipelines so we can import data every 15 minutes. After tuning the queries and adding useful indexes to target databases, we turned our attention to the ADF activity durations and queue - [When You Can't Change the Connected Git Repo on ADF](https://datasavvy.me/2021/12/30/when-you-cant-change-the-connected-git-repo-on-adf/) - I was working on an Azure Data Factory project for a client who is new to ADF, and there was a miscommunication about the new Git Repo to be used for source control. Someone had created a new project and repo instead of using the existing one created for this purpose. This isn't a big - [Copying large files from SharePoint Online](https://datasavvy.me/2021/12/07/copying-large-files-from-sharepoint-online/) - I recently worked on a project where we needed to copy some large files from a specified library in SharePoint Online. In that library, there were several layers of folders and many different types of files. My goal was to copy files that had a certain file extension and a file name that started with - [What are those new buttons under tab order in Power BI?](https://datasavvy.me/2021/11/28/what-are-those-new-buttons-under-tab-order-in-power-bi/) - If you've visited the Tab order area of the Selection Pane in Power BI in the last couple of months, you might have noticed some new buttons. The hover text on the first button says "Expand All". This button is useful if you have grouped visuals. Groups are indicated by a carat to the left - [Power BI, Maps, and Publish to Web](https://datasavvy.me/2021/10/14/power-bi-maps-and-publish-to-web/) - October 2021 is mapping month over at Workout Wednesday for Power BI. As part of our challenges, we build a sample report and use the Publish to Web functionality to share it on the website. While this has worked well all year, there are some visuals, including maps, that do not support or require a - [Connect Excel to a Power BI Dataset in a Premium Workspace with a B2B User](https://datasavvy.me/2021/09/30/connect-excel-to-a-power-bi-dataset-in-a-premium-workspace-with-a-b2b-user/) - Power BI offers the ability for users who have access to a dataset in the Power BI service (PowerBI.com) to connect to the dataset using Excel. Normally, this feature is referred to as Analyze in Excel. Once you connect Excel to your dataset, you can create Pivot Table reports or use Cube Functions. There are - [Slides and Video from Building a Regret-free Foundation for your Data Factory Now Available](https://datasavvy.me/2021/09/16/slides-and-video-from-building-a-regret-free-foundation-for-your-data-factory-now-available/) - Last week, Kerry and I delivered a webinar with tips on how to set up your Data Factory. We discussed version control, deployment, naming conventions, parameterization, documentation, and more. Here's our agenda from the presentation. If you missed the webinar, you can watch it online now. Just go to the DCAC website, fill in the - [Thoughts on Unique Resource Names in Azure](https://datasavvy.me/2021/07/29/thoughts-on-unique-resource-names-in-azure/) - Each resource type in Azure has a naming scope within which the resource name must be unique. For PaaS resources such as Azure SQL Server (server for Azure SQL DB) and Azure Data Factory, the name must be globally unique within the resource type. This means that you can't have two data factories with the - [Calculating Age in Power BI](https://datasavvy.me/2021/07/09/calculating-age-in-power-bi/) - In week 26 of Workout Wednesday for Power BI, I asked people to calculate the age of Nobel laureates at the time they received the award. I provided some logic, but I didn't prescribe how to create the age calculation. This inspired a couple of questions and a round of data validation as calculating age - [Altering a Computed Column in a Temporal Table in Azure SQL](https://datasavvy.me/2021/04/22/altering-a-computed-column-in-a-temporal-table-in-azure-sql/) - System-versioned temporal tables were introduced in SQL Server 2016. They provide information about data stored in the table at any point in time by storing an effective dated version of each row rather than only the data that is correct at the current time You can alter a temporal table to add or change columns, - [Control Flow Limitations in Data Factory](https://datasavvy.me/2021/03/25/control-flow-limitations-in-data-factory/) - Control Flow activities in Data Factory involve orchestration of pipeline activities including chaining activities in a sequence, branching, defining parameters at the pipeline level, and passing arguments while invoking the pipeline. They also include custom-state passing and looping containers. If you've been using Azure Data Factory for a while, you might have hit some limitations - [Azure Data Factory Activity Failures and Pipeline Outcomes](https://datasavvy.me/2021/02/18/azure-data-factory-activity-failures-and-pipeline-outcomes/) - Question: When an activity in a Data Factory pipeline fails, does the entire pipeline fail?Answer: It depends In Azure Data Factory, a pipeline is a logical grouping of activities that together perform a task. It is the unit of execution – you schedule and execute a pipeline. Activities in a pipeline define actions to perform - [Zooming In on a Power BI Report](https://datasavvy.me/2021/02/11/zooming-in-on-a-power-bi-report/) - Have you ever tried to use your browser to zoom in on a visual in a Power BI report? If you simply published your report and then zoomed in, you might have experienced something like the video below. With the default settings of the report, when you zoom in, only the menus around the report - [Granting ADLS Gen2 Access for Power BI Users via ACLs](https://datasavvy.me/2021/02/04/granting-adls-gen2-access-for-power-bi-users-via-acls/) - It's common that users only have access to certain folders in an Azure Data Lake Storage container. These permissions are provided not through Azure RBAC (role-based access control) roles but through POSIX-like ACLs (access control lists). The current Power BI documentation mentions only Azure RBAC roles, but it is possible to connect to a folder - [One Chart at A Time Video Series](https://datasavvy.me/2021/01/27/one-chart-at-a-time-video-series/) - Jon Schwabish over at PolicyViz has created great initiative called the One Chart at a Time Video Series. It's an effort to expand readers’ graphic literacy through short videos explaining how to read and use different charts. Each video is from a different person in the data visualization industry. Participants include people I admire such - [Retrieving Log Analytics Data with Data Factory](https://datasavvy.me/2020/12/24/retrieving-log-analytics-data-with-data-factory/) - I've been working on a project where I use Azure Data Factory to retrieve data from the Azure Log Analytics API. The query language used by Log Analytics is Kusto Query Language (KQL). If you know T-SQL, a lot of the concepts translate to KQL. Here's an example T-SQL query and what it might look - [Workout Wednesdays for Power BI in 2021](https://datasavvy.me/2020/12/18/workout-wednesdays-for-power-bi-in-2021/) - I'm excited to announce that something new is coming to the Power BI community in 2021: Workout Wednesday! Workout Wednesday started in the Tableau community and is expanding to Power BI in the coming year. Workout Wednesdays present challenges to recreate a data-driven visualization as closely as possible. They are designed to help you improve - [Captioning Options for Your Online Conference](https://datasavvy.me/2020/11/24/captioning-options-for-your-online-conference/) - Many conferences have moved online this year due to the pandemic, and many attendees are expecting captions on videos (both live and recorded) to help them understand the content. Captions can help people who are hard of hearing, but they also help people who are trying to watch presentations in noisy environments and those who - [Stop Letting Accessibility Be Optional In Your Power BI Reports](https://datasavvy.me/2020/09/17/stop-letting-accessibility-be-optional-in-your-power-bi-reports/) - We don't talk about inclusive design nearly enough in the Power BI community. I was trying to recall the last time I saw a demo report (from Microsoft or the community) that looked like consideration was made for basic accessibility, and... it's a pretty rare occurrence. Part of the reason for this might be that - [Fun with Power BI and Color Math](https://datasavvy.me/2020/08/20/fun-with-power-bi-and-color-math/) - I recently published my color contrast report in the Power BI Data Stories Gallery. It allows you to enter two hex color values and then see the color contrast ratio and get advice on how the two colors should be used together in an accessible manner. I could go on for paragraphs about making sure - [I'm Speaking at Virtual PASS Summit 2020](https://datasavvy.me/2020/08/06/im-speaking-at-virtual-pass-summit-2020/) - PASS Summit has gone virtual this year, but that isn't keeping PASS from delivering a good lineup of speakers and activities. I'm excited to be presenting a pre-con and two regular sessions this year. I know virtual delivery changes the interaction between audience and speaker, and I'm going to do everything I can to make - [Refreshing a Power BI Dataset in Azure Data Factory](https://datasavvy.me/2020/07/09/refreshing-a-power-bi-dataset-in-azure-data-factory/) - I recently needed to ensure that a Power BI imported dataset would be refreshed after populating data in my data mart. I was already using Azure Data Factory to populate the data mart, so the most efficient thing to do was to call a pipeline at the end of my data load process to refresh - [Power BI Data Viz Makeover: From Drab to Fab](https://datasavvy.me/2020/06/18/power-bi-data-viz-makeover-from-drab-to-fab/) - On July 11 at 3pm MDT, Rob Farley and I will be hosting a webinar on report design in Power BI. We will take a report that does not deliver insights, discuss what we think is missing from the report and how we would change it, and then share some tips from our report redesign. - [An Updated Version of the Power BI Enterprise Deployment Whitepaper is Available](https://datasavvy.me/2020/05/28/an-updated-version-of-the-power-bi-enterprise-deployment-whitepaper-is-available/) - A new version of the Microsoft whitepaper “Planning a Power BI Enterprise Deployment” is now available. Once again, Melissa Coates (b|t) and Chris Webb (b|t) are the authors. I was lucky enough to be the tech editor again on this version, so I'm excited to see the new information be released to the public. There - [Power Up: Exploring the Power BI Ecosystem, May 27-28](https://datasavvy.me/2020/05/21/power-up-exploring-the-power-bi-ecosystem-may-27-28/) - Next week I'm speaking at at the Dynamic Communities Power Up event titled "Exploring the Power BI Ecosystem". It takes place on May 27 & 28, 2020. This exciting 2-Day virtual event is designed to ensure attendees have a complete view of the Power BI product and surrounding ecosystem, provide expanded knowledge of the core - [Check Out My MBAS Presentation on Power BI Report Accessibility](https://datasavvy.me/2020/05/14/check-out-my-mbas-presentation-on-power-bi-report-accessibility/) - I had the privilege of working with Tessa Hurr (PM on the Power BI team) on a presentation for the 2020 Microsoft Business Applications Summit (MBAS) about five features in Power BI that increase report accessibility. This 23-minute presentation is almost entirely demos, and only a few slides. While we talk about some features such - [Using Logic Apps in a Data Factory Execution Framework - Part 1](https://datasavvy.me/2020/05/07/using-logic-apps-in-a-data-factory-execution-framework-part-1/) - Data Factory allows parameterization in many parts of our solutions. We can parameterize things such as connection information in linked services as well as blob storage containers and files in datasets. We can also parameterize certain properties in activities. For instance, we can write an expression to determine the stored procedure to be executed in - [Stress Cases and Data Visualization](https://datasavvy.me/2020/03/26/stress-cases-and-data-visualization/) - Times are stressful right now. There is an ongoing pandemic affecting people's health and livelihoods. Schedules are messed up, kids are home. People who aren't used to working remotely are fumbling through learning how to work from home. And then there are the normal stresses that aren't taking a break just because there is a - [PolicyViz Podcast Episode on Accessibility](https://datasavvy.me/2020/03/05/policyviz-podcast-episode-on-accessibility/) - I had the pleasure of talking with Jon Schwabish about accessibility in data visualization. The episode was released this week. You can check it out at https://policyviz.com/podcast/episode-169-meagan-longoria/. If you've never thought about accessibility in data visualization before, here is what I want you to know. Your explanatory data visualization should be communicating something to your - [Parameterizing a REST API Linked Service in Data Factory](https://datasavvy.me/2020/01/30/parameterizing-a-rest-api-linked-service-in-data-factory/) - We can now pass dynamic values to linked services at run time in Data Factory. This enables us to do things like connecting to different databases on the same server using one linked service. Some linked services in Azure Data Factory can be parameterized through the UI. Others require that you modify the JSON to - [New Power BI Report Design Pre-Con in 2020](https://datasavvy.me/2019/12/05/new-power-bi-report-design-pre-con-in-2020/) - I'm excited to announce that I will be offering a full-day pre-con about Power BI report design in the coming year called Bookmarks, brain pixels, and bar charts: creating effective Power BI reports. For a full session description and prerequisites, please visit the session page. I built this pre-con to help people better approach report - [Microsoft Can't Make Your Power BI Reports Accessible Without Your Help](https://datasavvy.me/2019/11/30/microsoft-cant-make-your-power-bi-reports-accessible-without-your-help/) - Every once in a while, someone asks a question like "Can Power BI be accessible?" or "Is Power BI WCAG compliant?" It makes me happy when people recognize the need for accessibility in Power BI. (I'll save the discussion about compliance not automatically ensuring accessibility for another day.) But most people don't appreciate the answer - [How a new custom PowerPoint template is helping us to be more effective presenters](https://datasavvy.me/2019/10/16/how-a-new-custom-powerpoint-template-is-helping-us-to-be-more-effective-presenters/) - DCAC recently had a custom PowerPoint template built for us. We use PowerPoint for teaching technical concepts, delivering sales and marketing presentations, and more. One thing I love about working at DCAC is that each of the 6 consultants is also a speaker at conferences. So we all care about making presentation content understandable and - [Using Azure Automation to Shut Down a VM only if a SQL Agent Job is Not Running](https://datasavvy.me/2019/08/15/using-azure-automation-to-shut-down-a-vm-only-if-a-sql-agent-job-is-not-running/) - I have a client who uses MDS (Master Data Services) and SSIS (Integration Services) in an Azure VM. Since we only need to execute the SQL Agent job that runs the SSIS packages infrequently, we shut down the VM when it is not in use in order to save costs. We wanted to make sure - [My Preferences for SSIS Design](https://datasavvy.me/2019/08/08/my-preferences-for-ssis-design/) - Lately, I have been using SSIS execution frameworks and Biml created by other people to populate data marts and data warehouses. It has taught me a few things and helped me clarify what I like and dislike compared to my usual framework. I've got the beginning of my preferences list started below. There are probably - [Check Out the Updated Violin Plot Power BI Custom Visual](https://datasavvy.me/2019/08/01/check-out-the-updated-violin-plot-power-bi-custom-visual/) - I wrote about the violin plot custom visual by Daniel Marsh-Patrick back in February. I thought it was a good visual then, but version 1.3 has recently been released with some nice enhancements. First, the violin plot is now a certified custom visual. This means that it has been tested by the Power BI team - [Why We Don't Truncate Dimensions and Facts During a Data Load](https://datasavvy.me/2019/07/25/why-we-dont-truncate-dimensions-and-facts-during-a-data-load/) - Every once in a while, I come across a data warehouse where the data load uses a full truncate and reload pattern to populate a fact or dimension. While it may not be the end of the world for a small table, it does concern me and I usually recommend to redesign the load. My - [So You Want to Be A Business Intelligence Consultant](https://datasavvy.me/2019/06/27/so-you-want-to-be-a-business-intelligence-consultant/) - I've had a few people ask me recently for advice on getting into business intelligence/analytics consulting. I have been in consulting for 6+ years and have worked for 3 different consulting firms, so I'm sharing my thoughts and experiences here in case they are helpful to someone else. My first response to people asking this - [Turning a Corporate Color Palette into a Data Visualization Color Palette](https://datasavvy.me/2019/05/16/turning-a-corporate-color-palette-into-a-data-visualization-color-palette/) - Last week, I had a conversation on twitter about dealing with corporate color palettes that don't work well for data visualization. Usually, this happens because corporate palettes are designed with websites and/or marketing collateral in mind rather than information graphic design. This often results in colors being too bright, dark, or dull to be used - [Power BI: Where Should My Data Live? Webcast](https://datasavvy.me/2019/03/28/power-bi-where-should-my-data-live-webcast/) - When you start a Power BI project, you need to decide how and where you should store the data in your dataset. There are three "traditional" options: Imported Model: Data is imported and compressed and stored in the PBIX file, which is then published to the Power BI Service (or Report Server if you are - [Power BI Now Has Keyboard Accessible Visual Interactions](https://datasavvy.me/2019/03/21/power-bi-now-has-keyboard-accessible-visual-interactions/) - The March 2019 release of Power BI Desktop has brought us keyboard accessible visual interactions. One of Power BI's natural strengths is that you can click on a data point within a visual and have it cross-highlight or cross-filter the other visuals on a page. But keyboard-only users weren't able to use this feature until - [There is Now A Delete Activity in Data Factory V2!](https://datasavvy.me/2019/03/07/there-is-now-a-delete-activity-in-data-factory-v2/) - Data Factory can be a great tool for cloud and hybrid data integration. But since its inception, it was less than straightforward how we should move data (copy to another location and delete the original copy). It is a common practice to load data to blob storage or data lake storage before loading to a - [What Data Is Being Sent Externally By Power BI Visuals?](https://datasavvy.me/2019/02/28/what-data-is-being-sent-externally-by-power-bi-visuals/) - As you build your Power BI reports, you may want to use maps and custom visuals. Have you thought about data privacy and what data is getting shared by those visuals? If you have sensitive data in your reports, you will probably want to look into this. Maps Most built-in visuals do not share data - [How Many Data Gateways Does My Azure BI Architecture Need?](https://datasavvy.me/2019/02/07/how-many-data-gateways-does-my-azure-bi-architecture-need/) - It’s not always obvious when you need a data gateway in Azure, and not all gateways are labeled as such. So I thought I would walk through various applications that act as a data gateway and discuss when, where, and how many are needed. Note: I’m ignoring VPN gateways and application gateways for the rest - [Join me for the PASS Data Expert Series Feb 7](https://datasavvy.me/2019/02/06/join-me-for-the-pass-data-expert-series-feb-7/) - I'm honored to have one of my PASS Summit sessions chosen to be part of the PASS Data Expert Series on February 7. PASS has curated the top-rated, most impactful sessions from PASS Summit 2018 for a day of solutions and best practices to help keep you at the top of your field. There are - [The Necessary Extras That Aren't Shown in Your Azure BI Architecture Diagram](https://datasavvy.me/2019/01/11/the-necessary-extras-that-arent-shown-in-your-azure-bi-architecture-diagram/) - When we talk about Azure architectures for data warehousing or analytics, we usually show a diagram that looks like the below. This diagram is a great start to explain what services will be used in Azure to build out a solution or platform. But many times, we add the specific resource names and stop there. - [Power BI Visual Usability Checklist](https://datasavvy.me/2018/11/15/power-bi-visual-usability-checklist/) - At PASS Summit, I presented a session called "Do Your Data Visualizations Need a Makeover?". In my session I explained how we often set ourselves up for failure when conducting explanatory data visualization before we ever place a visual on the page by not preparing appropriately, and I provided tips to improve. I also gave - [Learning Better Presentation Skills (T-SQL Tuesday #108)](https://datasavvy.me/2018/11/13/learning-better-presentation-skills-t-sql-tuesday-108/) - This month's T-SQL Tuesday is hosted by Malathi Mahadevan (@SqlMal). The topic is to pick one thing I would like to learn that is not SQL Server. I'm going to go a different direction than I think most people will. I spend a lot of time learning new technologies in Azure, but I am also focusing - [Join Me At PASS Summit 2018](https://datasavvy.me/2018/09/05/join-me-at-pass-summit-2018/) - The PASS Summit 2018 schedule has been published, and I'm on it twice! On Monday, November 5, I am giving a full-day pre-con with Melissa Coates on Designing Modern Data and Analytics Solutions in Azure. We'll have presentations, hand-on labs, and open discussions about architecture options in Azure when building an analytics solution. If you've been wondering - [Submit Your Pre-Cons To SQLSaturday Denver #774 by July 15](https://datasavvy.me/2018/07/04/submit-your-pre-cons-to-sqlsaturday-denver-774-by-july-15/) - I'm happy to announce that we will be holding pre-cons at SQLSaturday Denver 2018. Our SQLSaturday will be held on September 15, and full-day pre-cons will be the day before on Friday, September 14. It took us a bit longer to organize because we had to find separate space for the pre-cons. They will be - [Power BI Report Accessibility Checklist](https://datasavvy.me/2018/06/06/power-bi-report-accessibility-checklist/) - In many cases, some small changes can go a long way in making your Power BI reports more accessible for users with different abilities. The checklist below lists considerations you should make in your report design to create more inclusive reports. I'll update this post as new features are released. Accessibility Checklist Last Updated: 1-Feb-2024 - [Choosing a Color Palette For Your Power BI Report](https://datasavvy.me/2018/05/26/choosing-a-color-palette-for-your-power-bi-report/) - Color is a powerful attribute in data visualization. In a good visualization, it can focus attention and enhance meaning and clarity. When color is used poorly, it creates clutter and confusion. Power BI has a default color palette, but it isn't always optimal or even appropriate for many reports. Luckily, Power BI allows you to - [Thoughts and Lessons Learned From A Power BI Embedded POC](https://datasavvy.me/2018/04/25/thoughts-and-lessons-learned-from-a-power-bi-embedded-poc/) - I worked on a Power BI embedded POC where a report with an in-memory Power BI model as the dataset was embedded into an application in an "app owns data" scenario. This means that the application handles all authentication and access, and users do not need to be Active Directory users or have Power BI - [Please join me for my PASS Summit Pre-Con with Melissa Coates](https://datasavvy.me/2018/04/12/please-join-me-for-my-pass-summit-pre-con-with-melissa-coates/) - I'm excited to announce that I'm joining forces with Melissa Coates (aka SQL Chick) to do a full-day PASS Summit Pre-Conference Session this year! We'll be talking about Designing Modern Data and Analytics Solutions in Azure. Many traditional data warehousing professionals as well as other data engineers are taking on analytics projects in Azure. There are - [Four Easy Things You Can Do Now To Make Your Power BI Reports More Accessible](https://datasavvy.me/2018/03/09/four-easy-things-you-can-do-now-to-make-your-power-bi-reports-more-accessible/) - Accessibility is often overlooked or ignored when it comes to reporting and data visualization. I think there are two reasons why: We often don't consider user scenarios with which we aren't familiar. If we don't know someone with color blindness/low vision/dyslexia/repetitive strain injuries, we don't understand the difficulties they might have interacting with our reports. - [Join Me on SpeakingMentors.com](https://datasavvy.me/2018/02/22/join-me-on-speakingmentors-com/) - I'm honored to join the great group of people at SpeakingMentors.com as a mentor. I think it's a wonderful effort to help new speakers improve their skills and confidence. Speaking at conferences and user groups has brought me a lot of new knowledge, friends, job opportunities, and travel opportunities. I'm so grateful to the people who - [Power BI Screen Reader Accessibility](https://datasavvy.me/2018/02/06/power-bi-screen-reader-accessibility/) - I recently wrote a post on the BlueGranite blog called Improving Screen Reader Accessibility in Power BI Reports. It contains some good reasons why accessibility should be considered when it comes to usability features of any web property or data viz. And it shares several tips to make your report more accessible to screen readers - [Ten Ways To Help Your BI Consultant Be Successful](https://datasavvy.me/2018/01/29/ten-ways-to-help-your-bi-consultant-be-successful/) - I've been working in the field of business intelligence for over ten years, as a consultant for over five years. One thing I've learned from that time is that consultants need the client's help to complete a project on time and on budget. Even if the consultants are doing the bulk of the work, project - [Design Concepts For Better Power BI Reports Part 5: Affordances](https://datasavvy.me/2017/12/28/design-concepts-for-better-power-bi-reports-part-5-affordances/) - Affordances are a general design concept that comes from physical product design but can be applied to visual design. I first learned about affordances from the book The Design of Everyday Things. The book describes affordances as the following. "Affordances provide strong clues as to the operations of things... When affordances are taken advantage of, - [Design Concepts For Better Power BI Reports Part 4: The Squint Test](https://datasavvy.me/2017/12/22/design-concepts-for-better-power-bi-reports-part-4-the-squint-test/) - Data visualization should be iterative. You should get a good initial draft put together and then check to make sure it meets your success criteria. Then check the design to ensure it it effectively conveys information in a manner that is easy for your audience to consume. You can then make some changes and check - [Design Concepts for Better Power BI Reports Part 3: Gestalt Principles](https://datasavvy.me/2017/12/18/design-concepts-for-better-power-bi-reports-part-3-gestalt-principles/) - The Gestalt principles of visual perception describe how humans tend to organize visual elements into groups or unified wholes to help us make sense of visual stimuli. Basically, we perceive the visual world as complete objects rather than a bunch of independent elements. For instance, you probably see a triangle in the white space in - [Design Concepts For Better Power BI Reports - Part 2: Preattentive Attributes](https://datasavvy.me/2017/11/30/design-concepts-for-better-power-bi-reports-part-2-preattentive-attributes/) - Preattentive attributes are visual properties that we notice without using conscious effort to do so. Preattentive processes take place within 200ms after exposure to a visual stimulus, and do not require sequential search. They are a very powerful tool in your data visualization tool box - they determine what your audience notices first when they look at - [Data Visualization Panel at PASS Summit](https://datasavvy.me/2017/10/28/data-visualization-panel-at-pass-summit/) - Next week is PASS Summit 2017, and I'm excited to be a part of it. One of the sessions in which I'm participating is a panel discussion on data visualization. Mico Yuk will be our facilitator. I'm in great company as the other panelists are Ginger Grant, Paul Turley, and Chris Webb. This session will - [Let Her Finish: Voices from the Data Platform](https://datasavvy.me/2017/10/19/let-her-finish-voices-from-the-data-platform/) - This year I had the pleasure of contributing a chapter to a book along with some very special and talented people. That book has now been released and is available on Amazon! Both a digital and print version are available. My chapter is about data viz in Power BI, combining platform agnostic concepts with practical - [The Tabular Model Documenter is now a Power BI Template](https://datasavvy.me/2017/09/19/the-tabular-model-documenter-is-now-a-power-bi-template/) - A while back I created the Tabular Model Documenter Power BI model that can connect to your SSAS Tabular or Power BI model and display metadata about the model to help you see relationships, calculations, source queries, and more. I had been meaning to turn it into a parameterized template since templates became available and - [You Can Now Put Values On Rows In Power BI](https://datasavvy.me/2017/08/10/you-can-now-put-values-on-rows-in-power-bi/) - Back in January 2016, I wrote a blog post explaining a DAX workaround that allows you to put measures on rows in a matrix in a Power BI report. I’m happy to say that you no longer need my workaround because you can now natively put measures on rows in a matrix in both Power - [Installing the Microsoft.ACE.OLEDB.12.0 Provider for Both 64-bit and 32-bit Processing](https://datasavvy.me/2017/07/20/installing-the-microsoft-ace-oledb-12-0-provider-for-both-64-bit-and-32-bit-processing/) - I recently got a new laptop and had to go through the ritual of reinstalling all my programs and drivers. I sometimes work with SSIS locally to import data from Excel and occasionally do demos with Power BI where I read from an Access database so I needed to install the ACE OLE DB provider. - [Updating a SharePoint List Item With Flow When You Don't Have The ID](https://datasavvy.me/2017/07/16/updating-a-sharepoint-list-item-with-flow-when-you-dont-have-the-id/) - I recently worked on a project that used Flow to update a SharePoint list each time an item was updated in the Power Apps Common Data Service. In order to update a SharePoint list item, you must have the unique ID, even if there are other fields that are unique to the item. I spent - [I'm Speaking at IT/Dev Connections 2017](https://datasavvy.me/2017/05/24/im-speaking-at-itdev-connections-2017/) - I'm pleased to say that I am speaking at IT/Dev Connections 2017. This year the conference will be held in San Francisco October 23-26. I had a great experience speaking at IT/Dev Connections in 2015, so I am excited to return again this year. This conference is special to me because of its focus on - [Insufficient Disk Space (T-SQL Tuesday #88)](https://datasavvy.me/2017/03/14/insufficient-disk-space-t-sql-tuesday-88/) - This month's T-SQL Tuesday – hosted by Kennie T Pontoppidan(@KennieNP) – is called "The daily (database-related) WTF". He asked us to be inspired by the IT horror stories from http://thedailywtf.com, and tell our own daily WTF story. Years ago in a previous job, I worked at a company that had no DBAs. I am/was a BI - [My Thoughts on SQL Saturday #596 - Denver BI](https://datasavvy.me/2017/02/28/my-thoughts-on-sql-saturday-596-denver-bi/) - I had the pleasure of attending SQL Saturday Denver - BI this past weekend. They even let me help out a bit with registration and other volunteer tasks. This SQL Saturday was an experiment of sorts to prove out Steve Jones's idea of slimmer SQL Saturdays. We had two tracks and 80 - 100 attendees. Steve - [Update On My PASS Summit Feedback](https://datasavvy.me/2016/10/26/update-on-my-pass-summit-feedback/) - Back in June, I posted the feedback I received on the abstracts I submitted to PASS Summit 2016. I wasn't originally selected to speak, but I did have one talk that was selected as an alternate. It turns out that a couple of speakers had to cancel , and I am now speaking at PASS - [Process Compatibility Level 1200 SSAS Tabular Model from SSIS 2014](https://datasavvy.me/2016/10/14/process-compatibility-level-1200-ssas-tabular-model-from-ssis-2014/) - A client wanted to upgrade their SSAS model to SSAS 2016 to take advantage of some of the features of the new level 1200 compatibility model. But they weren't yet ready to upgrade their SSIS server from SQL 2014. This presented a problem because they had been using the Analysis Services Processing Task to process - [BYO Time Zone Conversion With SSAS DMVs](https://datasavvy.me/2016/09/21/byo-time-zone-conversion-with-ssas-dmvs/) - This is just a quick note (since I apparently forgot and was puzzled for a moment) that the MDSCHEMA_CUBES DMV shows you LAST_DATA_UPDATE (last processed date) in UTC, regardless of the timezone of your SSAS Server. Marco Russo has a great post about all the ways you can get your SSAS model's last processed date, - [PolyBase Is A Picky Eater - Remove Carriage Returns Before Ingesting Text](https://datasavvy.me/2016/08/01/polybase-is-a-picky-eater-remove-carriage-returns-before-ingesting-text/) - Update: As Gerhard points out in the comments, switching to ORC files solves this issue nicely. It's not human readable, but it is much less error-prone when reading in data. I've spent the last few weeks working on a project that used PolyBase to load data from Azure Blob Storage into Azure SQL Data Warehouse. - [Using Context To Traverse Hierarchies In DAX](https://datasavvy.me/2016/07/28/using-context-to-traverse-hierarchies-in-dax/) - My friend and coworker Melissa Coates (aka @sqlchick) messaged me the other day to see if I could help with a DAX formula. She had a Power BI dashboard in which she needed a very particular interaction to occur. She had slicers for geographic attributes such as Region and Territory, in addition to a chart that - [End of the Power BI Updates List](https://datasavvy.me/2016/07/15/end-of-the-power-bi-updates-list/) - I just finished updating my Power BI updates list for the last time. I started the list in November as a way to keep track of all the changes. When I first started it, they weren't posting the updates to the blog or the What's New sections in the documentation. Now that Microsoft is on - [My PASS Summit Abstract Feedback](https://datasavvy.me/2016/06/24/my-pass-summit-abstract-feedback/) - I wasn't selected to speak at the PASS Summit this year. One of my talks was selected as an alternate, but I'm not holding out hope it will move up. Update: My session got bumped from alternate to scheduled. See here for more information. While I am a bit disappointed, I'm ok with it. I - [Free Data Viz Webinar May 17](https://datasavvy.me/2016/05/08/free-data-viz-webinar-may-17/) - Data visualization remains an important topic in analytics today, especially with the growth of big data and self-service BI. People with all kinds of roles and responsibilities need to communicate with data in the workplace, but most people don't have the training to do so effectively. The brilliant Jason Thomas and I are leading the May - [Colorblind Awareness and Power BI KPIs](https://datasavvy.me/2016/04/22/colorblind-awareness-and-power-bi-kpis/) - Update: The ability to change the color of a KPI was delivered in August 2016! Color blindness, or color vision deficiency (CVD) affects 1 in 12 men and 1 in 200 women in the world. The chances are good that you have met someone who is colorblind, but you may not have realized it. I know at - [Bimling in the Northeast](https://datasavvy.me/2016/03/11/bimling-in-the-northeast/) - I'm expanding my experiences to speak at different SQL Saturdays this year, and I'm very excited to say that I will be speaking at SQLSaturday Boston on March 19th and SQLSaturday Maine on June 4th. My session at both SQL Saturdays will focus on using BimlScript to create good ETL patterns. SSIS has been around for a - [Trekking through the DAX Jungle In Search of Lost Customers](https://datasavvy.me/2016/02/29/trekking-through-the-dax-jungle-in-search-of-lost-customers/) - I like to think I'm proficient at writing DAX and building SSAS tabular models. I enjoy a good challenge and appreciate requirements that cause me to stretch and learn. But sometimes I hit a point where I realize I must go for help because I'm not going to complete this challenge in a timely manner - [Creating a Matrix in Power BI With Multiple Values on Rows](https://datasavvy.me/2016/01/08/creating-a-matrix-in-power-bi-with-multiple-values-on-rows/) - This week I was asked to create a matrix in a Power BI report that looks like this: To my surprise, Power BI only lets you put multiple values on columns in a matrix. You can't stack metrics vertically. Note: this is true as of 8 Jan 2016 but may change in the future. If you agree that - [Using a Variable to Populate the Query in a Lookup in SSIS](https://datasavvy.me/2015/12/28/using-a-variable-to-populate-the-query-in-a-lookup-in-ssis/) - I encountered a situation on my last SSIS project in which I needed to be able to populate the query in lookup with a where clause that referenced a project parameter. This wasn't something I had ever needed to do in the past, so I had to do a bit of digging to figure it out. Luckily, - [Type 6 or Hybrid Type 2 Slowly Changing Dimension with Biml](https://datasavvy.me/2015/12/26/type-6-or-hybrid-type-2-slowly-changing-dimension-with-biml/) - In my previous post, I provided the design pattern and Biml for a pure Type 2 Slowly Changing Dimension (SCD). When I say "pure Type 2 SCD", I mean an ETL process that adds a new row for a change in any field in the dimension and never updates a dimension attribute without creating a new row. - [Demystifying the Type 2 Slowly Changing Dimension with Biml](https://datasavvy.me/2015/12/20/demystifying-the-type-2-slowly-changing-dimension-with-biml/) - Most data warehouses have at least a couple of Type 2 Slowly Changing Dimensions. We use them to keep history so we can see what an entity looked like at the time an event occurred. From an ETL standpoint, I think Type 2 SCDs are the most commonly over-complicated and under-optimized design pattern I encounter. - [Datazen Lives On in SQL Server 2016](https://datasavvy.me/2015/11/18/datazen-lives-on-in-sql-server-2016/) - Microsoft acquired Datazen back in April 2015, and I explored it and wrote about it a couple months later. To date, Microsoft has mostly left the product as is, although a new version containing bug fixes and a few enhancements was released in September. While I was at PASS Summit I learned that there is - [I'm Speaking At IT/Dev Connections](https://datasavvy.me/2015/08/24/dev-connections/) - I am honored to be part of the fantastic group of speakers in the Data Platform & Business Intelligence track at IT/Dev Connections this year. IT/Dev Connections is happening September 15 though 17th (with Pre-Cons on the 14th) in Las Vegas, Nevada at the ARIA Resort & Casino. The abstracts for my two presentations are below. - [I'm excited about Kansas City SQL Saturday](https://datasavvy.me/2015/08/02/im-excited-about-kansas-city-sql-saturday/) - It's that time of year again. School is about to start, the weather is getting even hotter, beer festivals are occurring every weekend, and we are busy planning KC SQL Saturday. This is our sixth year (and my fourth year on the organizing committee), and I must say that I am genuinely excited about some of - [Storytelling with Tableau](https://datasavvy.me/2015/07/30/storytelling-with-tableau/) - In addition to writing here on my personal blog, I also occasionally blog for BlueGranite. I contributed this week's Demo Day blog article and video on Improving Data Viz Effectiveness. I'll let you check them out on the BlueGranite site, but I wanted to point out a great feature of Tableau that I'm learning to appreciate: - [Notes and Tips on SQL Server Spatial Data Types](https://datasavvy.me/2015/07/30/notes-and-tips-on-sql-server-spatial-data-types/) - I've been working on a project that includes geographical data representing stops on a delivery route. I've just completed loading this data into a data mart. The source data contains longitude and latitude in millionths of a degree with 9 digits of data. We haven't decided what tool we will use to visualize this data yet, - [Biml for a Type 1 Slowly Changing Dimension](https://datasavvy.me/2015/07/22/biml-for-a-type-1-slowly-changing-dimension/) - I've been working on building my Biml library over the last few months. One of the first design patterns I created was a Type 1 Slowly Changing Dimension where all fields except the key fields that define the level of granularity are overwritten with updated values. It assumes I have a staging table, but it could probably - [What's The Deal With Datazen?](https://datasavvy.me/2015/06/01/whats-the-deal-with-datazen/) - I've been exploring Datazen for the last several weeks, and I've had the opportunity to discuss it with some clients. While it doesn't do everything everyone wants it to, I think it fills some feature gaps in the MSBI mobile story. What is Datazen? Datazen was initially released in 2013 and gained popularity and many positive - [Biml Basics](https://datasavvy.me/2015/05/17/biml-basics/) - In my last post, I explained what Biml is, how to get it, and the benefits of using Biml. I also provided a learning plan for getting started. I've reposted steps 1 - 3 from the learning plan below. I will cover these items in this post and the remaining items in a future post. Create a - [Beginning With Biml](https://datasavvy.me/2015/04/29/beginning-with-biml/) - I have been learning and using Biml for several months, but I neglected to blog about it until now. If you are using SSIS and are not familiar with Biml you need to check it out. Apologies if this post sounds like an ad for Biml, but if you read down to the Benefits of - [Using Power Query to Transform Website Data with Multiple Rows Per Entity](https://datasavvy.me/2015/03/22/using-power-query-to-transform-website-data-with-multiple-rows-per-entity/) - My colleague Hope Foley and I both enjoy a good craft beer. She has a great presentation on spatial data in SQL Server, which contains data about breweries. She mentioned she was gathering new data to add to her brewery database and showed me the brewery listing on the Brewery Collectibles Club of America website. - [Eight Things I've Learned in My First 3 Months of Telecommuting](https://datasavvy.me/2015/03/12/eight-things-ive-learned-in-my-first-3-months-of-telecommuting/) - A few months ago, I started a new job in which I telecommute. I was worried about whether I would enjoy it and whether I would be productive, and I wasn't quite sure what to expect. I began my job by being as prepared as I could be and just going with the flow to get everything - [Improving Performance in Excel and Power View Reports with a Power Pivot Data Source](https://datasavvy.me/2015/02/19/improving-performance-in-excel-and-power-view-reports-with-a-power-pivot-data-source/) - On a recent project at work, I ran into some performance issues with reports in Excel built against a Power Pivot model. I had 2 Power Views and 2 Excel pivot table reports, of which both Excel reports were slow and one Power View was slow. I did some research on how to improve performance - [Color Coding Values in Power View Maps Based Upon Positive/Negative Sign](https://datasavvy.me/2015/01/18/power-view-maps-color-coding-positive-negative-sign/) - Power View can be a good tool for interactive data visualization and data discovery, but it has a few limitations with its mapping capabilities. Power View only visualizes data on maps using bubbles/pies. The size of the bubble on a Power View map can be misleading during analysis for data sets with small values and negative values. By default, - [2014 in Review](https://datasavvy.me/2015/01/09/2014-in-review/) - 2014 was a wonderful, challenging, exhausting, exciting year. I grew a lot as a person and as a BI professional. This blog grew in content and in popularity. I'd like to take a moment (and several paragraphs) to celebrate the great opportunities and great people who made my year special. Speaking engagements I gained more - [Webucator Made a Video of My Blog Post](https://datasavvy.me/2014/12/10/webucator-made-a-video-of-my-blog-post/) - Back in July, I wrote a blog post about My Favorite BIDS Helper features for SSAS development. Webucator contacted me about creating a video based upon it, and it's now available. They are doing a free series called SQL Server Solutions from the Web where they highlight different SQL Server solutions found on blog posts around - [Let's have a SQL Cruise: BI Edition](https://datasavvy.me/2014/10/19/lets-have-a-sql-cruise-bi-edition/) - Have you heard about SQL Cruise? If you aren't familiar with it, SQL Cruise is a great learning and networking opportunity for SQL Server professionals. It combines the fun of a cruise ship with the fun of hanging out with and learning from SQL people, all for a very reasonable price. Unlike other conferences, you - [I'm speaking at PASS Summit 2014](https://datasavvy.me/2014/08/25/im-speaking-at-pass-summit-2014/) - I'm pleased and honored to say that I will be speaking at PASS Summit 2014 November 4 - 7 in Seattle. I will be presenting one general session and one lightning session. I'm excited to be an attendee and a speaker at the world's largest gathering of SQL Server and BI professionals. I hope you - [My Favorite BIDS Helper Features for SSAS Development](https://datasavvy.me/2014/07/31/favorite-bids-helper-ssas-features/) - Bill Fellows and I presented Somebody Got BIDS Helper in My Data Tools at Mile High Tech Con in Denver last weekend, and it reminded me how much I love BIDS Helper. I use it to develop all of my SSIS and SSAS projects, but I realized I haven't blogged much about it. So here - [Create a Power View Sheet Connected to an SSAS Tabular Model Without SharePoint](https://datasavvy.me/2014/06/23/create-a-power-view-sheet-connected-to-an-ssas-tabular-model-without-sharepoint/) - I have created Power View reports based upon SSAS Tabular models many times, but I typically go through SharePoint to get my data connection from a BISM connection file. I am now working on a project where I need to create Power Views connected to a tabular model without using SharePoint. The way to do - [New Speaking Opportunities This Summer](https://datasavvy.me/2014/06/17/new-speaking-opportunities-this-summer/) - I've enjoyed speaking at several SQL Saturdays and some local user group meetings over the past couple of years. This summer I've been invited to speak at some new venues. First up is a webinar through the PASS Business Analytics Virtual Chapter. The PASS BA VC is a great place to find free online training - [Power Pivot: Dynamically Identifying Outliers with DAX](https://datasavvy.me/2014/05/27/power-pivot-dynamically-identifying-outliers-with-dax/) - I have been working on a project in which we were looking at durations as an indicator of service levels and customer satisfaction, specifically the maximum duration and average duration. We built a small dimensional data mart in SQL Server to house our data, then pulled it in to Excel using Power Pivot so we - [Choosing A Mapping Tool in the SQL Server BI Stack](https://datasavvy.me/2014/04/29/choosing-a-mapping-tool-in-the-sql-server-bi-stack/) - With the addition of the Power BI suite to the SQL Server BI stack, there are now 3 main options for creating data-driven maps. I have been working on a presentation to help you choose which mapping tool is appropriate for your needs on a given project. I gave the presentation for the first time - [I'm Speaking About Geospatial Data Viz and Data Viz Best Practices in April](https://datasavvy.me/2014/03/19/im-speaking-about-geospatial-data-viz-and-data-viz-best-practices-in-april/) - I will be speaking at two SQL Saturdays in April. First, I will be at SQLSaturday #297 in Colorado Springs on April 12. I'll be presenting my session on The Accidental Report Designer: Data Visualization Best Practices in SSRS. See my previous post on this subject to understand why I think it is an important - [Power Map for Excel is Now Generally Available for Office 365 With a Few New Features and Bug Fixes](https://datasavvy.me/2014/02/25/power-map-for-excel-is-now-generally-available-for-office-365-with-a-few-new-features-and-bug-fixes/) - Today, Microsoft announced that Power Map for Excel is now in GA. As Chris Webb noted, it will only be available for those that have Office 365 ProPlus. Those with standalone Excel or Office Professional Plus will not get the GA version of Power Map. I just finished applying the update to Office to get - [Moving Calculated Measures in Power Pivot for Excel 2013](https://datasavvy.me/2014/01/20/moving-calculated-measures-in-power-pivot-for-excel-2013/) - I learned a lesson the hard way: I shouldn't change field names and data types in Power Pivot on tables that were imported using Power Query. My changes broke the connection between the two tools, so when I refreshed a query in Power Query that was set to load the results to my data model - [I'm speaking in January about data visualization](https://datasavvy.me/2014/01/13/im-speaking-in-january-about-data-visualization/) - I am excited to have two opportunities to speak in January. The first is the Kansas City SQL Server User Group. I will be speaking at the monthly KCSSUG meeting on January 16th at 2:30pm CST. You can RSVP for the event here. Next I will be speaking at SQL Saturday #271 in Albuquerque. At - [Most Popular Names Visualized in Excel](https://datasavvy.me/2013/12/13/most-popular-names-visualized-in-excel/) - A couple of months ago, I came across an article in the Atlantic that showed an animated gif of the most popular baby names by state by year. I decided to visualize this data using various add-ins and chart types in Excel. Retrieving the Data I found the data on the Social Security Administration website. - [Retrieving Lowest Level Hierarchy Members and Leaves in MDX](https://datasavvy.me/2013/12/02/retrieving-lowest-level-hierarchy-members-and-leaves-in-mdx/) - The Original Answer I was answering questions on Stack Overflow when I came across a question about getting the last level of a hierarchy in MDX when you don't know how many levels there will be. SSAS multidimensional allows for parent-child hierarchies without having to define a maximum number of levels. A common use case - [Infographic vs Power View](https://datasavvy.me/2013/11/13/infographic-vs-power-view/) - Someone on Twitter posted a link to an infographic on the 10 most visited cities in the world, which you can see below. I'm interested in travel, and I like data, so I looked through it. After a second or two of looking at it, my BI and dataviz nerdiness kicked in. Here were my - [Fun With OPENROWSET](https://datasavvy.me/2013/11/12/fun-with-openrowset/) - I've had several occasions to use OPENROWSET recently in T-SQL. Although you can use it as an ad hoc alternative to a linked server to query a relational database, I'm finding it useful to get data from other sources. I'll go into details of how to use it, but first I would like to acknowledge: - [The One Book](https://datasavvy.me/2013/08/15/the-one-book/) - I tend to get some variation of the following question as I present at SQL Saturdays and work with clients: What is the one book I should read to gain a good understanding of this topic? There are many great books out there on business intelligence, data warehousing, and the Microsoft BI stack. Here is - [I'm speaking at SQLSaturday #236 in St. Louis](https://datasavvy.me/2013/07/03/im-speaking-at-sqlsaturday-236-in-st-louis/) - I'm excited to be speaking at SQLSaturday #236 in St. Louis, MO on August 3, 2013. I will be presenting a session on Excel Cube Functions. Excel Cube functions have been around for a while and in my opinion do not get the acclaim they deserve. I learned to use them in my first job - [Links for Excel Data Explorer](https://datasavvy.me/2013/06/30/links-for-excel-data-explorer/) - My company has monthly "Tech Talks" where one of the employees presents a topic on a new technology or a cool way to use an existing technology. This month I gave the tech talk on the Data Explorer add-in for Excel 2013 (currently in Preview). I have been playing with it for a couple of - [Dashboard designer launch error in SharePoint 2010](https://datasavvy.me/2013/05/15/dashboard-designer-launch-error-in-sharepoint-2010/) - In case this ever happens to you... If you access SharePoint and are prompted for your password and do not check the box to remember your password, you may not be able to launch Dashboard Designer. If this happens, you may get the following error: ERROR SUMMARY Below is a summary of the errors, details - [The other background color property in SSRS](https://datasavvy.me/2013/04/28/the-other-background-color-property-in-ssrs/) - When you make an SSRS report with a non-white background, you may initially notice some white around the edges of the report. This MSDN forum post helped explain why this occurs. When you set the background color property on the report body through the wizard-like UI (shown below), you are setting the background color of the report - [SQLSaturday fun in Omaha](https://datasavvy.me/2013/04/06/sqlsaturday-fun-in-omaha/) - I finished up my presentation in Omaha, so now I can enjoy the rest of the day and learn from other speakers. Here's a link to my presentation - [Some business intelligence links I revisit and send to others](https://datasavvy.me/2013/03/24/some-business-intelligence-links-i-revisit-and-send-to-others/) - I need to get some chores done, but instead I am cleaning up my bookmarks and re-reading bookmarked articles. Hopefully this is beneficial for you, since you now get to have a small collection of useful links. These are just a small sample of articles that I find myself going back to either for my - [Links on data visualization best practices in SSRS](https://datasavvy.me/2013/03/24/links-on-data-visualization-best-practices-in-ssrs/) - I compiled a great list of links on data visualization and SSRS tips in the process of creating my presentation for SQL Saturday #159 and #165. Happy reading! My favorite Perceptual Edge/Stephen Few blog posts: Bullet Graph Design Specification Common Pitfalls in Dashboard Design Effectively Communicating Numbers Examples Rules for Using Color Assessing the Effectiveness ## Pages - [About](https://datasavvy.me/about/) - I'm Meagan Longoria, an analytics and data engineering consultant with ProcureSQL and a Microsoft MVP who helps people understand their data and use it to learn and make better decisions. I focus on the Microsoft data platform, doing data modeling, data lakehouse, and data warehouse design, as well as semantic models, and data visualization. I - [Email Subscription](https://datasavvy.me/email-subscription/) - You can sign up for email subscriptions below to be notified of new posts on my site. I do not send separate newsletters or any other emails from this site. I usually post about once a month. - [Presentations](https://datasavvy.me/presentations/) - I like to present at conferences and user group meetings. I post presentation materials here for those that are interested. Recent presentations: Populate Your Data Warehouse with a Metadata-Driven, Pattern-based Approach (October 2024) Building a Regret-free Foundation for your Data Factory (June 2024) Making Paginated Reports More Accessible (June 2023) Inclusive Presentation Design, Handout (March - [Azure Data Factory Activity and Pipeline Outcomes](https://datasavvy.me/azure-data-factory-activity-and-pipeline-outcomes/) - The way Azure Data Factory reports the success or failure of a pipeline is different than some other applications and languages, so I created this guide to help clarify the expected results. An activity failure does not always mean that the pipeline fails. But the same activity executions with additional dependencies can change the reported - [3 Things My Employer Does That Helped Me Work While Depressed](https://datasavvy.me/3-things-my-employer-does-that-helped-me-work-while-depressed/) - Resources for Further Reading Last Updated 4 May 2023 Note: I do not have expertise in mental health. I do not have expertise to review studies linked below for validity. Some links are not peer reviewed studies and are simply blogs that I thought offered a good explanation of concepts. I am including these links - [Bookmarks, brain pixels, and bar charts: creating effective Power BI reports](https://datasavvy.me/bookmarks-brain-pixels-and-bar-charts-creating-effective-power-bi-reports/) - Pre-Con Description Creating a Power BI report is an interdisciplinary activity. It lies at the intersection of data analysis, cognitive science, graphic design, communication, and user experience design. To be successful, we need to approach it holistically, rather than see it as "just a data thing". In this all-day session, we'll cover Power BI features, - [Power BI Visualization Usability Checklist](https://datasavvy.me/pbi-data-viz-checklist/) - Data visualization is a skill that must be practiced and sharpened. While some of it is subjective, there are some guidelines that can be observed and applied. While this checklist is not exhaustive nor concrete, it is a great place to start for those who want to employ a quality check on their data visualizations - [Design Concepts for Better Power BI Reports](https://datasavvy.me/design-concepts-for-better-power-bi-reports/) - I have started a series about applying design concepts to report design in Power BI. Below are links to each article in the series. Cognitive Load Preattentive Attributes Gestalt Principles The Squint Test Affordances ## MailPoet Page - [MailPoet Page](https://datasavvy.me/?mailpoet_page=subscriptions) - [mailpoet_page] - [MailPoet Page](https://datasavvy.me/?mailpoet_page=captcha) - [mailpoet_page] ## Categories - [Blog](https://datasavvy.me/category/blog/) - Your blog category - [Accessibility](https://datasavvy.me/category/accessibility/) - [Azure](https://datasavvy.me/category/azure/) - [Azure Data Factory](https://datasavvy.me/category/azure-data-factory/) - [Azure Data Lake](https://datasavvy.me/category/azure-data-lake/) - [Azure SQL DB](https://datasavvy.me/category/azure-sql-db/) - [Azure SQL DW](https://datasavvy.me/category/azure-sql-dw/) - [Azure Storage](https://datasavvy.me/category/azure-storage/) - [BIDS Helper](https://datasavvy.me/category/bids-helper/) - [Biml](https://datasavvy.me/category/biml/) - [Books](https://datasavvy.me/category/books/) - [Conferences](https://datasavvy.me/category/conferences/) - [Consulting](https://datasavvy.me/category/consulting/) - [Data Explorer](https://datasavvy.me/category/data-explorer/) - [Data Visualization](https://datasavvy.me/category/data-visualization/) - [Data Warehousing](https://datasavvy.me/category/data-warehousing/) - [Databricks](https://datasavvy.me/category/databricks/) - [Datazen](https://datasavvy.me/category/datazen/) - [DAX](https://datasavvy.me/category/dax/) - [DCAC](https://datasavvy.me/category/dcac/) - [Deneb](https://datasavvy.me/category/deneb/) - [Excel](https://datasavvy.me/category/excel/) - [KQL](https://datasavvy.me/category/kql/) - [Logic Apps](https://datasavvy.me/category/logic-apps/) - [MDX](https://datasavvy.me/category/mdx/) - [Microsoft Fabric](https://datasavvy.me/category/microsoft-fabric/) - [Microsoft Flow](https://datasavvy.me/category/microsoft-flow/) - [Microsoft Power Apps](https://datasavvy.me/category/microsoft-power-apps/) - [Microsoft Technologies](https://datasavvy.me/category/microsoft-technologies/) - [PASS Summit](https://datasavvy.me/category/pass-summit/) - [PerformancePoint](https://datasavvy.me/category/performancepoint/) - [Personal](https://datasavvy.me/category/personal/) - [Power BI](https://datasavvy.me/category/power-bi/) - [Power Map](https://datasavvy.me/category/power-map/) - [Power Pivot](https://datasavvy.me/category/power-pivot/) - [Power Query](https://datasavvy.me/category/power-query/) - [Power View](https://datasavvy.me/category/power-view/) - [PowerShell](https://datasavvy.me/category/powershell/) - [Python](https://datasavvy.me/category/python/) - [SQL Saturday](https://datasavvy.me/category/sql-saturday/) - [SQL Server](https://datasavvy.me/category/sql-server/) - [SSAS](https://datasavvy.me/category/ssas/) - [SSIS](https://datasavvy.me/category/ssis/) - [SSRS](https://datasavvy.me/category/ssrs/) - [T-SQL](https://datasavvy.me/category/t-sql/) - [Tableau](https://datasavvy.me/category/tableau/) - [Telecommuting](https://datasavvy.me/category/telecommuting/) - [Uncategorized](https://datasavvy.me/category/uncategorized/) - [Unity Catalog](https://datasavvy.me/category/unity-catalog/) - [Workout Wednesday](https://datasavvy.me/category/workout-wednesday/) - [Fabric Pipelines](https://datasavvy.me/category/microsoft-fabric/fabric-pipelines/) - [Fabric Notebooks](https://datasavvy.me/category/microsoft-fabric/fabric-notebooks/) - [Artificial Intelligence](https://datasavvy.me/category/artificial-intelligence/) - [Fabric Mirroring](https://datasavvy.me/category/microsoft-fabric/fabric-mirroring/) - [Fabric Lakehouse](https://datasavvy.me/category/microsoft-fabric/fabric-lakehouse/) ## Tags - [DCAC](https://datasavvy.me/tag/dcac/) - [ProcureSQL](https://datasavvy.me/tag/procuresql/)