首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于动态滤波和数据选择的功率BI动态计算

基于动态滤波和数据选择的功率BI动态计算
EN

Stack Overflow用户
提问于 2022-06-09 17:14:27
回答 1查看 946关注 0票数 0

我有以下情况-

  1. 年龄类别(成人、儿童和您成人)-它来自一张桌子。该列被用作切片器:

成人- 26岁及以上(>26岁)

18至26岁的年轻成人(>=18和<=26)

18岁以下儿童(<18岁)

  1. I有一个具有唯一ID和出生日期的表
  2. 第三个表(作为日期维度),给出了用户可以从切片器中选择的示例日期。

规定-

  1. 用户将从日切片器中选择一个日期,从类别切片器中选择一个类别。

基于日期选择的

  1. ,年龄计算必须是动态的,根据类别,将返回第二个表中的行数。

例如-我选择06/06/2022 -基于这一日期,将计算第二个表的行的年龄,我选择类别“青年成人”。因此,计算的范围只有18至26岁的行。

我试过使它发挥作用,但没有成功。如果有人能在PBI中帮助我找到解决方案,我将不胜感激。谢谢。

链接到我的PBI文件- https://github.com/sommkh/pbi_age_test/blob/2cc9eb7dbe7788ea21da5ba1bb8c7f08adca60e2/Age_Test_Dataset.pbix

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-09 21:04:42

首先,您应该将类别的最小和最大年龄放到AGE_CATEGORY表中。然后,该表如下所示:

然后,这些措施可以简化为

代码语言:javascript
复制
AGE_IN_YRS = 
VAR date_selected = SELECTEDVALUE(D_DATE[DATE])
VAR birthday = SELECTEDVALUE(AGE_TEST_DATA[IND_BIRTH_DT])
VAR age_in_yrs = FLOOR( IF ( birthday < date_selected, DATEDIFF ( birthday, 
     date_selected, DAY ) / 365.25, -1), 1)
RETURN age_in_yrs

代码语言:javascript
复制
AGE_AGGRE = 
VAR minage = SELECTEDVALUE(AGE_CATEGORY[MinAge])
VAR maxage = SELECTEDVALUE(AGE_CATEGORY[MaxAge])
RETURN 
SUMX(AGE_TEST_DATA,
     VAR age = [AGE_IN_YRS] 
     RETURN if (age <> -1 && age >=minage && age <= maxage,1,0)
     )
--People that are not yet born (-1) are not counted

结果:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72564229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档