|
1 | | -cube(`Activities`, { |
2 | | - sql: `SELECT * FROM public.activities`, |
3 | | - |
4 | | - preAggregations: { |
5 | | - Activities: { |
6 | | - measures: [Activities.count], |
7 | | - dimensions: [ |
8 | | - Activities.platform, |
9 | | - Activities.type, |
10 | | - Members.score, |
11 | | - Members.location, |
12 | | - Members.tenantId, |
13 | | - Members.isTeamMember, |
14 | | - Members.isBot, |
15 | | - Members.isOrganization, |
16 | | - Activities.tenantId, |
17 | | - Segments.id, |
18 | | - ], |
19 | | - timeDimension: Activities.date, |
20 | | - granularity: `day`, |
21 | | - refreshKey: { |
22 | | - every: `10 minute`, |
23 | | - }, |
24 | | - }, |
25 | | - ActivitiesCumulative: { |
26 | | - measures: [Activities.cumulativeCount], |
27 | | - dimensions: [ |
28 | | - Activities.platform, |
29 | | - Activities.type, |
30 | | - Members.score, |
31 | | - Members.location, |
32 | | - Members.tenantId, |
33 | | - Members.isTeamMember, |
34 | | - Members.isBot, |
35 | | - Members.isOrganization, |
36 | | - Activities.tenantId, |
37 | | - Segments.id, |
38 | | - ], |
39 | | - timeDimension: Activities.date, |
40 | | - granularity: `day`, |
41 | | - refreshKey: { |
42 | | - every: `10 minute`, |
43 | | - }, |
44 | | - }, |
45 | | - ActivitiesPTD: { |
46 | | - measures: [Activities.count], |
47 | | - dimensions: [ |
48 | | - Activities.platform, |
49 | | - Activities.type, |
50 | | - Members.score, |
51 | | - Members.location, |
52 | | - Members.tenantId, |
53 | | - Members.isTeamMember, |
54 | | - Members.isBot, |
55 | | - Members.isOrganization, |
56 | | - Activities.tenantId, |
57 | | - Segments.id, |
58 | | - ], |
59 | | - timeDimension: Activities.date, |
60 | | - granularity: `day`, |
61 | | - partition_granularity: `month`, |
62 | | - refreshKey: { |
63 | | - sql: `SELECT MAX("updatedAt") FROM public.activities WHERE ${FILTER_PARAMS.Activities.date.filter( |
64 | | - 'timestamp', |
65 | | - )}`, |
66 | | - every: `30 minute`, |
67 | | - }, |
68 | | - }, |
69 | | - ActivitiesCumulativePTD: { |
70 | | - measures: [Activities.cumulativeCount], |
71 | | - dimensions: [ |
72 | | - Activities.platform, |
73 | | - Activities.type, |
74 | | - Members.score, |
75 | | - Members.location, |
76 | | - Members.tenantId, |
77 | | - Members.isTeamMember, |
78 | | - Members.isBot, |
79 | | - Members.isOrganization, |
80 | | - Activities.tenantId, |
81 | | - Segments.id, |
82 | | - ], |
83 | | - timeDimension: Activities.date, |
84 | | - granularity: `day`, |
85 | | - partition_granularity: `month`, |
86 | | - refreshKey: { |
87 | | - sql: `SELECT MAX("updatedAt") FROM public.activities WHERE ${FILTER_PARAMS.Activities.date.filter( |
88 | | - 'timestamp', |
89 | | - )}`, |
90 | | - every: `30 minute`, |
91 | | - }, |
92 | | - }, |
93 | | - }, |
| 1 | +cube('Activities', { |
| 2 | + sql_table: 'mv_activities_cube', |
94 | 3 |
|
95 | 4 | measures: { |
96 | 5 | count: { |
97 | | - type: `count`, |
98 | | - drillMembers: [ |
99 | | - memberId, |
100 | | - sourceid, |
101 | | - tenantId, |
102 | | - id, |
103 | | - updatedbyid, |
104 | | - parentid, |
105 | | - createdbyid, |
106 | | - createdat, |
107 | | - updatedat, |
108 | | - date, |
109 | | - ], |
| 6 | + sql: `${CUBE}.id`, |
| 7 | + type: 'count_distinct', |
| 8 | + drillMembers: [tenantId, date], |
110 | 9 | }, |
111 | 10 | cumulativeCount: { |
112 | | - type: `count`, |
| 11 | + type: 'count', |
113 | 12 | rollingWindow: { |
114 | | - trailing: `unbounded`, |
| 13 | + trailing: 'unbounded', |
115 | 14 | }, |
116 | 15 | }, |
117 | 16 | }, |
118 | 17 |
|
119 | 18 | dimensions: { |
120 | | - memberId: { |
121 | | - sql: `${CUBE}."memberId"`, |
122 | | - type: `string`, |
123 | | - shown: false, |
| 19 | + id: { |
| 20 | + sql: `${CUBE}.id`, |
| 21 | + type: 'string', |
| 22 | + primaryKey: true, |
124 | 23 | }, |
125 | 24 |
|
126 | | - sentimentMood: { |
127 | | - case: { |
128 | | - when: [ |
129 | | - { sql: `${CUBE}.sentiment->>'sentiment' is null`, label: `no data` }, |
130 | | - { sql: `(${CUBE}.sentiment->>'sentiment')::integer < 34`, label: `negative` }, |
131 | | - { sql: `(${CUBE}.sentiment->>'sentiment')::integer > 66`, label: `positive` }, |
132 | | - ], |
133 | | - else: { label: `neutral` }, |
134 | | - }, |
135 | | - type: `string`, |
| 25 | + iscontribution: { |
| 26 | + sql: `${CUBE}."isContribution"`, |
| 27 | + type: 'string', |
136 | 28 | }, |
137 | 29 |
|
138 | | - sourceid: { |
139 | | - sql: `${CUBE}."sourceId"`, |
140 | | - type: `string`, |
141 | | - shown: false, |
| 30 | + sentimentMood: { |
| 31 | + sql: `${CUBE}."sentimentMood"`, |
| 32 | + type: 'string', |
142 | 33 | }, |
143 | 34 |
|
144 | 35 | platform: { |
145 | | - sql: `platform`, |
146 | | - type: `string`, |
| 36 | + sql: `${CUBE}.platform`, |
| 37 | + type: 'string', |
147 | 38 | }, |
148 | 39 |
|
149 | 40 | channel: { |
150 | | - sql: `channel`, |
151 | | - type: `string`, |
| 41 | + sql: `${CUBE}.channel`, |
| 42 | + type: 'string', |
152 | 43 | }, |
153 | 44 |
|
154 | 45 | tenantId: { |
155 | 46 | sql: `${CUBE}."tenantId"`, |
156 | | - type: `string`, |
| 47 | + type: 'string', |
157 | 48 | shown: false, |
158 | 49 | }, |
159 | 50 |
|
160 | | - id: { |
161 | | - sql: `id`, |
162 | | - type: `string`, |
163 | | - primaryKey: true, |
164 | | - }, |
165 | | - |
166 | 51 | type: { |
167 | | - sql: `type`, |
168 | | - type: `string`, |
169 | | - }, |
170 | | - |
171 | | - updatedbyid: { |
172 | | - sql: `${CUBE}."updatedById"`, |
173 | | - type: `string`, |
174 | | - shown: false, |
175 | | - }, |
176 | | - |
177 | | - iscontribution: { |
178 | | - sql: `${CUBE}."isContribution"`, |
179 | | - type: `string`, |
180 | | - shown: true, |
181 | | - }, |
182 | | - |
183 | | - parentid: { |
184 | | - sql: `${CUBE}."parentId"`, |
185 | | - type: `string`, |
186 | | - shown: false, |
187 | | - }, |
188 | | - |
189 | | - createdbyid: { |
190 | | - sql: `${CUBE}."createdById"`, |
191 | | - type: `string`, |
192 | | - shown: false, |
193 | | - }, |
194 | | - |
195 | | - createdat: { |
196 | | - sql: `${CUBE}."createdAt"`, |
197 | | - type: `time`, |
198 | | - shown: false, |
199 | | - }, |
200 | | - |
201 | | - updatedat: { |
202 | | - sql: `${CUBE}."updatedAt"`, |
203 | | - type: `time`, |
204 | | - shown: false, |
| 52 | + sql: `${CUBE}.type`, |
| 53 | + type: 'string', |
205 | 54 | }, |
206 | 55 |
|
207 | 56 | date: { |
208 | | - sql: `timestamp`, |
209 | | - type: `time`, |
210 | | - }, |
211 | | - |
212 | | - deletedat: { |
213 | | - sql: `${CUBE}."deletedAt"`, |
214 | | - type: `time`, |
215 | | - shown: false, |
| 57 | + sql: `${CUBE}.timestamp`, |
| 58 | + type: 'time', |
216 | 59 | }, |
217 | 60 | }, |
218 | 61 | }) |
0 commit comments