Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hi! I need help, im currently counting numbers of people who are active between two time range.
I have two tables
Solved! Go to Solution.
Hi @FreedJustine ,
I created a measure for you.
Here is the result.
Here is my test file for your reference.
Hello @FreedJustine,
Please use the following M Query for the table as below:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("ZY5LDsAgCAWv0rg2KSgf5SrG+1+jpa4KCSve8Ji1CrZeagG832mAfE1D/m9QfbXrKsQSIjCKtFiHj1YO1cMgV9OpnhoizR7s9w4PoRRx9miHbhStxQCSSD90Zw0RGkaa/N3eDw==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [#"User ID" = _t, #"Log-in DateTime" = _t, #"End DateTime" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"User ID", Int64.Type}, {"Log-in DateTime", type datetime}, {"End DateTime", type datetime}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Log-In Time", each List.DateTimes(DateTime.Date([#"Log-in DateTime"])&
Time.From(Text.From(Time.Hour(Time.From([#"Log-in DateTime"])))&":"&(if Time.Minute(Time.From([#"Log-in DateTime"]))>= 30 then "30" else "0")&":00"),Number.From(60*24*([End DateTime]-[#"Log-in DateTime"])/30)+2, #duration(0,0,30,0))),
#"Expanded Log-In Time" = Table.ExpandListColumn(#"Added Custom", "Log-In Time"),
#"Added Custom1" = Table.AddColumn(#"Expanded Log-In Time", "EliminateRows", each if Time.From([#"Log-in DateTime"])> Time.From([#"Log-In Time"]) then 1 else if Time.From([#"Log-In Time"])>Time.From([End DateTime]) then 1 else 0),
#"Filtered Rows" = Table.SelectRows(#"Added Custom1", each ([EliminateRows] = 0)),
#"Changed Type1" = Table.TransformColumnTypes(#"Filtered Rows",{{"End DateTime", type time}, {"Log-In Time", type time}})
in
#"Changed Type1"
Then, create a Dimension Table for the Time as below:
Create relationship between this table and our table using Time Column and then create measure as below:
Users Count =
VAR CountUsers = COUNT('Login Timings'[User ID])
RETURN IF(ISBLANK(CountUsers),0,CountUsers)
You will get the result as expected. See below:
Hope this helps.
@FreedJustine, yes sure!
Here is the link:
https://drive.google.com/file/d/1XjXrRq5fWjucjHpKv7n1ktIPZndJJO8g/view?usp=sharing
Thanks @rajulshah
However what if I have thousands of user ID and trx date, this process will generate lot of data and im afraid my pbix will slow down.
Is there any other ways? like using a measure? Thank you very much!
Hi @FreedJustine ,
I created a measure for you.
Here is the result.
Here is my test file for your reference.
Thank you very much! SELECTEDVALUE is working well, I add some filters too for other parameters.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
112 | |
100 | |
76 | |
74 | |
49 |
User | Count |
---|---|
146 | |
108 | |
106 | |
90 | |
62 |