创建桶的堆积柱形图

Stacked Column chart that creates buckets

我目前在 power-bi 中有一个条形图。该图在 x axis 上有明显的 id's,在 y axis 上有他们收到的邮件数量。在我使用的 Table 中,我有 SalesYearid 和一个 Val 列,每行的值为 1id 在 table 中多次出现,有时在同一年出现两次以上。

问题是我想要 graph reversed。我想根据他们收到的邮件数量来分桶。然后使用 slicer 查看他们每年收到多少。我一直在努力寻找自己的解决方案,有人对如何解决这个问题有任何想法吗? Table 我看起来像这样:

    id    |     salesYear    | Val
    10    |         2012     |  1 
    11    |         2012     |  1 
    11    |         2013     |  1 
    10    |         2012     |  1 
    10    |         2013     |  1 
    12    |         2012     |  1 
    12    |         2012     |  1 

因此,在可视化中,我想在 x 轴上显示收到 1 封邮件的人 = 0、收到 2 封邮件的人 = 2、收到 3 封邮件的人 = 1。我的问题是我怎样才能实现这将是堆积柱形图。任何建议将不胜感激!

15k |  Y axis would be amount of people who recieved 1 piece, 2 piece, etc..
14k |   _ 
13k |  | | 
12k | _| |
11k || | |
10k ||_|_|_________________________
      1  2  3  4  5  6  7  8  9    <-AmountOfMailRecieved

您将在度量或列中使用 DISTINCTCOUNT。

VariableName = DISTINCTCOUNT([AmountofMailReceived])

1) 从 Power BI 中的示例数据开始。

2) 创建一个新的计算 table,它是与您的来源 table.

不同的年份列表
Years = DISTINCT(
    SELECTCOLUMNS(
        Mail,
        "SalesYear", Mail[salesYear]
    )
)

3) 创建另一个计算 table,将年份 table 与一系列整数交叉连接。 Power BI 可能会指示 [Value] 有错误(如下图所示),但它工作正常。

MailCounts = SELECTCOLUMNS(
    CROSSJOIN(Years, GENERATESERIES(1, 20)),
    "SalesYear", Years[SalesYear],
    "MailReceived", [Value]
)

4) 添加一个计算列,计算来源 table 中与年份和邮件计数相匹配的 ID 数量。例如,第一行计算在 2012 年的源 table 中恰好出现一次的不同 ID;它是 1,因为只有 ID 11 在 2012 年出现过一次。

PersonCount = CALCULATE(
    DISTINCTCOUNT(Mail[id]),
    FILTER(Mail,
        Mail[salesYear] = EARLIER(MailCounts[SalesYear]) &&
        EARLIER(MailCounts[MailReceived]) = CALCULATE(
            COUNTROWS(Mail),
            FILTER(Mail, 
                Mail[salesYear] = EARLIER(Mail[salesYear]) && 
                Mail[id] = EARLIER(Mail[id])
            )
        )
    )
)

5) 在来源 table 和年份 table 之间建立关系,然后在年份 table 和计数 table。这将允许根据您的来源 table 的年份创建一个切片器,以从计数 table.

中过滤结果

6) 或者,您可以隐藏源中的年份字段并计数 tables。完成后,如果你愿意,创建一个如下图配置的图表

7) 创建年份 table 的切片器,如下图所示。

就是这样。该图表应符合您的预期结果,并且可以按年份过滤。