Why Data Modelling is Important in BI

As per my experience in working on reporting systems based on semantic models, aka “self-service BI”, but the principles are the same we had in DSS (decision support system), OLAP (on-line analytical processing), and many other names that we’ve seen over the years.

The basic idea is always the same: enable the user to navigate data without rewriting a new query every time. In order to do that, a description of the data model with metadata that enrich the simple collection of table and relationships allows a generic client tool to offer a customized experience, as it was designed for a specific business need.
Creating a good data model specific for the business analysis is important because the goal is different compared to a database that runs a transactional application. If you want to record sales, you need a database that is optimized to collect data in a safe and accurate way. If you want to analyze sales, you need a data model that is optimized to query and aggregate data in volume. These two requirements are different in a way that is much larger than a simple performance issue.

A normalized model for a transactional application might show challenges for a query. How to interpret a missing data or a null value? A data model optimized for the analysis is simpler in its nature, because the data have been transformed so that they are unambiguous.

Power BI shares the same data modeling experience of Power Pivot and Analysis Services Tabular. The easiest way to create a data model is to get the data “as is” from a data source, define relationships, and then start designing reports. However, this approach raises several issues when you have too many tables, or different granularities in tables representing the same entity from different data sources. Power Query and the M language are here to solve these problems. If you are so lucky to read data from a well-designed data mart that follows the star schema principles, you don’t need any transformation. But in all the other cases, you probably should massage your tables before creating your reports.

The question is: what is the right data model for the business analysis?
The first simple answer is: the model should be designed to answer business questions, and not to simply represent the data as they come from the data source.
Yes, this answer is not a real answer, because it does not provide any practical guidance.
A better hint is: one entity, one table. This is a “user-friendly” way to describe a star schema, where each set of attributes describing a business entity is collected in a table called “dimension”, and each set of numeric metrics describing events and sharing the same granularity is saved in a table called “fact table”. But “one entity, one table” is simpler to understand.

A product is a table. Category, color, price, manufacturer: these are attributes. There is no added value in creating many relationships to just describe attributes of the same entity. Just collapse all these attributes in the same Product table.
A customer is a table. Country, city, address, number of employees are just attributes of the customer. It is useless to create a table with the countries.
Unless the country is a business entity in your analysis. If you are doing demographical researches, chances are that the country is a business entity, and not just an attribute of a customer.
An invoice is a table. Date of the invoice, shipping cost, products sold, quantities… all these attributes should be in a table with a conformed granularity. And when this is not possible, but only then, you start considering several tables at different granularities.

Design principles for data modelling

There are no right or wrong data model; just good or bad. Good data modelling is difficult; and the follow design principles could be useful:

–Be faithful to the specification of the requirement

–Use common sense and make assumption only if the specification fails to explain

–Avoid duplication and other redundant information

–The KISS principle

Customer: A customer may not yet have booked for a safari, or may have booked for and participated in several safaris. A company or an individual person may be a customer – but only individual persons are booked into scheduled safari trip occurrences. The information to be stored about a customer is:

  • For a company customer: name, address (first line address, second line address, city, postcode, country) and contact name, email address and phone number. A contact may change over time
  • For a person customer: first name, last name, address (first line address, second line address, city, postcode, country), email address, phone number and date of birth
  • A customer’s preferences (whether company or person) for time slots during which they wish to travel must be retained in the database. A customer may be able to travel in several time slots during the year. Tane wishes to retain this information so that he can target only those able to participate with publicity for scheduled trips

How to Be More Assertive at Work (Without Being a Jerk)


Have you ever admired a co-worker who’s able to navigate challenging situations with ease and professionalism, no matter the politics and difficult personalities involved? You know the type: She has a Teflon-like ability to deflect anger and frustration in the problem-solving process and doesn’t settle for an outcome that would sacrifice her self-respect or clout among colleagues.

What she’s exhibiting is a key personality attribute that’s important in both business and life: assertiveness. For those of us who avoid confrontation like the plague—or, on the flipside, those of us who have hair-trigger tempers—this calm-yet-effective, agreeable-yet-firm temperament seems superhuman. Assertiveness requires skill and can take time to cultivate, but it’s a quality you can (and should) aspire to master.

Put simply, being assertive is a happy medium between the two extremes of aggressive and passive. While aggressive people adopt the “my way or the highway” stance, coming off as hostile and abrasive, passive people can be pushovers, giving up their power and allowing themselves to be taken advantage of, creating a surefire recipe for burnout and resentment.

Assertive people, on the other hand, tend to seek out and create win-win scenarios. Assertive people understand the value of making their desires and beliefs known, but their pride isn’t damaged if their solution isn’t the one that comes out on top. Confident and assured, these people approach situations with a healthy dose of objectivity, and as a result, are able to communicate clearly and work through challenges in a low-stress, no-drama, and self-honoring way.

Many people find it challenging to project assertiveness precisely because it requires you to walk a fine line between being pushy and pacifying. To help you navigate this tricky road, here are a few examples of how to be more assertive in some common workplace scenarios—without turning into the office jerk.

Situation #1: Getting the Team Behind Your Plan

Your team is in charge of launching a new sales campaign, and you have a killer idea. The team meets to discuss how to get started, and you’re excited to propose your approach.

  • Passive Approach: You wait for your boss to make the first suggestion, then take the path of least resistance by agreeing, rather than putting your idea on the table or even suggesting ways to improve upon her strategy.
  • Aggressive Approach: You immediately present your “perfect” idea as the one the team needs to adopt and, without taking a breath, begin assigning tasks. If anyone tries to suggest an alternative, you shake your head and say, “That won’t work.” All the while, you’re pretending not to notice the eye-rolls happening around the table.
  • Assertive Approach: As you listen to the various suggestions your colleagues are floating, you both acknowledge their strong points and assume a role in solving potential challenges. You might say, for example, “It’s a great idea to track prospective client interactions. What if we did it over six months instead of three? That would allow us to collect more data and make better decisions for the next fiscal year.”

In this last scenario, you’ve stated your case in a way that acknowledges others’ perspectives and backed up your ideas with factual reasoning, rather than emotions. You’ve successfully contributed value to the conversation, but not at the cost of making other team members feel unvalued.

Situation #2: It’s Time for a Raise, But Your Boss Isn’t Making Any Moves

After asking for a raise during a check-in with your boss, she says that [you’ll have to wait at least another six months](https://www.themuse.com/advice/how-to-stay-motivated-when-youre-not-getting-a-raise%5D. The company’s just not able to give raises right now, but she assures you your performance is such that you’ll be considered for a salary bump when the time is right.

  • Passive Approach: You swallow your disappointment and nervously utter, “Oh, that’s fine—no problem,” to assuage the awkwardness of the situation. But later, you go home and complain about it for hours, because you feel it’s completely unjust.
  • Aggressive Approach: After being told you’ll need to wait for a raise, you inform your boss that you’re going to begin to look for opportunities elsewhere—where someone will treat you like you deserve to be treated.
  • Assertive Approach: Because you respect yourself and your need to be compensated fairly as much as you want to understand your boss’ reasoning, you don’t let your bruised ego get the best of you and lash out. Instead, you ask for more clarity on the company’s future and define tangible goals and targets that you can review when you revisit your salary request down the road.

In the assertive approach, you’re showing resilience by responding in a proactive, future-oriented manner, signaling maturity, level-headedness, and a commitment to the company.

Situation #3: Managing the Team for Top Results

One of your direct reports is seriously missing the mark. His deliverables are sloppy, other colleagues are starting to complain about having to pick up his slack, and on top of all that, he rolls in late every day. It’s time to step in.

  • Passive Approach: Next time he turns in a terrible first draft of a report, you stay up until 2 AM redoing it on your own—and then fume about his poor performance to other colleagues when he’s not around.
  • Aggressive Approach: Go full-on Jerry McGuire on him, demanding to know why he’s so stupid, assuring him that he’s unhirable anywhere else, and that you’re doing him a favor by not letting him go—all but firing him on the spot.
  • Assertive Approach: In a private meeting, you clearly communicate why his work isn’t acceptable, pointing to his failure to satisfy core procedural requirements, but are careful not to take aim at his personal qualities. Harnessing your emotional intelligence and empathy, you invite him to let you know if there is anything else going on. Perhaps he’s struggling with personal issues that are detracting his focus from work. Or, maybe he’s not clear on your instructions. To keep projects on track and better your relationship, you schedule a weekly meeting to check in and create a channel for clear communication.

In the final option, you’ve taken control of the situation instead of letting the problem linger and have presented a scenario in which both you and your report win.

Learning how to be more assertive—sticking up for yourself without being a total jerk—will not only earn you respect among co-workers, but it’ll also reduce your stress, making you feel more confident about yourself and your interactions with others. This high road that assertive people take is where the best outcomes happen—so by training yourself to look for the win-win opportunities in challenging situations, you’ll come out on top.

retrieved from: https://www.themuse.com/advice/how-to-be-more-assertive-at-work-without-being-a-jerk