Powerbi DAX测量帮助:如何获得计数;“忽略”;关系
我正在跟踪机器及其开/关状态和服务历史:Powerbi DAX测量帮助:如何获得计数;“忽略”;关系,powerbi,dax,ssas-tabular,Powerbi,Dax,Ssas Tabular,我正在跟踪机器及其开/关状态和服务历史: MachineHistory MachID Branch Status StatusDate ServiceHistory ServiceID MachID ServiceDate Calendar Date Year Month MachineHistory和ServiceHistory与MachId相关。 日历与日期列上的两者都相关 我想要的是ActiveMachineCount(表示Status=“ON”)和ServicedMachineCo
MachineHistory
MachID
Branch
Status
StatusDate
ServiceHistory
ServiceID
MachID
ServiceDate
Calendar
Date
Year
Month
MachineHistory和ServiceHistory与MachId相关。
日历与日期列上的两者都相关
我想要的是ActiveMachineCount(表示Status=“ON”)和ServicedMachineCount(表示ServiceHistory表中存在行)的度量。两者都应该可以按日期和分支机构分组
因此,我应该能够有一个excel数据透视,显示
Branch ActiveMachCnt ServicedMachCnt
A 50 13
B 23 6
我有一个MachIdCnt=distinctcount(machineid)的度量
我的问题是ActiveMachIdCnt=calculate([MachIdCnt],MachineHistory[Status]=“ON”)
无论我如何尝试摆弄ActiveMachIdCnt,我要么得到a)表中的所有机器id,要么b)已服务的机器id计数(由于关系)
我显然没有正确理解ALL、ALLEXCEPT等函数系列:/
如何让ActiveMachIdCnt度量“忽略”与ServiceHistory的关系,但仍然尊重日期和分支上的过滤器
谢谢你的提示,
sff我认为您遇到了这个问题,因为您的数据模型不正确。历史记录表(机器历史记录和服务历史记录)都是事实表。事实表不能有直接关系,这是禁止的 您需要做的是添加一个维度“Machine”,它将包含MachineId和您机器的其他有用属性。然后,此表将通过MachineID与机器历史记录和服务历史记录关联,与日历表通过日期与它们关联的方式完全相同 通过这种结构,您的DAX非常简单:
Active Machines = DISTINCTCOUNT(MachineHistory[MachineId])
Serviced Machines = DISCTINCTCOUNT(ServiceHistory[MachineId])
如果您想按分支分析这些度量,您需要将分支作为一个单独的维度(这是我的选择),或者作为维度“Machine”中的一个属性(这可以工作,但在概念上是一个低级设计) 谢谢。我想我把事实联系在一起是有原因的,但我记不起现在是什么了:/我会按照你的建议去做-谢谢!但假设我保持了这种关系结构,dax将如何根据需要获得这两种度量?