# How to model list attribute

**URL:** https://forum.data-community.org/t/how-to-model-list-attribute/1462
**Category:** Data Vault 2.0
**Created:** [August 11, 2024, 6:41pm UTC](https://forum.data-community.org/t/how-to-model-list-attribute/1462 "2024-08-11T18:41:40Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![artt](https://avatars.discourse-cdn.com/v4/letter/a/a88e4f/32.png) [@artt](https://forum.data-community.org/u/artt)
#### Post date: [August 11, 2024, 6:41pm UTC](https://forum.data-community.org/t/how-to-model-list-attribute/1462/1 "2024-08-11T18:41:40Z")

</div>

HI, I`m trying to model the case as below.

Source Table (Task ID | Attr1 | Attr2 | Countries | Products | LastModificationDate), is providing attributes for Tasks, all the attributes are single valued, except Countries and Products, which are lists/arrays and can contain 0…n elements each.

Model which so far I come to is as following:  
HUB\_Tasks (Task ID)  
SAT\_Tasks\_Details (Attr1 | Attr2 | LastModificationDate)  
SAT\_MAS\_Tasks\_Countries (record for each country element and LastModificationDate)  
SAT\_MAS\_Tasks\_Products (record for each product element and LastModificationDate)

Could you please advise if this is right/best way of doing it? What better options you could propose please?

---

<div class="post-metadata">

### Author: ![patrickcuba](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.data-community.org/patrickcuba/32/19_2.png) [@patrickcuba](https://forum.data-community.org/u/patrickcuba)
#### Post date: [August 12, 2024, 3:11am UTC](https://forum.data-community.org/t/how-to-model-list-attribute/1462/2 "2024-08-12T03:11:35Z")

</div>

Why do you need to split them out into MAS? Querying?

> **[Data Vault Techniques: Handling Semi-Structured Data](https://www.snowflake.com/blog/handling-semi-structured-data/)**
>
> In this post, we will talk about designing a data vault to cater to semi-structured data, regardless of whether it’s streaming, micro-batch, or batch-oriented data.

---

<div class="post-metadata">

### Author: ![artt](https://avatars.discourse-cdn.com/v4/letter/a/a88e4f/32.png) [@artt](https://forum.data-community.org/u/artt)
#### Post date: [August 12, 2024, 4:05am UTC](https://forum.data-community.org/t/how-to-model-list-attribute/1462/3 "2024-08-12T04:05:47Z")

</div>

Hi, the main reason of doing so - to secure atomicity.

Option B would be to use stringified values of array, treat them as a singe-valued fired in the model and include them along with other fields into the single sat/hash calculations.

Do you think option B is a better way?
