如何解决Treatas DAX函数无法正常工作,返回完整的空白列
我试图了解Treatas DAX功能。有两个表资产和 Ticket 。 票证表具有父子关系。对于Asset [AssetKey]的每个值,我想计算故障单表中的子代数。这些表之间有两个关系。一活跃和一非活跃。
问题:当我使用Treatas函数完成度量时,孩子数被空白。我用的公式-
Number of Child = CALCULATE(COUNT(Tickets[AssetKey]),TREATAS(SUMMARIZE(Asset,Asset[AssetKey]),Tickets[ParentId]))
要复制该方案,请执行以下步骤:
步骤1:创建表资产:
Asset = DATATABLE("AssetKey",INTEGER,"Name",STRING,{{1,"Australia"},{2,"Belgium"},{3,"Canada"},{4,"Denmark"},{5,"England"}})
创建表格门票
Tickets = DATATABLE("AssetKey","ParentId","TicketKey",{{3,1,1},{1,Blank(),3},4},2,5},6},7},8},9},10}})
第2步:在AssetKey列上的Assets和Ticket表之间建立关系(一对多)。
Step3:现在创建以下度量-
Number Of Tickets = COUNT(Tickets[TicketKey])
Number of Child = CALCULATE(COUNT(Tickets[AssetKey]),Tickets[ParentId]))
现在的问题:为什么孩子数列为空白。
预期输出为:
解决方法
您的问题不是TREATAS,而是汇总。 TREATAS需要表输入,因此您可以进行总结。
尝试以下操作:
summarizedAsset = SUMMARIZE(Asset,Asset[AssetKey])
这将返回1,2,3,4,5。逻辑,因为这就是您要执行的操作。现在TREATAS将在票务表上执行相同的操作。因此,它返回一个表,该表的一列值为“ empty”,1,2。正是我们可以期望的。 接下来,您在AssetKey上执行COUNT,此刚创建的表没有此列,因此返回空。
您要查找的是一个列,用于计算子项:
Number of Child =
var Akey = Asset[AssetKey]
return CALCULATE(COUNT(Tickets[ParentId]),filter(Tickets,Akey = Tickets[ParentId]))
PS:10分,您在提问的问题上做得很出色,易于他人复制。你是专业人士!!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。