Power BI - 具有独特和完整值的最小表格

问题描述 投票:0回答:1

我有一张看起来像这样的桌子

其中列 exclusive 包含基于列重要性的列名称(来自 a、b、c),用 '>' 表示: a > b > c

例如,如果列 abc 都有一个值(如第 5 行),则选择 a 作为唯一值,因为它是最重要的 - 并且当 b & 时c 在同一行中有一个值,b 被选中。仅当 ab 都没有值时才会选择 c

由此我们可以绘制这样的图表

问题 是否可以使用 DAX 从同一个表创建这样的图表,其中包含独立于其他列的 abc 列中每个值列的总和?:

我当前的解决方案涉及重复数据,这会增加数据大小而不增加信息内容 - 所以我想避免它。

喜欢这张表:

此表允许我生成两个图表,后者通过使用 fullvalue 列。前一个图表通过过滤 is_exclusive 并使用 exclusivevalue 列。

作为一项高级奖励,我可以执行上述所有操作并具有不同的重要性吗?例如,选择 c > b > a 或任意组合。

powerbi dax
1个回答
0
投票

您可以创建与此类似的度量:

By Column = 
  SWITCH(SELECTEDVALUE(YourTable[exclusive]),
    "a", CALCULATE(SUM(YourTable[value]), REMOVEFILTERS('YourTable'[exclusive]), YourTable[a] = 1),
    "b", CALCULATE(SUM(YourTable[value]), REMOVEFILTERS('YourTable'[exclusive]), YourTable[b] = 1),
    "c", CALCULATE(SUM(YourTable[value]), REMOVEFILTERS('YourTable'[exclusive]), YourTable[c] = 1)
  )

然后使用

[exclusive]
作为 X 轴,并使用新的度量作为值。

理想情况下,您应该有一个单独的表来表示 a、b、c 或类别。 示例:
表:

Dim Category

类别
a
b
c

然后您可以将其用于图表 X 轴,并将度量更新为:

By Column = 
  SWITCH(SELECTEDVALUE(`Dim Category`[Category]),
    "a", CALCULATE(SUM(YourTable[value]), YourTable[a] = 1),
    "b", CALCULATE(SUM(YourTable[value]), YourTable[b] = 1),
    "c", CALCULATE(SUM(YourTable[value]), YourTable[c] = 1)
  )

为了完整性 - 您可以对第一个图表进行此测量:

By Exclusivity = 
  var thisCat = SELECTEDVALUE(`Dim Category`[Category])
  return CALCULATE( SUM(YourTable[value]), YourTable[exclsuive] = thisCat )
© www.soinside.com 2019 - 2024. All rights reserved.