我正在尝试通过Tableau可视化一个问答(多项选择)。 所有数据都以json格式(如
)放在表格的一列中{"q1":"1","q3":"3","q2":"2"}
我想根据答案绘制q1,q2,q3。 q1,q2,q3可以在表的不同行中的json中以任意顺序排列。 此类表的一个示例是:
User_id Answer
1 {"q1":"1","q3":"1","q2":"2"}
2 {"q2":"3","q3":"2","q2":"2"}
3 {"q3":"1","q1":"4","q2":"1"}
我认为我应该提取q1及其值,并为此创建一个单独的列。对于q2和q3同样。但是我不确定在订单不固定的情况下如何进行条件拆分。 我该怎么办?
答案 0 :(得分:0)
在这种情况下,正则表达式可以提供帮助。创建如下所示的计算(只需根据需要替换问题编号)
REGEXP_EXTRACT([Answer],'"q1":"(\d)')
此正则表达式假定所提供的格式正确,但是如果需要帮助,可以对其进行改进以允许使用单引号,空格等。Please refer to this answer。
注意:第二行缺少q1,它返回null。