问题描述
我是DAX和PowerBI的新手,在为我的案例编写DAX公式时遇到问题: 我有两个表:资产和票证。每个都有一个ID,资产有一个ParentAssetId(可以为0或无)。 在DAX表达式中:我想计算(并列出)与资产及其子项关联的所有票证。
我尝试过这种方法,但没有成功:
nbChildTickets =
VAR mykey =
SELECTEDVALUE ( Assets[AssetKey] )
VAR mypar =
SELECTEDVALUE ( Assets[ParentId] )
RETURN
CALCULATE(
COUNTX(Tickets,Tickets[TicketKey]),FILTER(Tickets,RELATED(Assets[ParentId]) = mykey)
)
这是资产表,其中包含AssetKey和ParentId列。
有什么想法或tuto可以做到吗? 谢谢
解决方法
一个问题,这些表格已经相关了吗?如果确实如此,您似乎不需要采取这样的措施即可按资产及其父项获取票证数量。我将以以下两种方式进行操作。假设您在表中需要它:
选项1。
- 创建一个简单的计数度量以获取“票证”表中的票证数量,它可能类似于
Number of Tickets = COUNTROWS('Tickets')
- 将表格拖到画布上。
- 将“资产及其子项”列添加到表中,最后将新度量添加到表中
选项2。如果每张票都有一个ID。
- 将表格拖到画布上。
- 将“资产”及其子项列添加到表中。还要添加您的票证ID。
- 在“字段”部分(您在其中拖放列的位置,右键单击并选择 Count 选项。
- 完成
请记住,两个表都已经与工作相关,这一点很重要。否则,Power BI将不知道如何为您计算和显示此数据组合。
,首先在资产和 Ticket 表之间创建两个关系。 AssetKey 列上的一种关系将处于活动状态(一对多)。
第二个关系将处于非活动状态。资产[AssetKey] =票证[ParentID]
现在使用以下措施-
Number Of Tickets = COUNT(Tickets[TicketKey])
Number of Child = CALCULATE(COUNT(Tickets[AssetKey]),USERELATIONSHIP(Asset[AssetKey],Tickets[ParentId]))
关系图在下图中:
输出在下面提到:
可以从视觉过滤器中消除空白行: