微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PowerBI - 根据日期计算记录的属性

如何解决PowerBI - 根据日期计算记录的属性

我有两个简单的表。我需要能够确定在特定日期(比如一月)谁是“新人”,然后只计算这些属性名称上存在 1:M 关系。我基本上需要用以下数据回答以下问题:

  1. 当月登录的家庭成员总数是多少? (使用自定义度量完成)
  2. 在 #1 总数中 - 有多少人是第一次登录
  3. 在 #2 总数中 - 有多少是儿童?有多少成年人?

登录

ID 姓名 日期
登录1 山姆 一月
登录2 山姆 一月
登录3 戴夫 一月
登录4 戴夫 一月
登录5 杰克 一月
登录6 山姆 一月
登录7 詹姆斯 二月
登录8 詹姆斯 二月
登录9 詹姆斯 二月
登录10 山姆 二月
登录11 山姆 二月
登录12 史蒂夫 二月

联系表

姓名 家庭成员 孩子 成人
山姆 3 1 2
詹姆斯 2 1 1
戴夫 4 2 2
杰克 1 0 1
史蒂夫 6 1 5

使用这些在 2 月过滤的数据,我们会看到 Steve 在该日期之前从未登录过,因此这使他成为“新人”。詹姆斯也是新来的。

我最接近的尝试是自定义“新个人计数”度量


VAR currentUsers = VALUES('Log-Ins'[Name])
VAR currentDate = MIN('Log-Ins'[Date])

VAR pastUsers = CALculaTETABLE(VALUES('Log-Ins'[Name]),ALL('Log-Ins'[Date].[Month],'Log-Ins'[Date].[MonthNo],'Log-Ins'[Date].[Year]),'Log-Ins'[Date]<currentDate)

VAR newUsers = EXCEPT(currentUsers,pastUsers)

RETURN COUNTROWS(newUsers)

正如你所看到的,这给了我新人的数量,但我想计算他们的属性来说明 :: 在 11 个家庭成员中,有 8 个是新人。在这 8 个中,6 个是成人,2 个是儿童。

pbiImage

解决方法

我可能在翻译中迷失了方向,但我不明白您希望如何准确地显示信息。

enter image description here

#ContactsWhoLoggedIN := 
CALCULATE(COUNTROWS(Contacts),FILTER(Contacts,CALCULATE(COUNTROWS(LogIN)>0)))

#NewCWhoLoggedIN := 
CALCULATE(COUNTROWS(Contacts),//LoggedIn in the Current Date Context
CALCULATE(COUNTROWS(LogIN))>0
&&
//Never LoogedIN before the Current Date Context
CALCULATE(COUNTROWS(LogIN),FILTER(ALL(Dates),Dates[Date]<MIN(Dates[Date])))=0
)
)

#CWhoLoggedBackIN := [#ContactsWhoLoggedIN]-[#NewCWhoLoggedIN]

#FM_NewCWLI := 
CALCULATE(SUM(Contacts[FamilyMembers]),Dates[Date]<MIN(Dates[Date])))=0
)
)

我记得“Microsoft Excel 2013:使用 PowerPivot 构建数据模型”中的这种模式

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。