如何在Power BI中轻松标记数据?

时间:2018-12-10 15:35:54

标签: mapping powerbi data-visualization

问题

在我的可视化中,是否存在一种快速,可扩展的方式来通过映射的文本标签替换数字值?

背景

我经常发现自己具有以下格式的问卷调查数据:

ID    Sex    Age class    Answer to question
001    1     2            5
002    2     3            2
003    1     3            1
004    2     5            1

SexAge classAnswer列值实际上映射到文本标签。例如Sex

ID    Description
0     Unknown
1     Man
2     Woman

其他列也可能有类似的映射。

如果我创建例如我的受访者群体中性别的分布情况,我将看到一个视觉图像,表明我的数据中有50%有性行为1,而我的数据中有50%有性行为2

数据本身通常来自Excel或csv文件。

我尝试过的

为了使可视化对其他人有意义,我:

  • 创建第二个表,其中包含值和标签之间的映射
  • 在源数据和映射之间创建关系
  • 在可视化中将映射表的Description列用作类别。

我必须对数据集中的几列执行此操作,这使该过程很繁琐。

理想的解决方案

允许我为每列定义值和相应文本标签之间的映射的方法。 SPSS' VALUE LABELS command comes to mind

1 个答案:

答案 0 :(得分:2)

您可以简单地在表上创建一个计算列,该列定义如何使用SWITCH函数来映射每个ID值并在视觉上使用该列。例如,

Sex Label =
SWITCH([Sex],
    1, "Man",
    2, "Woman",
    "Unknown"
)

(这里,最后一个参数是一个 else 条件,如果前一个条件都不匹配,则返回该条件。)


如果您想一次完成一整堆,可以使用ADDCOLUMNS从现有表中创建一个新表,如下所示:

Test =
ADDCOLUMNS(
    Table1,
    "Sex Label", SWITCH([Sex], 1, "Man", 2, "Woman", "Unknown"),
    "Question 1 Label", SWITCH([Question 1], 1, "Yes", 2, "No", "Don't Know"),
    "Question 2 Label", SWITCH([Question 2], 1, "Yes", 2, "No", "Don't Know"),
    "Question 3 Label", SWITCH([Question 3], 1, "Yes", 2, "No", "Don't Know")
)