Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Find articles, guides, information and community news

Most Recent
anmolmalviya05
Super User
Super User

In this blog, we’ll explore how to use the NETWORKDAYS DAX function in Power BI to calculate the number of working days between two dates, excluding weekends and optionally specified holidays.

Read more...

Poweraegg
Advocate IV
Advocate IV

Simplify your data models and reduce redundancy in Microsoft Fabric by using a bridge table—a lightweight connector that links multiple fact tables without duplicating dimensions. Learn how to implement this powerful technique in Lakehouse and Power BI for improved performance and scalability.

Read more...

PradipVS
Microsoft Employee
Microsoft Employee

Discover how Power BI Copilot is revolutionizing the way businesses gain insights and make informed decisions. Explore step-by-step solutions to overcome common challenges faced when integrating Copilot with existing Power BI models. With practical tips and strategies, this blog will guide you on maximizing the benefits of Power BI Copilot, ensuring quick wins and long-term success.

The Journey

 

In this blog, we will cover our customer’s Power BI Copilot journey in the following areas:

 

  1. Model Building and Copilot Performance: How the model was built and how Copilot performed on top of it.
  2. Identifying and Addressing Accuracy Issues: Uncovering why less accurate answers were generated and optimizing the model to address these issues.
  3. Fixing Model Aspects: Addressing relationships, synonyms, linguistic modeling, unused measures, naming conventions, and more.
  4. Testing and Prompt Engineering: Our methods for testing and improving accuracy through prompt engineering.
  5. Learnings and Recommendations: Insights and recommendations to enhance the Copilot experience.
  6. Investment in this Technology: How to get the best value from reports by combining traditional reporting with Copilot.
  7. Is it worth the development effort?: Is it worth investing time in finetuning the model to enable this technology? How will it unlock various aspects in the future?
  8. Future of Reporting: The roadmap for Copilot in Power BI and how the future of reporting will change in the coming years.
Read more...

anmolmalviya05
Super User
Super User

Did you know that Power BI offers multiple ways to display hyperlinks in a table or matrix visual? You can show hyperlinks as the full URL, an icon, or even format text from another column to include the hyperlink. These hyperlinks can direct users to a website or navigate to a different page within the same or another Power BI report.

Read more...

FarhanJeelani
Super User
Super User

Unpivoting vs. Splitting by Delimiter: When to Use Each and Why It Matters

When working with data, particularly in business intelligence or reporting tools like Power BI, one of the most common challenges is how to manage fields that contain multiple values. A common example is when a field contains a list of values separated by a delimiter, like a client list for a ticket or an order.

You’ve probably encountered situations where a single field contains values like “Apple, X, Uber” and wondered: “How can I analyze this properly without ending up with a cluttered report?” Two of the most common methods for dealing with such scenarios are splitting by delimiter and unpivoting the data. But how do these approaches compare, and when should you use each one?

Let’s dive in!

The Problem: Multiple Values in a Single Field

Imagine you’re working with a dataset where tickets can impact multiple clients. The field for “Clients Impacted” might contain values like:

  • Apple
  • Apple, X
  • Microsoft, Skip
  • Apple, X, Uber

The issue is that you need to filter, group, and report on this data. But when the clients are in the same field, filtering them becomes a nightmare. You might end up seeing entries like “Apple, X, Uber” in the filter list, which is not ideal. You want a clean list of clients like “Apple, Microsoft, X, Uber,” and then to be able to see all tickets that impact Apple, even if other clients are also impacted.

To solve this, there are two main approaches: splitting by delimiter and unpivoting. Let's explore both.

Splitting by Delimiter: The Quick Fix (But Not Always the Best Solution)

Splitting by delimiter sounds like a quick fix. After all, you simply break the field into multiple rows based on the delimiter, and voilà, you're done! If a ticket impacts three clients, you end up with three separate rows, one for each client.

How It Works:

  • A ticket with “Apple, X, Uber” is split into three rows:
    • Row 1: Ticket ID, Issue Description, Apple
    • Row 2: Ticket ID, Issue Description, X
    • Row 3: Ticket ID, Issue Description, Uber

This may seem like a solution, but it comes with a catch: you’re duplicating ticket data. Each row for the same ticket contains the same ticket information (e.g., Ticket ID, Issue Description) multiple times. So, while you technically get multiple rows for each client, you're also bloating your data with repetition.

When to Use Splitting by Delimiter:

  • Simple scenarios: If your dataset is small and you don’t mind some redundancy, splitting by delimiter can be a quick and easy way to break down the data.
  • Short-term solution: If you're just exploring the data and need a quick way to split things up for one-off analysis or reporting, this method might suffice.

Downsides of Splitting by Delimiter:

  • Data duplication: As mentioned, you’re repeating ticket data, which can cause issues when aggregating or filtering. If you’re summarizing tickets, you might end up counting the same ticket multiple times.
  • Performance issues: As your dataset grows, the repeated ticket information can lead to bloated datasets, impacting performance and making analysis slower.
  • Messy filtering: Since you’re dealing with the raw combinations of clients (e.g., “Apple, X, Uber”), filtering becomes confusing and less intuitive.

Unpivoting: The Cleaner, More Scalable Solution

Unpivoting the data is a more structured, normalized approach to handling this type of multi-value field. Instead of creating multiple rows for the same ticket with repeated information, unpivoting breaks out the multi-value field into its own row for each client, while keeping the ticket-level data intact.

How It Works:

  • A ticket with “Apple, X, Uber” is unpivoted into three rows:
    • Row 1: Ticket ID, Issue Description, Apple
    • Row 2: Ticket ID, Issue Description, X
    • Row 3: Ticket ID, Issue Description, Uber

The key difference is that ticket-level data is not duplicated—it’s simply associated with the relevant client(s).

When to Use Unpivoting:

  • Scalable analysis: If you need to run detailed analysis and filters, unpivoting is the way to go. It normalizes the data without creating redundancy, making it easier to filter, group, and aggregate.
  • Large datasets: For bigger datasets where performance matters, unpivoting is a much more efficient approach. It keeps the data size manageable while still allowing flexibility.
  • Reporting with specific clients: If you need a clean, organized list of clients for filtering purposes, unpivoting gives you that without messy combinations of client names like “Apple, X, Uber.”

Advantages of Unpivoting:

  • Cleaner filtering: You’ll end up with a neat, distinct list of clients to filter by, which makes reporting and analysis much more intuitive.
  • No data duplication: Since each row is associated with just one client per ticket, there’s no redundant ticket information to inflate your dataset.
  • Improved performance: By normalizing the data, unpivoting can significantly reduce the size of your dataset and make operations faster.
  • Better relationships: You can create relationships between tables (e.g., linking a unique Clients table to your Tickets table) for a more robust data model.

Comparing the Two: When to Use Which?

Scenario Splitting by Delimiter Unpivoting
Small datasets Quick and simple for basic exploration or one-off reports. Can be used but might be overkill for small datasets.
Multiple client impact Works, but produces messy and redundant rows. Clean, normalized, and efficient.
Performance-sensitive reports Not ideal due to data bloat and redundancy. More efficient and scalable for large datasets.
Need for clean filtering Filter list is cluttered with concatenated client names. Clear and distinct filter list, much easier to use.
Aggregations or counting Risk of double-counting due to duplicated ticket data. No duplication, better for aggregations and counts.
Long-term data modeling Becomes cumbersome as the dataset grows. Best for building long-term, scalable data models.

Conclusion: What’s the Verdict?

Both splitting by delimiter and unpivoting are valid techniques, but they serve different purposes depending on the situation:

  • If you’re dealing with small datasets, want a quick fix, and don’t mind some redundancy, splitting by delimiter might get the job done. Just be cautious when your data grows or when you need to perform more complex analyses.

  • If you’re working with larger datasets, need cleaner filters, want better performance, and require a more scalable solution, unpivoting is the better approach. It normalizes the data, reduces redundancy, and ultimately makes your reports more reliable and easier to manage in the long run.

At the end of the day, unpivoting is usually the more powerful, flexible solution, especially as your reporting needs grow and become more complex. However, if you’re in a pinch and only need a quick, simple breakdown, splitting by delimiter can do the trick. Just remember, if you choose the quick route, don’t be surprised when things start to get messy as your data expands!

anmolmalviya05
Super User
Super User

In this blog, we will see how to create Pareto Chart in Power BI.

Read more...

FarhanJeelani
Super User
Super User

Kindly review Part 1 before proceeding with this blog for a better understanding.

Read more...

FarhanJeelani
Super User
Super User

Summary: The Power of No-Code/Low-Code Data Analysis on Embedded Report Development to create Data-Driven Decision-Making Culture

No-code and low-code data analysis tools empower organizations to foster data-driven decision-making by democratizing access to data. These tools simplify data analysis, enabling users without technical expertise to extract insights and drive organizational success. Microsoft Power BI offer user-friendly interfaces, real-time analytics, and secure data accessibility, making them effective for small, medium-sized  and large organizations seeking cost-effective solutions.

Key Insights:

  • No-Code/Low-Code Tools: Designed for ease of use, these tools allow users to create data workflows and perform advanced analyses with minimal or no coding knowledge.
  • Microsoft Power BI: Features include drag-and-drop dashboards, real-time analytics, and integration with Office 365, providing a seamless, secure, and collaborative environment.
  • Advantages: Cost-effective, user-friendly, secure, and accessible to a broader audience.
  • Challenges: Limited flexibility, potential errors from predefined workflows, and the need for basic coding in some low-code tools.

Application in Embedded Reports:

A comprehensive BI solution can leverage Power BI Embedded to deliver numbers of secure, interactive dashboards without requiring end-users to have Power BI Pro licenses. Key features include Row-Level Security (RLS) for data access control, Single Sign-On (SSO) for seamless authentication, and cost optimization through premium workspaces for testing and production. The solution integrates with organizational authentication systems, ensuring a user-friendly and secure reporting experience.

Project Overview:

  1. Objective: Develop dashboards with RLS and SSO, minimizing licensing costs while ensuring secure access.
  2. Development Phases:
    • Requirement gathering, dashboard design, data preparation, and RLS configuration.
    • SSO setup and dashboard development using Power BI Desktop.
    • Testing, deployment, and ongoing support.
  3. Benefits: Cost savings, enhanced data security, seamless user experience, and real-time insights for decision-making.

This approach highlights the transformative power of no-code/low-code tools in democratizing data access, improving decision-making, and streamlining BI implementation in organizations.

Read more...

Kumail
Post Prodigy
Post Prodigy

Unlock enterprise-grade version control and CI/CD for your Microsoft Fabric dashboards. Learn how to implement GitHub integration for real-time analytics, complete with code samples and deployment best practices.

Read more...

suparnababu8
Super User
Super User

Hello Power BI Enthusiasts,

In this article, I will elucidate the process of displaying selected slicer values in Power BI reports.

1730810111188.png

Read more...

Poweraegg
Advocate IV
Advocate IV

Unlocking the Power of Direct Lake Mode: A Deep Dive into Microsoft Fabric's Game-Changing Feature

Want to handle billions of rows of data with lightning-fast queries? Microsoft Fabric's Direct Lake mode makes it possible, but only if you know how to harness its full potential. In this comprehensive guide, we reveal the critical optimization strategies that transform this powerful feature from a resource-hungry challenge into a streamlined data powerhouse. From sophisticated throttling mechanisms to advanced compression techniques, discover how to architect your data lake for peak performance while avoiding common pitfalls that can bottleneck your queries.

Read more...

zenisekd
Super User
Super User

Let me show you, how one organization can pay for fabric capacity, build premium items (pipelines, notebooks, etc) on top of it, and share it with other organizations (users from other domains with PRO licenses). 

Read more...

anmolmalviya05
Super User
Super User

In this blog, we’ll explore two straightforward methods to connect Excel files to Power BI and learn how to append multiple similar Excel files dynamically, saving time and effort.

Read more...

anmolmalviya05
Super User
Super User

DAX functions are thriving nowadays, they have become one of the most popular and learned languages in the Business Intelligence Domain. It contains expressions that are a kind of magical in themselves and help in analysis for finding useful insights. This blog is all about providing an overview of most commonly used expressions in Power BI which are ALL, ALL SELECTED and ALL EXCEPT.

 

ALL – Returns all the rows in a table or all the values in a column, ignoring any filters which might have been applied.

Syntax- ALL ([<TableNameOrColumnName>] [, <ColumnName> [, <ColumnName> [, …]]]

 

anmolmalviya05_0-1736751370803.png

 

This syntax will help us to get a total of sales value while ignoring any filters which might have been applied on the product name. In the image shown below we have a measure named as “ALL” present in the table which is providing a total of sales value without getting affecting through the product name column present in the table, as we have used the “ALL” function for that particular column. The output is shown below-

 

anmolmalviya05_1-1736751388726.png

 

ALLSELECTED- Returns all the rows in a table or all the values in a column, ignoring any filters which might have been applied on the columns or the rows but keeping all other explicit filters.

Syntax- ALLSELECTED([<tableName> | <columnName> [, <columnName> [, <columnName> [,]]]])

 

anmolmalviya05_2-1736751414353.png

 

This syntax will help us track down the sales value considering the explicit filters applied but ignoring any filters applied on rows or columns. And with the image below it can be evident that the “ALLSELECTED” measure is taking into account the explicit filter applied and providing the output.

 

A) Table view is representing that the “ALLSELECTED” measure sales total is not affected by the product name column present in table

 

B) This Table View is representing that only “Product Name” explicit filter mentioned in the ALLSELECTED measure will affect its total.

 

anmolmalviya05_3-1736751439727.pnganmolmalviya05_4-1736751449677.png

 

ALLEXCEPT- Returns all the rows in a table or all the values in a column, ignoring all context filters applied but taking into account the specified columns filter.

Syntax- ALLEXCEPT(<table>, <column> [, <column> [,]]) 

 

anmolmalviya05_5-1736751488166.png

 

This particular syntax will help in calculating sales value while considering the explicit filters applied for the specified column that is “Product name” but other than that no explicit filter will work for this. Result can be seen below-

 

A)  Table view represents that the “Product Name” explicit filter cannot affect the ALLEXCEPT total sales.

 

anmolmalviya05_6-1736751506001.png

 

B) Table view represents that except the “Category” explicit filter no other will have an effect on ALLEXCEPT total

 

anmolmalviya05_7-1736751525220.png

 

Best Regards
Anmol malviya

Data Analyst | Addend Analytics

anmolmalviya05
Super User
Super User

Data Labels are one of the critical components of any Power BI visual. It allows users to understand the visuals easily. With the help of Custom Data Labels, users can see a particular data point and trends.

Read more...

Helpful resources

Join Blog
Interested in blogging for the community? Let us know.