Using In-Memory Data Source to Expand Reveal's Data Reach

๋ฉ”๋ชจ๋ฆฌ ๋‚ด ๋ฐ์ดํ„ฐ ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Reveal์˜ ๋ฐ์ดํ„ฐ ๋„๋‹ฌ ๋ฒ”์œ„ ํ™•์žฅ

Reveal ์•„์ง ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ ์†Œ์Šค์— ์ง์ ‘ ์—ฐ๊ฒฐํ•˜๋ ค๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์‚ฌ์šฉ์ž ์ •์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ ์†Œ์Šค๋กœ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. [โ€ฆ]

3๋ถ„ ์ฝ๊ธฐ

์š”์•ฝ:

Reveal ์•„์ง ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ ์†Œ์Šค์— ์ง์ ‘ ์—ฐ๊ฒฐํ•˜๋ ค๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์‚ฌ์šฉ์ž ์ •์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ ์†Œ์Šค๋กœ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. [โ€ฆ]

Reveal ์•„์ง ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ ์†Œ์Šค์— ์ง์ ‘ ์—ฐ๊ฒฐํ•˜๋ ค๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์‚ฌ์šฉ์ž ์ •์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ ์†Œ์Šค๋กœ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์š”์ฒญํ•œ ๋ณด๊ณ ์„œ์˜ ๊ฒฐ๊ณผ์™€ ๊ฐ™์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒํƒœ์˜ ์ผ๋ถ€๋กœ ์ด๋ฏธ ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ ์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ๋‚ด ๋ฐ์ดํ„ฐ ์†Œ์Šค๋Š” ๋””์Šคํฌ ๋“œ๋ผ์ด๋ธŒ๋ณด๋‹ค ๋ฉ”๋ชจ๋ฆฌ์˜ ๋ฐ์ดํ„ฐ์— ์•ก์„ธ์Šคํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ๋น ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๊ฒ€์ƒ‰ ์†๋„์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ์ด์ ๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ธ”๋กœ๊ทธ์—์„œ๋Š” ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹จ๊ณ„๋ณ„๋กœ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ์Šคํ‚ค๋งˆ ์ •์˜

๋ฉ”๋ชจ๋ฆฌ ๋‚ด ๋ฐ์ดํ„ฐ์™€ ์ผ์น˜ํ•˜๋Š” ์Šคํ‚ค๋งˆ๋กœ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์„ ์ •์˜ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฐ์ดํ„ฐ ํŒŒ์ผ์€ CSV ๋˜๋Š” Excel ํŒŒ์ผ์ผ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์Šคํ‚ค๋งˆ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํ•„๋“œ ๋ชฉ๋ก๊ณผ ๊ฐ ํ•„๋“œ์˜ ๋ฐ์ดํ„ฐ ์œ ํ˜•์ž…๋‹ˆ๋‹ค. ์•„๋ž˜ ์˜ˆ์ œ์—์„œ๋Š” ์ฃผ์–ด์ง„ ์Šคํ‚ค๋งˆ๋กœ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์„ ๋งŒ๋“  ๋‹ค์Œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋Œ€์‹  ๋ฉ”๋ชจ๋ฆฌ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ์˜ˆ์—์„œ๋Š” HR ์‹œ์Šคํ…œ์— HR ์ง€ํ‘œ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ๋‚ด์žฅํ•˜๊ธฐ ์œ„ํ•ด ํšŒ์‚ฌ์˜ ์ง์› ๋ชฉ๋ก๊ณผ ํ•จ๊ป˜ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ง์› ๋ชฉ๋ก์„ ๊ฐ€์ ธ์˜ค๋Š” ๋Œ€์‹  ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ํŒŒ์ผ ๋ฐ ์ƒ˜ํ”Œ ๋Œ€์‹œ๋ณด๋“œ ์ค€๋น„

๋ช‡ ๊ฐ€์ง€ ์†์„ฑ๋งŒ ์žˆ๋Š” ๋‹จ์ˆœํ™”๋œ ์ง์›์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • ์ง์› ID: ๋ฌธ์ž์—ด
  • ์ „์ฒด ์ด๋ฆ„: ๋ฌธ์ž์—ด
  • ์ž„๊ธˆ: ์ˆซ์ž

๋จผ์ € ๋™์ผํ•œ ์Šคํ‚ค๋งˆ๋กœ CSV ํŒŒ์ผ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

 Example of preparing a Data File and Sample Dashboard in Reveal BI

  1. Dropbox ๋˜๋Š” Google Drive์™€ ๊ฐ™์€ ์„ ํ˜ธํ•˜๋Š” ํŒŒ์ผ ๊ณต์œ  ์‹œ์Šคํ…œ์— ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
  2. ๋”๋ฏธ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋‚˜์ค‘์— ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์‹ค์ œ ์ƒ์‚ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.
  3. ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ๋‚ด๋ณด๋‚ด๊ณ (๋Œ€์‹œ๋ณด๋“œ ๋ฉ”๋‰ด โ†’ ๋‚ด๋ณด๋‚ด๊ธฐ โ†’ ๋Œ€์‹œ๋ณด๋“œ) .rdash ํŒŒ์ผ๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

๋Œ€์‹œ๋ณด๋“œ ์‹œ๊ฐํ™” ๋ฐ ์‹ค์ œ ๋ฐ์ดํ„ฐ ๋ฐ˜ํ™˜

์ด์ œ ๋”๋ฏธ ๋ฐ์ดํ„ฐ ๋Œ€์‹  ์ž์ฒด ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ์‹œ๊ฐํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

โ€‹๋ฐ์ดํ„ฐ ์›๋ณธ ๊ต์ฒด์— ์„ค๋ช…๋œ ๋Œ€๋กœ IRVDataSourceProvider๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  IRevealSdkContext์˜ DataSourceProvider ์†์„ฑ์œผ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ChangeVisualizationDataSourceItemAsync ๋ฉ”์„œ๋“œ ๊ตฌํ˜„์—์„œ ๋‹ค์Œ๊ณผ ์œ ์‚ฌํ•œ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 Change Visualization Data Source Item Async example code

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ ๋Œ€์‹œ๋ณด๋“œ์˜ CSV ํŒŒ์ผ์— ๋Œ€ํ•œ ๋ชจ๋“  ์ฐธ์กฐ๋ฅผ "์ง์›"์œผ๋กœ ์‹๋ณ„๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๋‚ด ๋ฐ์ดํ„ฐ ์†Œ์Šค๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. ์ด ID๋Š” ๋‚˜์ค‘์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์•„๋ž˜์™€ ๊ฐ™์ด IRVDataProvider๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•  ๋ฉ”์„œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

IRV Data Provider example code

Employee ํด๋ž˜์Šค์˜ ์†์„ฑ ์ด๋ฆ„์€ CSV ํŒŒ์ผ์˜ ์—ด๊ณผ ์ •ํ™•ํžˆ ๋™์ผํ•˜๋ฉฐ ๋ฐ์ดํ„ฐ ์œ ํ˜•๋„ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ์†์„ฑ์˜ ํ•„๋“œ ์ด๋ฆ„, ํ•„๋“œ ๋ ˆ์ด๋ธ” ๋ฐ/๋˜๋Š” ๋ฐ์ดํ„ฐ ์œ ํ˜•์„ ๋ณ€๊ฒฝํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ํด๋ž˜์Šค ์„ ์–ธ์—์„œ ํŠน์„ฑ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • RVSchemaColumn ํŠน์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•„๋“œ ์ด๋ฆ„ ๋ฐ/๋˜๋Š” ๋ฐ์ดํ„ฐ ์œ ํ˜•์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • DisplayName ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•„๋“œ ๋ ˆ์ด๋ธ”์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 RV Schema Column attribute can be used to alter the field name and/or data type

๋˜ํ•œ IRVDataProvider๋ฅผ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด IRevealSdkContext.DataProvider ๊ตฌํ˜„์„ ์ˆ˜์ •ํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  IRV Data Provider implementation

Reveal์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ฑฐ๋‚˜, ์•„์ง SDK๋ฅผ ์‚ฌ์šฉํ•ด๋ณด์ง€ ์•Š์•˜๋‹ค๋ฉด ๋ฐ๋ชจ๋ฅผ ์š”์ฒญํ•˜์„ธ์š”.

๋ฐ๋ชจ ์š”์ฒญ