我正在处理Power BI dax问题。我有发票表(M)和经销商表(1)。发票表与其他一些表(如“分销商”,“物品”等)相连。由于代理商表已加入到发票表中,因此我总是会获得具有发票值的代理商。我如何使用Dax语句获取“非发票”经销商。我需要获得未开具发票的经销商,但需要按国家(地区)划分。 等效的sql查询应该是这样的。
从a中选择a。* 左外连接b在a.id = b.a_id上 其中b.a_id为空
这是我尝试过的内容,但我认为价值观不正确。
TotalDealers = CALCULATE(COUNTROWS('dealers'),ALL('dealers'))
谢谢!
答案 0 :(得分:2)
如果您希望没有发票的经销商数量,可以使用以下方式:
Uninvoiced Dealers =
COUNTROWS (
FILTER (
tbl_dealers,
COUNTROWS ( RELATEDTABLE( tbl_invoice ) ) = 0
)
)
但是,您的架构不允许您按区域划分未开具发票的经销商,因为没有关系来确定没有发票的经销商的区域...
如果通过salesrep表确定了未开具发票的经销商的区域,那么您需要在salesrep和区域之间添加(无效)关系,并使用USERELATIONSHIP
作为衡量指标中的过滤器:
Uninvoiced Dealers =
CALCULATE (
COUNTROWS (
FILTER (
tbl_dealers,
COUNTROWS ( RELATEDTABLE( tbl_invoice ) ) = 0
)
),
USERELATIONSHIP ( tbl_salesreps[region_id], tbl_regions[id] )
)