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.
Hi Power BI Community Support,
I am new to the power bi looking support for the below problem statement.
I have table as attached for that I wanted to created calculated column that should store values based on condition.
Condition:
e.g. in the highlighted row days_diff = 70 (difference between Start_Date and End_Date is 70 days) and country is C
so the condition is if days_diff >1 (here days_diff = 70) then 24 hours should be added for next consecutive days based on the value in days_diff (here next 70 days "hours" column should be filled with 24 hours) for country C only.
OR "calculated_column" / "hours" column rows should be filled with 24 hours between "Start_Date" and "End_Date"
As example shown in "calculated_column"
I hope the problem statement is clear and looking forward support.
thanks!
Solved! Go to Solution.
Hi @Anonymous ,
Refer this:
Column 1 = IF('Table'[diff]>1,24)
Column 2 =
var _lastkey = CALCULATE(MAX('Table'[key]),FILTER('Table','Table'[country]=EARLIER('Table'[country])&&'Table'[Column]=24&&'Table'[key]<EARLIER('Table'[key])))
var _lastdiff = CALCULATE(SUM('Table'[diff]),FILTER('Table','Table'[country]=EARLIER('Table'[country])&&'Table'[Column]=24&&'Table'[key]<EARLIER('Table'[key])))
return
IF('Table'[Column]=24,24,IF('Table'[key]<=_lastkey+_lastdiff,24,BLANK()))
Best Regards,
Jay
Hi @Anonymous ,
Refer this:
Column 1 = IF('Table'[diff]>1,24)
Column 2 =
var _lastkey = CALCULATE(MAX('Table'[key]),FILTER('Table','Table'[country]=EARLIER('Table'[country])&&'Table'[Column]=24&&'Table'[key]<EARLIER('Table'[key])))
var _lastdiff = CALCULATE(SUM('Table'[diff]),FILTER('Table','Table'[country]=EARLIER('Table'[country])&&'Table'[Column]=24&&'Table'[key]<EARLIER('Table'[key])))
return
IF('Table'[Column]=24,24,IF('Table'[key]<=_lastkey+_lastdiff,24,BLANK()))
Best Regards,
Jay
Hey @Anonymous ,
your description is a little confusing.
Is that what you want:
calculated_column =
IF(
myTable[days_diff] > 1,
24
)
Otherwise can you please tell again in a more clear way what the condistions are?
thanks for your quick response.
the provided query will be fill 24 hours to that row only. I wanted to add that 24hours to next days also (whatever days are in "days_diff" column).
this 24 hours should be populated to all rows between Start_Date and End_Date from that record where days_diff >1 and for that "country" only
just like I shown in "calculated_column" from the snapshot.
thanks!
User | Count |
---|---|
85 | |
79 | |
64 | |
52 | |
46 |
User | Count |
---|---|
101 | |
44 | |
41 | |
39 | |
36 |