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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
swilder
Regular Visitor

Smartsheet+PowerBi Count Rows that Contain Formula

Hello!

 

I am trying to get a formula to count the number of times a word or phrase appears in a column. The data is from a Smartsheet, pulled into PowerBi. The Smartsheet column type is a multi-select drop-down, but in PowerBi the column type is simply Text.

 

Below is an example with generic info that represents the data and issues I am having. 

DayFruit
MondayApple
TuesdayBanana, Apple
WednesdayPear

 

I would like a formula that would return 2 for Apple, as it is listed twice. 

 

The current formulas (below) return 1, even though the word apple appears twice in the column.

 

#Apples =
CALCULATE(
COUNTROWS('Table1'),
'Table1'[Fruit] IN ({"Apple"})
)
 
Count of Apples =
CALCULATE(
COUNTA('Table1']),
'Table1'[Fruit] IN { "Apple" }
)
 
Any other formula ideas would be greatly, greatly appreciated!
1 ACCEPTED SOLUTION
bolfri
Super User
Super User

Direct answer:

# Apples = 
CALCULATE(
    COUNTROWS(SampleData),
    CONTAINSSTRING(SampleData[Fruit],"Apple")
)

bolfri_0-1690922613231.png

Better solution:

Use Power Query M editor to split Fruit's into rows.

bolfri_1-1690922741087.png

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8s3PS0msVNJRciwoyElVitWJVgopTS2GiDkl5gGhjgJCLjw1JQ8mG5CaWKQUGwsA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Day = _t, Fruit = _t]),
    #"Replaced Value" = Table.ReplaceValue(Source,", ",",",Replacer.ReplaceText,{"Fruit"}),
    #"Split Column by Delimiter" = Table.ExpandListColumn(Table.TransformColumns(#"Replaced Value", {{"Fruit", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Fruit"),
    #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Fruit", type text}})
in
    #"Changed Type1"

BetterData:

bolfri_2-1690922795948.pngbolfri_3-1690922919676.png

 

 





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




View solution in original post

2 REPLIES 2
bolfri
Super User
Super User

Direct answer:

# Apples = 
CALCULATE(
    COUNTROWS(SampleData),
    CONTAINSSTRING(SampleData[Fruit],"Apple")
)

bolfri_0-1690922613231.png

Better solution:

Use Power Query M editor to split Fruit's into rows.

bolfri_1-1690922741087.png

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8s3PS0msVNJRciwoyElVitWJVgopTS2GiDkl5gGhjgJCLjw1JQ8mG5CaWKQUGwsA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Day = _t, Fruit = _t]),
    #"Replaced Value" = Table.ReplaceValue(Source,", ",",",Replacer.ReplaceText,{"Fruit"}),
    #"Split Column by Delimiter" = Table.ExpandListColumn(Table.TransformColumns(#"Replaced Value", {{"Fruit", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Fruit"),
    #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Fruit", type text}})
in
    #"Changed Type1"

BetterData:

bolfri_2-1690922795948.pngbolfri_3-1690922919676.png

 

 





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




Thank you so very much. The information above was tremendously helpful in solving my issue. 

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.