Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.
I have a table that has the first 4 columns here. I want to try and create a new column that breaks the "items' down to everytime they appear within a date range regardless of "Store".
so COUNT how many times a distinct item appears in "Item 1" OR Item 2" within a single day and divide it by 1 to give it a value. Then once each distinct item has a value add the two for that specific row to come up with the "Total" column.
Date | Store | Item 1 | Item 2 | Value | Total |
11/12/2017 | Store A | Item A | Item B | .25 + .33 | 0.58 |
11/12/2017 | Store A | Item A | Item B | .25 + .33 | 0.58 |
11/12/2017 | Store A | Item A | Item C | .25 + .50 | 0.75 |
11/12/2017 | Store B | Item A | null | .25 | 0.25 |
11/12/2017 | Store C | Item B | Item C | .33 + .50 | 0.83 |
11/12/2017 | Store C | Item D | null | 1 | 1 |
3.99 |
I wasn't really sure what to research on this as I feel its a pretty unique case. Any help would be appreciated.
Solved! Go to Solution.
Hi @thmonte,
You could create a measure similar to:
Column3 = VAR myCount1 = IF ( Table3[Region] IN { "UK", "US" }, 0, ( CALCULATE ( COUNTROWS ( 'Table3' ), FILTER ( ALLEXCEPT ( 'Table3', Table3[Date] ), Table3[Item 1] = EARLIER ( 'Table3'[Item 1] ) && Table3[Region] <> "US" && Table3[Region] <> "UK" ) ) + CALCULATE ( COUNTROWS ( 'Table3' ), FILTER ( ALLEXCEPT ( 'Table3', Table3[Date] ), Table3[Item 2] = EARLIER ( 'Table3'[Item 1] ) && Table3[Region] <> "US" && Table3[Region] <> "UK" ) ) ) ) VAR myCount1percent = IF ( 'Table3'[Item 1] <> "null", DIVIDE ( 1 / myCount1, 1 ), 0 ) VAR myCount2 = IF ( Table3[Region] IN { "UK", "US" }, 0, ( CALCULATE ( COUNTROWS ( 'Table3' ), FILTER ( ALLEXCEPT ( 'Table3', Table3[Date] ), Table3[Item 1] = EARLIER ( 'Table3'[Item 2] ) && Table3[Region] <> "US" && Table3[Region] <> "UK" ) ) + CALCULATE ( COUNTROWS ( 'Table3' ), FILTER ( ALLEXCEPT ( 'Table3', Table3[Date] ), Table3[Item 2] = EARLIER ( 'Table3'[Item 2] ) && Table3[Region] <> "US" && Table3[Region] <> "UK" ) ) ) ) VAR myCount2percent = IF ( Table3[Item 2] <> "null", DIVIDE ( 1 / myCount2, 1 ), 0 ) RETURN myCount2percent + myCount1percent
Best regards,
Yuliana Gu
Hi @thmonte,
I made a little modification to Phil_Seamark's solution to take the date into account. Please try:
Column = VAR myCount1 = CALCULATE(COUNTROWS('Table3'),FILTER(ALLEXCEPT('Table3',Table3[Date]),Table3[Item 1] = EARLIER('Table3'[Item 1]))) + CALCULATE(COUNTROWS('Table3'),FILTER(ALLEXCEPT('Table3',Table3[Date]),Table3[Item 2] = EARLIER('Table3'[Item 1]))) VAR myCount1percent = IF ('Table3'[Item 1] <> blank(), DIVIDE( 1 / myCount1,1 ),0) VAR myCount2 = CALCULATE(COUNTROWS('Table3'),FILTER(ALLEXCEPT('Table3',Table3[Date]),Table3[Item 1] = EARLIER('Table3'[Item 2]))) + CALCULATE(COUNTROWS('Table3'),FILTER(ALLEXCEPT('Table3',Table3[Date]),Table3[Item 2] = EARLIER('Table3'[Item 2]))) VAR myCount2percent = IF(Table3[Item 2] <> BLANK(), DIVIDE( 1 / myCount2 , 1),0) RETURN myCount2percent + myCount1percent
Replace ALL with ALLEXCEPT when calculating count values for each item.
Regards,
Yuliana Gu
This worked great! Thank you for the response. If I wanted to take this one step further and filter out regions that = US and UK and not have them get counted, would that be possible?
Date | Region | Store | Item 1 | Item 2 | Value | Total |
11/12/2017 | US | Store A | Item A | Item B | 0.58 | |
11/12/2017 | US | Store A | Item A | Item B | 0.58 | |
11/12/2017 | UK | Store A | Item A | Item C | 0.75 | |
11/12/2017 | CA | Store B | Item A | null | 1 | 1 |
11/12/2017 | CA | Store C | Item B | Item C | 1 + 1 | 2 |
11/12/2017 | CA | Store C | Item D | null | 1 | 1 |
Final Count | 4 |
Hi @thmonte,
You could create a measure similar to:
Column3 = VAR myCount1 = IF ( Table3[Region] IN { "UK", "US" }, 0, ( CALCULATE ( COUNTROWS ( 'Table3' ), FILTER ( ALLEXCEPT ( 'Table3', Table3[Date] ), Table3[Item 1] = EARLIER ( 'Table3'[Item 1] ) && Table3[Region] <> "US" && Table3[Region] <> "UK" ) ) + CALCULATE ( COUNTROWS ( 'Table3' ), FILTER ( ALLEXCEPT ( 'Table3', Table3[Date] ), Table3[Item 2] = EARLIER ( 'Table3'[Item 1] ) && Table3[Region] <> "US" && Table3[Region] <> "UK" ) ) ) ) VAR myCount1percent = IF ( 'Table3'[Item 1] <> "null", DIVIDE ( 1 / myCount1, 1 ), 0 ) VAR myCount2 = IF ( Table3[Region] IN { "UK", "US" }, 0, ( CALCULATE ( COUNTROWS ( 'Table3' ), FILTER ( ALLEXCEPT ( 'Table3', Table3[Date] ), Table3[Item 1] = EARLIER ( 'Table3'[Item 2] ) && Table3[Region] <> "US" && Table3[Region] <> "UK" ) ) + CALCULATE ( COUNTROWS ( 'Table3' ), FILTER ( ALLEXCEPT ( 'Table3', Table3[Date] ), Table3[Item 2] = EARLIER ( 'Table3'[Item 2] ) && Table3[Region] <> "US" && Table3[Region] <> "UK" ) ) ) ) VAR myCount2percent = IF ( Table3[Item 2] <> "null", DIVIDE ( 1 / myCount2, 1 ), 0 ) RETURN myCount2percent + myCount1percent
Best regards,
Yuliana Gu
This looks really close but almost all my numbers are off by .5.
In the simplest scenario item 1 is unique once and item 2 is unique once the expression should return 2.0. In your example it is returning 1.5
Edit: disregard, i believe there was just a syntax error
HI @thmonte
This is close and works on your sample data. It probably needs some tweaking around the use of the ALL in the FITLER functions but that should be easy enough.
Column = VAR myCount1 = CALCULATE(COUNTROWS('Table3'),FILTER(ALL('Table3'),Table3[Item 1] = EARLIER('Table3'[Item 1]))) + CALCULATE(COUNTROWS('Table3'),FILTER(ALL('Table3'),Table3[Item 2] = EARLIER('Table3'[Item 1]))) VAR myCount1percent = IF ('Table3'[Item 1] <> blank(), DIVIDE( 1 / myCount1,1 ),0) VAR myCount2 = CALCULATE(COUNTROWS('Table3'),FILTER(ALL('Table3'),Table3[Item 1] = EARLIER('Table3'[Item 2]))) + CALCULATE(COUNTROWS('Table3'),FILTER(ALL('Table3'),Table3[Item 2] = EARLIER('Table3'[Item 2]))) VAR myCount2percent = IF(Table3[Item 2] <> BLANK(), DIVIDE( 1 / myCount2 , 1),0) RETURN myCount2percent + myCount1percent
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.
User | Count |
---|---|
84 | |
76 | |
73 | |
42 | |
36 |
User | Count |
---|---|
109 | |
56 | |
52 | |
48 | |
43 |