cancel
Showing results for
Did you mean:

The ultimate Microsoft Fabric, Power BI, Azure AI & SQL learning event! Join us in Las Vegas from March 26-28, 2024. Use code MSCUST for a \$100 discount. Register Now

Anonymous
Not applicable

Multiply by amount of days in selected range

Hi all,

I am trying to calculate the percentage of days a group of 20 stores is open in Power BI so I can automate the process. I have the data in the current format:

 Date Store number Closed 01-01-2020 12 1 01-01-2020 7 1 03-01-2020 3 1 04-01-2020 12 1 07-01-2020 4 1 07-01-2020 1 1 08-01-2020 17 1

The calculation I basically want to make: Sum of 'Closed' / (amount of stores*amount of days in selected time frame) * 100, but I am struggling a bit with how to make that work in Power BI.

Many thanks,

E_E

1 ACCEPTED SOLUTION
Solution Supplier

I have a potential workaround but it's a bit rough and I'm sure others can improve it.

Create a Date Table (I'll call this one Date Table) and populate a column with Dates, form a relationship with the date in that to your main table with the closed results from your original post (I'll call this one Table in this example)

Add the following Columns to Date Table in DAX.
Total Storage = 20

Closed = CALCULATE(SUM('Table'[Closed]),'Table'[Date])
ClosedCalc = IF(ISBLANK('Date Table'[Closed]),0,('Date Table'[Closed]))
ClosedPC = 'Date Table'[ClosedCalc]/'Date Table'[Total Storage]

That should give you your totals to be able to do a date range calculation if you use either ClosedCalc or ClosedPC.

I'm certain that Closed, ClosedCalc and ClosedPC should be able to be merged into a single Custom Column but my brain eludes me on that, others may know though!

If you decide to put these into a visual. Use the columns from Date Table to do so.

Please note - I am not affiliated with Microsoft, I'm just an end user like yourself.
Just a regular guy doin' Data Science.

If my post has helped you, please don't forget to thumbs up or click "Accept as solution" if it solved your problem!
7 REPLIES 7
Solution Supplier
Perhaps make a measure with the following code:

Closed PC = (SUM('Table'[Closed])/20)

Then insert this into a table with just Date and Closed present. Then set Closed PC to a "Percentage" data type. I'd recommend against multiplying the results by 100 where possible as Power BI treats percentages as a decimal, with 1 equalling 100%.

Please note - I am not affiliated with Microsoft, I'm just an end user like yourself.
Just a regular guy doin' Data Science.

If my post has helped you, please don't forget to thumbs up or click "Accept as solution" if it solved your problem!
Anonymous
Not applicable

Thank you very much.

The problem with a table with 'Closed' is that there are days there is no store closed and these days won't be counted in the percentage if I create such table.

Solution Supplier

Does your data source record those days with 0 closed? Or does it only generate an entry if there is at least one?

Please note - I am not affiliated with Microsoft, I'm just an end user like yourself.
Just a regular guy doin' Data Science.

If my post has helped you, please don't forget to thumbs up or click "Accept as solution" if it solved your problem!
Anonymous
Not applicable

The latter indeed, basically as in the table above. That's where I get stuck mostly.

Solution Supplier

I have a potential workaround but it's a bit rough and I'm sure others can improve it.

Create a Date Table (I'll call this one Date Table) and populate a column with Dates, form a relationship with the date in that to your main table with the closed results from your original post (I'll call this one Table in this example)

Add the following Columns to Date Table in DAX.
Total Storage = 20

Closed = CALCULATE(SUM('Table'[Closed]),'Table'[Date])
ClosedCalc = IF(ISBLANK('Date Table'[Closed]),0,('Date Table'[Closed]))
ClosedPC = 'Date Table'[ClosedCalc]/'Date Table'[Total Storage]

That should give you your totals to be able to do a date range calculation if you use either ClosedCalc or ClosedPC.

I'm certain that Closed, ClosedCalc and ClosedPC should be able to be merged into a single Custom Column but my brain eludes me on that, others may know though!

If you decide to put these into a visual. Use the columns from Date Table to do so.

Please note - I am not affiliated with Microsoft, I'm just an end user like yourself.
Just a regular guy doin' Data Science.

If my post has helped you, please don't forget to thumbs up or click "Accept as solution" if it solved your problem!
Super User

@Anonymous , Try a measure like

new measure =
var _max = maxx(allselected(Date),Date[Date])
var _min = mainx(allselected(Date),Date[Date])
return
divide( calculate( sum(Table[Closed]), filter('Table', 'Table'[Date] >=_min && 'Table'[Date] <=_max)) , DistinctCOUNT(Store[StoreNumber]) * datediff(_min,_max,day))

Assumed there is store master

Anonymous
Not applicable

Thank you very much.

I get some errors with the part 'allselected(Date)', where it says 'parameter isn't the correct type' & cannot find '[Date]' in the 'Date[Date])' part

Announcements

Microsoft Fabric Community Conference

Join us at our first-ever Microsoft Fabric Community Conference, March 26-28, 2024 in Las Vegas with 100+ sessions by community experts and Microsoft engineering.

Microsoft Fabric Career Hub

Explore career paths and learn resources in Fabric.

Microsoft Fabric Partner Community

Engage with the Fabric engineering team, hear of product updates, business opportunities, and resources in the Fabric Partner Community.