Skip to main content

Power BI Journey: Blog #3



I am now in the third tutorial on Power BI. In this lesson, the topic is on creating and managing relationships. Important concepts that were introduced are cardinality i.e. many-to-1 (*-1) or (one-to-many (1-*), cross-filter where if we select "Both", this means that we can think of many separate tables as one table.

I have these three separate tables.

Apocalypse Sales:

Apocalypse Store:

Customer_Information:

Notice that each of the values in the Customer ID column of the third table can be seen in the Cust ID column of the first table. But notice that there are only four rows in Customer_Information table while there are many rows in the Apocalypse Sales table. The cardinality of the relationship means having unique or multiple instances per value for the joining field between two tables. This means that the cardinality of the relationship from Apocalypse Sales and Customer_information in terms of Customer ID = Cust ID is Many-to-one. Conversely, the cardinality of the relationship from Customer_information to Apocalypse Sales in terms of Customer ID = Cust ID is one-to-many. If we relate this to SQL, Customer ID is the Primary Key.

Using the same principle, the cardinality of the relationship between Apocalypse Store and Apocalypse Sales in terms of Product_ID is one-to-many. Conversely, the cardinality of the relationship between Apocalypse Sales and Apocalypse Store in terms of Product_ID is many-to-one.

This is the reason why we have the following model.



As an output, I was able to create a table that list the different states associated with each customer and then determine the number of product ids each customer purchased.

In other words, in the Apocalypse Store, we have 10 products being sold and the customer from Minnesota state has purchased 7 out of the 10 products.


Comments

Popular posts from this blog

Privacy Policy of ShinStats: descriptives calc

Privacy Policy Shin Nix built the ShinStats app as an Ad Supported app. This SERVICE is provided by Shin Nix at no cost and is intended for use as is. This page is used to inform visitors regarding my policies with the collection, use, and disclosure of Personal Information if anyone decided to use my Service. If you choose to use my Service, then you agree to the collection and use of information in relation to this policy. The Personal Information that I collect is used for providing and improving the Service. I will not use or share your information with anyone except as described in this Privacy Policy. The terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, which are accessible at ShinStats unless otherwise defined in this Privacy Policy. Information Collection and Use For a better experience, while using our Service, I may require you to provide us with certain personally identifiable information. The information that I request will be retaine...

SQL Journey: Blog#10

So far, we are only "reading" from a given database or table using the SELECT command of SQL. In today's lesson, we will now start "writing" into a given database using the UPDATE and DELETE commands. Challenge: Dynamic Documents Given data: CREATE table documents (     id INTEGER PRIMARY KEY AUTOINCREMENT,     title TEXT,     content TEXT,     author TEXT);      INSERT INTO documents (author, title, content)     VALUES ("Puff T.M. Dragon", "Fancy Stuff", "Ceiling wax, dragon wings, etc."); INSERT INTO documents (author, title, content)     VALUES ("Puff T.M. Dragon", "Living Things", "They're located in the left ear, you know."); INSERT INTO documents (author, title, content)     VALUES ("Jackie Paper", "Pirate Recipes", "Cherry pie, apple pie, blueberry pie."); INSERT INTO documents (author, title, content)     VALUES ("Jackie Paper", "Boat Supplies...

SQL Journey: Blog #14

I am now on what Alex the Analyst would call the advanced SQL queries. First off, the Common Table Expression or CTEs. Based on what I understood in the video, CTEs is similar to a function or class in Python which you can call out. It is just how I felt when I first encountered this expression. Now, in this particular case, I tried to replicate what Alex is doing but also not copying the codes that he is using. I am just simply trying to understand what the expression that was used (which starts with WITH) and then observe how he used the said expression. This was my code. Now this code, resulted in the following error. Msg 8156, Level 16, State 1, Line 84 The column 'EmployeeID' was specified multiple times for 'CTE_Employee'. What does someone do in this day and age if we encounter something that bogs us down? We go to the internet especially to AI tools to aid us out. And, apparently, these tools will really come in handy. It stated that the error occurred because I...