在Power BI中使用计数和分组依据

时间:2018-09-05 20:33:18

标签: sql group-by count sql-order-by powerbi

我有一张表格,其中包含有关不同福利计划以及参与其中一个或多个计划的用户的数据。因此,基本上,该表包含两列,分别代表福利计划计数和这些计划中注册的总用户。

我需要在Power BI中创建可视化来表示1个计划,2个计划,3个计划等的总注册用户数。

我在sql中编写了查询以获取所需的结果,但不确定如何在Power BI中执行相同的操作。

以下是我的sql查询:

SELECT S.PlanCount, COUNT(S.UserName) AS Participants 
FROM (
    SELECT A.Username, COUNT(*) AS PlanCount 
    FROM [dbo].[vw_BenefitsCount_Plan_Participants] AS A
    GROUP BY A.username
)AS S
GROUP BY S.PlanCount
ORDER BY S.PlanCount

查询结果如下图:

enter image description here

因此,这里的PlanCount列代表用户注册的不同福利计划的总数。第一行表示仅一个计划注册了6008个成员,而第二行显示总共2个计划注册了3030个成员,类似地,第5行意味着总共注册了10个用户6个计划中。

我是Power BI的新手,试图理解DAX功能,但是找不到一个可以帮助我创建可视化效果的合理示例。

我发现了类似的herehere,但它们似乎更倾向于单一计数和按使用分组。

这是一个简单的例子。我有一个在多个城市都有房屋的房主的表。

enter image description here

现在在此表中,亚历克斯(Alex),戴夫(Dave)和朱莉(Julie)在1个城市拥有房屋(基本上我们可以说这3个人每个人仅拥有1个房屋)。同样,吉姆(Jim)共有2套房子,鲍勃(Bob)和帕姆(Pam)共有3套房子。

现在,我需要的输出是一个表,其中包含拥有1所房屋,2所房屋等的房屋所有者总数。因此,SQL中的结果表是这个。

enter image description here

其中NameCount基本上是房屋所有者总数,而Homes是这些房屋所有者拥有的房屋总数。

请告诉我这是否有帮助。

谢谢。

2 个答案:

答案 0 :(得分:0)

如果我没问题,那么您会有一个这样的表:

  

BenefitPlan |用户

     

1 |最高

     

1 |乔

     

2 |最高

     

3 |安娜

如果可以的话,您可以简单地使用一个绘图栏(例如),其中Axis为BenefitPlan,Value为User。当您在“值”字段中拖动某些列时,它将自动进行分组(如SQL中的分组依据),默认情况下,分组方法为count。

希望有帮助。

致谢。

答案 1 :(得分:0)

您可以使用DAX从数据表中创建摘要表: https://community.powerbi.com/t5/Desktop/Creating-a-summary-table-out-of-existing-table-assistance/td-p/431485

一旦您按客户对计划进行了计数,那么您将拥有一个字段,该字段使您可以直观地看到每个计数的客户数量。

模拟代码: PlanSummary = SUMMARIZE('vw_BenefitsCount_Plan_Participants',[用户名],COUNT([PLAN_ID])