0

假設我有一個具有一對多關係的數據集。例如,每個老師有許多(陣列)的學生,這樣的數據可以被嵌套這樣的:Crossfilter如何與unflattened多維數據集一起使用?

[ 
    { 
     teacher: { 
        'name': 'Ann' 
       }, 
     students: [ ... ] 
    }, 
    ... 
] 

我可以使用Crossfilter與格式類似上面的數據?或者必須將數據平滑化,就像許多例子一樣?

回答

1

我認爲,如果您想對嵌套實體進行操作作爲分組,過濾和聚合的基礎,那麼您應該將數據平坦化。

Crossfilter操作的基本單位是數組元素,它們在扁平行中最容易考慮。在許多Crossfilter的函數中,您的代碼被提供給每個數組元素,以便您可以驅動各種操作(組,過濾器等)。

從技術上講,您可以隨時隨地瀏覽每個元素的內容並動態返回展平的值。但是,這些函數中的每一個都必須返回一個值,因此如果在單個頂級元素下有多個嵌套實體,則需要不斷努力確定該值。

所以,我不會說嵌套數據是不可能的,但是你會受到自然表達的限制,當你嘗試解決這些限制時,複雜性會大大增加。

我認爲扁平化肯定是要走的路。根據我的經驗,如果您將數據元素作爲關係數據庫中的行進行考慮,則Crossfilter更易於理解。

相關問題