forked from feonit/olap-cube-js
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtodo.txt
109 lines (68 loc) · 4.92 KB
/
todo.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
summary - для описания значений данных в ячейках
иерархия - выявленные стойкие взаимосвязи между многоуровневыми объединениями измерений и мер
В кубе введены отношения обобщения и специализации (roll-up/drill-down)-- это операции
по иерархиям измерений
http://www.ykud.ru/articles/olap_lattices/olap_lattices.pdf
http://media.ls.urfu.ru/632/1734/4218/5290/
http://kek.ksu.ru/eos/DW/OLAP_Microsoft.pdf
кортеж - набор членов каждого из измерений
ячейка идентифицируется кортежем
пустые ячейчки - в таблице фактов для них не содержится данных
Surrogate key https://en.wikipedia.org/wiki/Surrogate_key
ключ It is recommended that the key field be a simple integer because a key value is meaningless
решение проблемы Typical Multidimensional Problem: missing values
В одном измерении можно реализовать более одной иерархии - скажем, для времени: {Год, Квартал, Месяц, День} и {Год, Неделя, День}.
Tree traversing https://en.wikipedia.org/wiki/Tree_traversal
http://www.cfin.ru/itm/olap/glossary.shtml
sets example:
https://codepen.io/beaucarnes/pen/dvGeeq?editors=0012
https://habrahabr.ru/company/netologyru/blog/334914/
http://www.vertabelo.com/blog/technical-articles/data-warehouse-modeling-the-snowflake-schema
cells это агрегированные данные
snowflaking процесс нормализации таблиц измерений
=====================================================================================================================
- Change place of logo image to special branch
обновление таблицы фактов, вместо удаления/добавления
попробовать привести в порядок историю комментов в git
попробовать выделить разные наборы данных и прогонять их через все тесты
удалить из addDimensionMember fill метод + проверить и написать тест что fill выполняется там как нужно
ref для createMember
тесты на кортеж добавить
как бы сделать Pivot повороты
тудушки разобрать
getFacts => createFacts?
может cellTable и вовсе нету никакой
http://www.olapcube.com/mdxhelp/KeyConcepts.htm
each cell is an intersection of all the dimensions of the cube
tuples can uniquely identify every cell in the cube
Custom Member Options может быть параметром к таблицам измерений, чтобы не прокидывать каждый раз их в функциях
по аналогии Cell Properties
удовлетворить программное требование: в случае возникновения ошибок, состояние не должно быть сломано
удалить extends Error and Reflect, custom errors
дефолтные опциональные данные для ячеек
починить example
!!! deprecated
1)
addDimensionMember нужно аргументы переставить местами
2)
заменить метод fill на
cube.createEmptyCells(cellData, genericIdFn = uuid) и тут подумать над методом isEmptyCell
cube.addEmptyCells(emptyCells)
тогда fill() заменится на cube.addEmptyCells(cube.createEmptyCells()), что гибче, но можно и оставить fillEmptyCells
getEmptyCells нужен для удаления нужных ячеек через метод removeCells
тогда removeEmptyCells выглядит как cube.removeCells(cube.getEmptyCells())
когда fill метод переименую, добавить спецификации методам
Deprecated methods `getFacts` and `getFactsBySet`, use `getCells` and `getCellsBySet` instead или все же не стоит?
3)
в factTable отправить uuidv4
4)
подумать об инверсии уровней в обратном порядке, инверсия должна быть совместима с multiple hierarchies
5)
разобраться с residuals
6)
порядок аргументов изменить с facts, dimensionHierarchies на обратный
8) addDimensionMember => addMember?
member должны иметь ссылки на категории...
9) set вместо объекта сделать кортеж массивом с проверками
10) Cube.create аргументы местами поменять
slice удаляет измерение, а dice нет