HierarchySankey

지역별 매출 계층 Sankey

지역에서 국가, 다시 도시로 매출이 흐르는 계층 Sankey 차트를 보여줍니다.

import { VSeedRender } from '@components'

export default () => {
  const vseedConfig = {
  "chartType": "hierarchySankey",
  "dataset": [
    {
      "region": "Asia",
      "country": "China",
      "city": "Beijing",
      "sales": 30
    },
    {
      "region": "Asia",
      "country": "China",
      "city": "Shanghai",
      "sales": 20
    },
    {
      "region": "Asia",
      "country": "Japan",
      "city": "Tokyo",
      "sales": 10
    },
    {
      "region": "Europe",
      "country": "Germany",
      "city": "Berlin",
      "sales": 18
    },
    {
      "region": "Europe",
      "country": "Germany",
      "city": "Munich",
      "sales": 12
    },
    {
      "region": "Europe",
      "country": "France",
      "city": "Paris",
      "sales": 16
    }
  ],
  "dimensions": [
    {
      "id": "region",
      "alias": "Region"
    },
    {
      "id": "country",
      "alias": "Country"
    },
    {
      "id": "city",
      "alias": "City"
    }
  ],
  "measures": [
    {
      "id": "sales",
      "alias": "Sales"
    }
  ],
  "legend": {
    "enable": true,
    "position": "top"
  },
  "label": {
    "enable": true,
    "showDimension": true,
    "showValue": true
  },
  "tooltip": {
    "enable": true
  }
}

  return <VSeedRender vseed={vseedConfig} />
}

다중 계층 차원 + 단일 지표

대권역에서 국가, 다시 채널로 이어지는 계층 흐름을 보여주며, 단일 지표로 흐름의 크기를 제어합니다.

import { VSeedRender } from '@components'

export default () => {
  const vseedConfig = {
  "chartType": "hierarchySankey",
  "dataset": [
    {
      "region": "화북",
      "country": "중국",
      "channel": "직영",
      "revenue": 42
    },
    {
      "region": "화북",
      "country": "중국",
      "channel": "대리",
      "revenue": 18
    },
    {
      "region": "화동",
      "country": "중국",
      "channel": "직영",
      "revenue": 36
    },
    {
      "region": "화동",
      "country": "중국",
      "channel": "전자상거래",
      "revenue": 22
    },
    {
      "region": "동남아시아",
      "country": "싱가포르",
      "channel": "직영",
      "revenue": 15
    },
    {
      "region": "동남아시아",
      "country": "말레이시아",
      "channel": "대리",
      "revenue": 12
    }
  ],
  "dimensions": [
    {
      "id": "region",
      "alias": "대권역"
    },
    {
      "id": "country",
      "alias": "국가"
    },
    {
      "id": "channel",
      "alias": "채널"
    }
  ],
  "measures": [
    {
      "id": "revenue",
      "alias": "매출"
    }
  ],
  "legend": {
    "enable": true,
    "position": "top"
  },
  "label": {
    "enable": true,
    "showDimension": true,
    "showValue": true
  },
  "tooltip": {
    "enable": true
  }
}

  return <VSeedRender vseed={vseedConfig} />
}

피벗 계층 Sankey

지역과 연도 기준으로 피벗한 계층 Sankey 차트입니다. 지역은 행에, 연도는 열에 매핑되며, 각 피벗 셀에는 독립적인 계층 흐름 트리가 표시됩니다.

import { VSeedRender } from '@components'

export default () => {
  const vseedConfig = {
  "chartType": "hierarchySankey",
  "dataset": [
    {
      "region": "East",
      "year": "2023",
      "country": "China",
      "city": "Shanghai",
      "channel": "Direct",
      "sales": 35
    },
    {
      "region": "East",
      "year": "2023",
      "country": "China",
      "city": "Hangzhou",
      "channel": "Partner",
      "sales": 20
    },
    {
      "region": "East",
      "year": "2023",
      "country": "Japan",
      "city": "Tokyo",
      "channel": "Direct",
      "sales": 18
    },
    {
      "region": "East",
      "year": "2024",
      "country": "China",
      "city": "Shanghai",
      "channel": "Direct",
      "sales": 42
    },
    {
      "region": "East",
      "year": "2024",
      "country": "China",
      "city": "Nanjing",
      "channel": "E-commerce",
      "sales": 16
    },
    {
      "region": "East",
      "year": "2024",
      "country": "Japan",
      "city": "Osaka",
      "channel": "Partner",
      "sales": 14
    },
    {
      "region": "West",
      "year": "2023",
      "country": "Germany",
      "city": "Berlin",
      "channel": "Direct",
      "sales": 22
    },
    {
      "region": "West",
      "year": "2023",
      "country": "France",
      "city": "Paris",
      "channel": "Partner",
      "sales": 19
    },
    {
      "region": "West",
      "year": "2023",
      "country": "France",
      "city": "Lyon",
      "channel": "Direct",
      "sales": 11
    },
    {
      "region": "West",
      "year": "2024",
      "country": "Germany",
      "city": "Munich",
      "channel": "Direct",
      "sales": 26
    },
    {
      "region": "West",
      "year": "2024",
      "country": "France",
      "city": "Paris",
      "channel": "E-commerce",
      "sales": 17
    },
    {
      "region": "West",
      "year": "2024",
      "country": "Spain",
      "city": "Madrid",
      "channel": "Partner",
      "sales": 13
    }
  ],
  "dimensions": [
    {
      "id": "country",
      "alias": "Country",
      "encoding": "hierarchy"
    },
    {
      "id": "city",
      "alias": "City",
      "encoding": "hierarchy"
    },
    {
      "id": "channel",
      "alias": "Channel",
      "encoding": "hierarchy"
    },
    {
      "id": "region",
      "alias": "Region",
      "encoding": "row"
    },
    {
      "id": "year",
      "alias": "Year",
      "encoding": "column"
    }
  ],
  "measures": [
    {
      "id": "sales",
      "alias": "Sales"
    }
  ],
  "color": {
    "colorScheme": [
      "#0B6CFF",
      "#3B8BFF",
      "#00A6A6",
      "#4DC3B2",
      "#FF8A00",
      "#FFB347",
      "#7B61FF",
      "#B39DFF"
    ]
  },
  "legend": {
    "enable": true,
    "position": "top"
  },
  "label": {
    "enable": true,
    "showDimension": true,
    "showValue": true
  },
  "tooltip": {
    "enable": true
  }
}

  return <VSeedRender vseed={vseedConfig} />
}

지표 이름을 계층 차원으로 사용 + 단일 지표

“지표 이름” 자체를 계층 경로에 넣어 각 대권역 아래의 서로 다른 비즈니스 지표 흐름을 보여주고, 단일 수치 지표로 크기를 제어합니다.

import { VSeedRender } from '@components'

export default () => {
  const vseedConfig = {
  "chartType": "hierarchySankey",
  "dataset": [
    {
      "region": "화북",
      "metricName": "매출",
      "value": 42
    },
    {
      "region": "화북",
      "metricName": "이익",
      "value": 12
    },
    {
      "region": "화동",
      "metricName": "매출",
      "value": 36
    },
    {
      "region": "화동",
      "metricName": "이익",
      "value": 10
    },
    {
      "region": "화남",
      "metricName": "매출",
      "value": 28
    },
    {
      "region": "화남",
      "metricName": "이익",
      "value": 8
    }
  ],
  "dimensions": [
    {
      "id": "region",
      "alias": "대권역"
    },
    {
      "id": "metricName",
      "alias": "지표 이름"
    }
  ],
  "measures": [
    {
      "id": "value",
      "alias": "지표 값"
    }
  ],
  "legend": {
    "enable": true,
    "position": "top"
  },
  "label": {
    "enable": true,
    "showDimension": true,
    "showValue": true
  },
  "tooltip": {
    "enable": true
  }
}

  return <VSeedRender vseed={vseedConfig} />
}