DAX聚合来自多个表的功能

时间:2019-04-24 02:59:52

标签: powerbi dax

DAX公式,用于来自两个表的聚合并按类别分组。

我有两个表(bugsproperties,其中每个bugs.bug_isue代表表unit中不同的properties的营业额。我想查询多少每个项目中存在的错误问题占每个项目中单位数量的百分比。

      BUGS
--------------------
project | bug_issue
--------------------
north   | blaha
north   | blahb
south   | blahc
west    | blahd
east    | blahe


  PROPERTIES
---------------
project | unit
---------------
north   | n1
north   | n2
north   | n3
west    | w1
west    | w1
south   | s1
south   | s2
east    | e1

我想在DAX中查询的是 这是我在DAX中需要的SQL版本:

SELECT p.project, 
       (COUNT(b.bug_issue)/COUNT(p.unit)*100) AS percent_turnover
FROM properties AS p 
LEFT JOIN bugs b ON (project) 
GROUP BY p.project;

以下DAX查询失败。任何意见是极大的赞赏。

Measure = (COUNTA(Bugs[bug_issue)/COUNTA(Properties[unit]))*100

谢谢

1 个答案:

答案 0 :(得分:1)

您需要构建第三个表“ Projects”,其中包含唯一项目列表:

"Projects"
project 
---------
north   
west
south
east

然后使用“项目”字段将此表连接到其他2个表,并编写3个度量:

措施1:

Bug Count = COUNTA(Bugs[bug_issue])

措施2:

Unit Count = COUNTA(Properties[unit])

措施3:

Bugs per Unit = DIVIDE( [Bug Count], [Unit Count])

从新表中将项目拖放到矩阵的行上,然后添加第三个度量。您应该得到期望的结果。

工作原理:

Power BI旨在查询星型模式。在星型模式中,应始终通过共享维度表(“项目”)连接2个事实表(在您的情况下为“ Bugs”和“ Properties”)。这种结构使您可以轻松地从两个表中查询数据。