Fabric is Generally Available. Browse Fabric Presentations. Work towards your Fabric certification with the Cloud Skills Challenge.
Hello Power BI Community,
Very new to Power BI so please feel free to ask any questions concerning clarity on the subject matter.
I am currently working on a project that compiles education courses from an EU institution across the EU. The project uses a sharepoint excel sheet to which combiles the course data into one sheet. One of the columns is labled Language and represents the languages that the course is taught in. The sheet is organized by course title (rows). Some of the courses are taught in English, while other are taught in several languages.
Currently, the cells with multiple languages are written as such:
Single langaue: English
Multiple languages: English ; Spanish ; Hungarian.
One of the visualizations that the client is interested in seeing is a pie chart with the ratio of all the languages that they teach in. What would be the best way to accomplish this?
Many thanks in advance,
-Joshua
Solved! Go to Solution.
Hi @JMHickman1987 ,
I think how to create visualization is based on your data model.
According to your statement, I think you data should look like as below.
You can transform your data in Power Query Editor and then create the pie chart.
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45Wcs4vLSpONVTSUQrOzEvPSVXIScxLL01MT7VScAXyM4szlGJ1YMqMgMp8S3NKMguQFBbDVSpYKwQXJOZBWB6leemJRZmJeXoKSCYYE2eRCcUWmeK1KBYA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Course = _t, Language = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Course", type text}, {"Language", type text}}),
#"Duplicated Column" = Table.DuplicateColumn(#"Changed Type", "Language", "Language - Copy"),
#"Replaced Value" = Table.ReplaceValue(#"Duplicated Column","Single language: ","",Replacer.ReplaceText,{"Language - Copy"}),
#"Replaced Value1" = Table.ReplaceValue(#"Replaced Value","Multiple languages: ","",Replacer.ReplaceText,{"Language - Copy"}),
#"Split Column by Delimiter" = Table.SplitColumn(#"Replaced Value1", "Language - Copy", Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv), {"Language - Copy.1", "Language - Copy.2", "Language - Copy.3"}),
#"Unpivoted Columns" = Table.UnpivotOtherColumns(#"Split Column by Delimiter", {"Course", "Language"}, "Attribute", "Value"),
#"Removed Columns" = Table.RemoveColumns(#"Unpivoted Columns",{"Attribute"}),
#"Replaced Value2" = Table.ReplaceValue(#"Removed Columns"," ","",Replacer.ReplaceText,{"Value"}),
#"Replaced Value3" = Table.ReplaceValue(#"Replaced Value2",".","",Replacer.ReplaceText,{"Value"})
in
#"Replaced Value3"
Here I create a sample with two pie charts, one is count courses by single or multiple and another is count courses by each language.
Best Regards,
Rico Zhou
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @JMHickman1987 ,
I think how to create visualization is based on your data model.
According to your statement, I think you data should look like as below.
You can transform your data in Power Query Editor and then create the pie chart.
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45Wcs4vLSpONVTSUQrOzEvPSVXIScxLL01MT7VScAXyM4szlGJ1YMqMgMp8S3NKMguQFBbDVSpYKwQXJOZBWB6leemJRZmJeXoKSCYYE2eRCcUWmeK1KBYA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Course = _t, Language = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Course", type text}, {"Language", type text}}),
#"Duplicated Column" = Table.DuplicateColumn(#"Changed Type", "Language", "Language - Copy"),
#"Replaced Value" = Table.ReplaceValue(#"Duplicated Column","Single language: ","",Replacer.ReplaceText,{"Language - Copy"}),
#"Replaced Value1" = Table.ReplaceValue(#"Replaced Value","Multiple languages: ","",Replacer.ReplaceText,{"Language - Copy"}),
#"Split Column by Delimiter" = Table.SplitColumn(#"Replaced Value1", "Language - Copy", Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv), {"Language - Copy.1", "Language - Copy.2", "Language - Copy.3"}),
#"Unpivoted Columns" = Table.UnpivotOtherColumns(#"Split Column by Delimiter", {"Course", "Language"}, "Attribute", "Value"),
#"Removed Columns" = Table.RemoveColumns(#"Unpivoted Columns",{"Attribute"}),
#"Replaced Value2" = Table.ReplaceValue(#"Removed Columns"," ","",Replacer.ReplaceText,{"Value"}),
#"Replaced Value3" = Table.ReplaceValue(#"Replaced Value2",".","",Replacer.ReplaceText,{"Value"})
in
#"Replaced Value3"
Here I create a sample with two pie charts, one is count courses by single or multiple and another is count courses by each language.
Best Regards,
Rico Zhou
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Check out the November 2023 Power BI update to learn about new features.
Read the latest Fabric Community announcements, including updates on Power BI, Synapse, Data Factory and Data Activator.