Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.
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.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.
User | Count |
---|---|
97 | |
65 | |
45 | |
39 | |
31 |
User | Count |
---|---|
164 | |
111 | |
61 | |
53 | |
38 |