关于JSON的“裂缝陷阱”(数据建模-USS)

BI工具从 JSON 文件中读取表格数据时,某些情况下也会出现类似的“裂缝陷阱”(JSON chasm trap),比如下面的 JSON 文件:

另见〖关于JSON的“风扇陷阱”

{
  "results": [
    {
      "User": "Tim",
      "Skills": [
        {
          "Skill": "SQL",
          "SkillRating": 3
        },
        {
          "Skill": "JavaScript",
          "SkillRating": 4
        },
        {
          "Skill": "Python",
          "SkillRating": 5
        }
      ],
      "Languages": [
        {
          "Language": "English",
          "LangRating": 5
        }
      ]
    },
    {
      "User": "Bob",
      "Skills": [
        {
          "Skill": "SQL",
          "SkillRating": 5
        }
      ],
      "Languages": [
        {
          "Language": "English",
          "LangRating": 4
        },
        {
          "Language": "French",
          "LangRating": 3
        },
        {
          "Language": "Spanish",
          "LangRating": 5
        },
        {
          "Language": "Chinese",
          "LangRating": 3
        }
      ]
    },
    {
      "User": "Amy",
      "Skills": [
        {
          "Skill": "SQL",
          "SkillRating": 4
        },
        {
          "Skill": "Python",
          "SkillRating": 4
        },
        {
          "Skill": "PHP",
          "SkillRating": 5
        }
      ],
      "Languages": [
        {
          "Language": "English",
          "LangRating": 5
        },
        {
          "Language": "German",
          "LangRating": 2
        }
      ]
    }
  ]
}

当使用 Tableau 读取该文件时,会自动展开其中的嵌套数组以形成表格,读取结果如下:

chasm_trap_01

在读取嵌套的 JSON 数据结构为二维表数据时,为了避免发散就需要避免对其进行扁平化展开,解决办法就是拆分识别成多张小表,比如该例中可识别成三张小表:

chasm_trap_02

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值