是否可以按 column1 分组,但在 DAX 中显示 column2?

Posted

技术标签:

【中文标题】是否可以按 column1 分组,但在 DAX 中显示 column2?【英文标题】:Is it possible to group by column1, but display column2 in DAX? 【发布时间】:2021-08-26 13:36:11 【问题描述】:

我有一个事实收入,有两个维度:客户类别

我有以下数据:

(在我的 pbix 中,我有以下视觉效果)。只有 1 或 2 个客户更改了类别;所以对于那个特定的情况,我看到:

(这是正确的,因为 NewCategory 去年没有收入)。

但是,我不想看到 Revenue LYTD 为空白;有没有办法显示 Category,但实际上是按 Customer 分组?...这样,我就可以显示:

代码是:

年初至今收入:=CALCULATE ( [Revenue] , DATESYTD('Date'[Date],"31/05") )

收入 LYTD:=CALCULATE ( [Revenue YTD] , SAMEPERIODLASTYEAR('Date'[Date]) )

【问题讨论】:

【参考方案1】:

我不认为这样的事情是可能的,因为从逻辑上讲它并没有多大意义。

在你想要的结果中,如果你不按它分组或以任何方式指定它,你怎么知道它会显示 NewCategory?在某些允许您这样做的 SQL 风格中,它会向您显示它找到的第一个类别(在您的特定情况下是 OldCategory,但本质上它将是随机的并且基于表中的行顺序)。

我建议首先创建一个映射表,其中每个旧类别对应于相关的新类别。然后将此表加入您的事实表。最后,使用映射表中的新类别对事实表中的收入进行分组。

【讨论】:

以上是关于是否可以按 column1 分组,但在 DAX 中显示 column2?的主要内容,如果未能解决你的问题,请参考以下文章

数据可视化之DAX篇(十五)Power BI按表筛选的思路

我可以使用 PDO::FETCH_GROUP 按两个值对结果进行分组吗

SQL 按多列分组,但在子句中给出一个范围值

Power Pivot 系列 (4) - DAX 查询

是否可以在 sql 中按匹配某些模式的字段进行分组?

我需要按一列分组并显示一个数据集中的更多列