Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
Trying to Create 2 card visuals (one for this year and one for last year) that show the number of stores that are selling above an average N amount per month.
I think the best way to do this is to create a calculated column to sums the sales numbers by Store Name and Year. Can you let me know the best way to approach that?
Or if that is not the right appraoch, what might be? Pretty sure I am overcomplicated a potentially simple goal.
Solved! Go to Solution.
Hi @abarrett,
Here is the calculated column formula to get the row count based on current category group and average:
Column =
COUNTROWS (
FILTER (
SUMMARIZE (
FILTER ( 'Table', [StoreRef] = EARLIER ( 'Table'[StoreRef] ) ),
[StoreRef],
[Date],
[Revenue],
"AVG",
CALCULATE (
AVERAGE ( 'Table'[Revenue] ),
FILTER (
ALL ( 'Table' ),
[StoreRef] = EARLIER ( 'Table'[StoreRef] )
&& YEAR ( [Date] ) = YEAR ( EARLIER ( 'Table'[Date] ) )
)
)
),
[Revenue] > [AVG]
)
)
You can set two 'year' filters on your card to show different results.
Regards,
Xiaoxin Sheng
Please give sample data?
Below are some overly simplied versions of the data where I am ultimately trying to find the number of stores (YTD, and prior year same time period) where the average monthly revenue is $50 for that same time period
in the below example 2021 (through June) would have 2 stores (Store B and C)
2022 would also have 1, Store A
Revenue Table
StoreRef | Revenue | Date |
0 | $500 | 1/1/2022 |
0 | $300 | 4/1/2022 |
1 | $1,000 | 1/2/2021 |
2 | $100 | 1/5/2022 |
2 | $500 | 3/3/2021 |
as well as a reference table where
0 -> Store A
1 -> Store B
2 -> Store C
Hi @abarrett,
Here is the calculated column formula to get the row count based on current category group and average:
Column =
COUNTROWS (
FILTER (
SUMMARIZE (
FILTER ( 'Table', [StoreRef] = EARLIER ( 'Table'[StoreRef] ) ),
[StoreRef],
[Date],
[Revenue],
"AVG",
CALCULATE (
AVERAGE ( 'Table'[Revenue] ),
FILTER (
ALL ( 'Table' ),
[StoreRef] = EARLIER ( 'Table'[StoreRef] )
&& YEAR ( [Date] ) = YEAR ( EARLIER ( 'Table'[Date] ) )
)
)
),
[Revenue] > [AVG]
)
)
You can set two 'year' filters on your card to show different results.
Regards,
Xiaoxin Sheng
Good day Abarett
You should be able to create a measure that will calculate this (instead of doing an expensive calculated column)
Create a new measure.
MeasureName =
VAR AvgSalesStore = 12345 (or any value you hardcode) or VAR AvgSalesStore2 = AVERAGE('TableName'[Sales])
VAR NumberOfStoresAboveAverage =
CALCULATE(
COUNTROWS('TableName'[Sales]), -- This is the main Fact Table
TableName'[Stores] >= AvgSalesStore -- This will check the stores where the average is either AvgSalesStore or AvgSalesStore2
RETURN
NumberOfStoresAboveAverage
So this is fantastic, and I think it gets me about 95% of the direction I am going.
each line item in my version of TableName[Sales] may have more than 1 in it. That is fine, swaping COUNTROWS with SUM should work. Would any other parts of the measure need to be adjusted?
Check out the September 2024 Power BI update to learn about new features.
Learn from experts, get hands-on experience, and win awesome prizes.
User | Count |
---|---|
25 | |
20 | |
18 | |
18 | |
15 |
User | Count |
---|---|
38 | |
20 | |
19 | |
16 | |
10 |