1045:
246:
Cubes is capable of handling large amounts of data and complex queries. According to a review by TechTarget, Cubes can handle "data volumes in the hundreds of millions of rows" and "complex queries and calculations that require multi-level aggregations and dynamic subsetting." Additionally, the
263:
and their measures and aggregates, dimensions and their attributes, hierarchies. Logical model also contains mapping from logical attributes to their physical location in a database (or other data source).
1205:
1210:
247:
review notes that Cubes is well-suited for smaller organizations or teams that don't require the complexity and scalability of enterprise-level OLAP solutions.
987:
metadata which helps to create generic reporting applications that don't have to know the database model structure and conceptual hierarchies up-in-front.
259:
and can be provided either in a form of a file, directory bundle or from an external model provider (for example a database). The basic model objects are:
1138:
239:
1050:
604:
http://localhost:5000/cube/contracts/aggregate?drilldown=date&drilldown=criteria&cut=date:2012,1-2012,6&order=date.month:desc
1195:
100:
223:
hierarchical dimensions (attributes that have hierarchical dependencies, such as category-subcategory or country-region)
77:
182:
Cubes provides to an analyst or any application end-user "understandable and natural way of reporting using concept of
172:
51:
1014:
query generator that translates the reporting queries into SQL statements. The query generator takes into account
1200:
972:
The simple HTTP/JSON interface makes it very easy to integrate OLAP reports in web applications written in pure
233:
229:
190:
991:
164:
600:. Example query to get "total amount of all contracts between January 2012 and June 2016 by month":
119:
1026:
and executes only joins that are necessary to retrieve attributes required by the data analyst.
1125:
197:. Cubes 1.0 was released in September 2014 and presented on the PyData Conference in New York
1023:
131:
107:
1089:
189:
Cubes was first publicly released in March 2011. The project was originally developed for
171:
toolkit for development reporting applications and browsing of aggregated data written in
112:
1189:
485:). The operations can be accessed either through Python interface or through a light
478:
1215:
1019:
176:
136:
1058:
1040:
1030:
977:
486:
19:
984:
482:
260:
213:
183:
1161:
1015:
194:
83:
1139:"Open source Cubes OLAP server suits business users under the gun"
1007:
973:
593:
589:
256:
217:
206:
168:
147:
124:
1178:
1011:
1003:
597:
1114:
1010:
functionality on top a relational database. Cubes contains a
1110:
1077:
255:
The logical conceptual model in Cubes is described using
1078:
Stefan
Urbanek is the creator of Cubes and Data Brewery.
588:
The Cubes provides a non-traditional OLAP server with
983:
The Slicer server contains endpoints describing the
142:
130:
118:
106:
96:
76:
50:
28:
18:
1206:Python (programming language) scientific libraries
1090:"DataBrewery / cubes / blob / master / LICENSE"
477:Cubes provides basic set of operations such as
1126:Cubes 1.0 Overview at PyData NYC 2014 (video)
8:
209:and aggregated browsing (default is ROLAP)
15:
1033:Python toolkit to construct the queries.
1070:
990:The Slicer server is written using the
1211:Python (programming language) software
7:
1051:Free and open-source software portal
1115:Transparency International Slovakia
700:"economically best offer"
226:multiple hierarchies in a dimension
1006:backend of the framework provides
186:– multidimensional data objects".
14:
492:Example of the python interface:
220:or provided from external sources
1043:
769:"criteria.description"
694:"criteria.description"
1111:Public Procurements of Slovakia
829:"contract_amount_sum"
757:"contract_amount_sum"
682:"contract_amount_sum"
625:"contract_amount_sum"
167:multidimensional modelling and
1:
808:"total_cell_count"
173:Python programming language
1232:
781:"criteria.sdesc"
706:"criteria.sdesc"
57:1.1 / July 2, 2016
745:"criteria.code"
670:"criteria.code"
608:The response looks like:
72:
46:
787:"lowest price"
775:"lowest price"
610:
494:
269:
1143:SearchBusinessAnalytics
883:"level_depth"
793:"criteria.id"
718:"criteria.id"
1196:Data analysis software
820:"aggregates"
712:"best offer"
515:"slicer.ini"
443:"attributes"
404:"attributes"
332:"dimensions"
311:"dimensions"
232:for computing derived
230:arithmetic expressions
34:; 13 years ago
1029:The SQL backend uses
992:Flask (web framework)
871:"hierarchy"
859:"dimension"
733:"date.year"
658:"date.year"
637:"remainder"
305:"Our Sales"
59:; 8 years ago
949:"criteria"
398:"Category"
386:"category"
320:"measures"
877:"default"
616:"summary"
437:"Product"
425:"product"
362:"Product"
350:"product"
191:Public Procurements
175:released under the
32:March 27, 2011
940:"levels"
907:"hidden"
895:"invert"
676:"ekonaj"
483:slicing and dicing
368:"levels"
163:is a light-weight
20:Original author(s)
853:"range"
646:"cells"
539:"sales"
431:"label"
392:"label"
356:"label"
299:"label"
293:"sales"
275:"cubes"
242:metadata and data
212:logical model of
158:
157:
1223:
1201:Data warehousing
1182:
1181:
1179:Official website
1164:
1159:
1153:
1152:
1150:
1149:
1135:
1129:
1123:
1117:
1108:
1102:
1101:
1099:
1097:
1086:
1080:
1075:
1053:
1048:
1047:
1046:
1024:snowflake schema
968:
965:
962:
959:
958:"date"
956:
953:
950:
947:
944:
941:
938:
935:
932:
929:
926:
923:
920:
919:"from"
917:
914:
911:
908:
905:
902:
899:
896:
893:
890:
887:
884:
881:
878:
875:
872:
869:
866:
865:"date"
863:
860:
857:
854:
851:
848:
847:"type"
845:
842:
839:
836:
835:"cell"
833:
830:
827:
824:
821:
818:
815:
812:
809:
806:
803:
800:
797:
794:
791:
788:
785:
782:
779:
776:
773:
770:
767:
764:
761:
758:
755:
752:
751:"cena"
749:
746:
743:
740:
737:
734:
731:
728:
725:
722:
719:
716:
713:
710:
707:
704:
701:
698:
695:
692:
689:
686:
683:
680:
677:
674:
671:
668:
665:
662:
659:
656:
653:
650:
647:
644:
641:
638:
635:
632:
629:
626:
623:
620:
617:
614:
605:
579:
576:
573:
570:
567:
564:
561:
558:
555:
552:
549:
546:
543:
540:
537:
534:
531:
528:
525:
522:
519:
516:
513:
510:
507:
504:
501:
498:
468:
465:
462:
459:
456:
453:
450:
447:
444:
441:
438:
435:
432:
429:
426:
423:
420:
419:"name"
417:
414:
411:
408:
405:
402:
399:
396:
393:
390:
387:
384:
381:
380:"name"
378:
375:
372:
369:
366:
363:
360:
357:
354:
351:
348:
345:
344:"name"
342:
339:
336:
333:
330:
327:
324:
321:
318:
315:
312:
309:
306:
303:
300:
297:
294:
291:
288:
287:"name"
285:
282:
279:
276:
273:
154:
151:
149:
108:Operating system
92:
89:
87:
85:
67:
65:
60:
42:
40:
35:
16:
1231:
1230:
1226:
1225:
1224:
1222:
1221:
1220:
1186:
1185:
1177:
1176:
1173:
1168:
1167:
1160:
1156:
1147:
1145:
1137:
1136:
1132:
1124:
1120:
1109:
1105:
1095:
1093:
1088:
1087:
1083:
1076:
1072:
1067:
1049:
1044:
1042:
1039:
1000:
970:
969:
966:
963:
960:
957:
954:
951:
948:
945:
942:
939:
936:
933:
930:
927:
924:
921:
918:
915:
912:
909:
906:
903:
900:
897:
894:
891:
888:
885:
882:
879:
876:
873:
870:
867:
864:
861:
858:
855:
852:
849:
846:
843:
840:
837:
834:
831:
828:
825:
822:
819:
816:
813:
810:
807:
804:
801:
798:
795:
792:
789:
786:
783:
780:
777:
774:
771:
768:
765:
762:
759:
756:
753:
750:
747:
744:
741:
738:
735:
732:
729:
726:
723:
720:
717:
714:
711:
708:
705:
702:
699:
696:
693:
690:
687:
684:
681:
678:
675:
672:
669:
666:
663:
660:
657:
654:
651:
648:
645:
642:
639:
636:
633:
630:
627:
624:
621:
618:
615:
612:
603:
586:
581:
580:
577:
574:
571:
568:
565:
562:
559:
556:
553:
550:
547:
544:
541:
538:
535:
532:
529:
526:
523:
520:
517:
514:
511:
508:
505:
502:
499:
496:
489:called Slicer.
481:and filtering (
475:
470:
469:
466:
463:
460:
457:
454:
451:
448:
445:
442:
439:
436:
433:
430:
427:
424:
421:
418:
415:
412:
409:
406:
403:
400:
397:
394:
391:
388:
385:
382:
379:
376:
373:
370:
367:
364:
361:
358:
355:
352:
349:
346:
343:
340:
337:
334:
331:
328:
325:
322:
319:
316:
313:
310:
307:
304:
301:
298:
295:
292:
289:
286:
283:
280:
277:
274:
271:
267:Example model:
253:
203:
146:
82:
68:
63:
61:
58:
38:
36:
33:
29:Initial release
12:
11:
5:
1229:
1227:
1219:
1218:
1213:
1208:
1203:
1198:
1188:
1187:
1184:
1183:
1172:
1171:External links
1169:
1166:
1165:
1154:
1130:
1118:
1103:
1081:
1069:
1068:
1066:
1063:
1062:
1061:
1055:
1054:
1038:
1035:
999:
996:
928:"to"
611:
585:
582:
495:
474:
471:
270:
252:
249:
244:
243:
237:
236:and aggregates
227:
224:
221:
210:
202:
199:
156:
155:
144:
140:
139:
134:
128:
127:
122:
116:
115:
113:Cross-platform
110:
104:
103:
98:
94:
93:
80:
74:
73:
70:
69:
56:
54:
52:Stable release
48:
47:
44:
43:
30:
26:
25:
24:Stefan Urbanek
22:
13:
10:
9:
6:
4:
3:
2:
1228:
1217:
1214:
1212:
1209:
1207:
1204:
1202:
1199:
1197:
1194:
1193:
1191:
1180:
1175:
1174:
1170:
1163:
1158:
1155:
1144:
1140:
1134:
1131:
1127:
1122:
1119:
1116:
1112:
1107:
1104:
1091:
1085:
1082:
1079:
1074:
1071:
1064:
1060:
1057:
1056:
1052:
1041:
1036:
1034:
1032:
1027:
1025:
1021:
1017:
1013:
1009:
1005:
1002:The built-in
998:ROLAP and SQL
997:
995:
993:
988:
986:
981:
979:
975:
609:
606:
601:
599:
595:
591:
583:
493:
490:
488:
484:
480:
479:Data drilling
472:
268:
265:
262:
258:
250:
248:
241:
238:
235:
231:
228:
225:
222:
219:
215:
211:
208:
205:
204:
200:
198:
196:
192:
187:
185:
180:
178:
174:
170:
166:
162:
153:
145:
141:
138:
135:
133:
129:
126:
123:
121:
117:
114:
111:
109:
105:
102:
99:
95:
91:
81:
79:
75:
71:
55:
53:
49:
45:
31:
27:
23:
21:
17:
1162:Cubes Viewer
1157:
1146:. Retrieved
1142:
1133:
1121:
1106:
1094:. Retrieved
1084:
1073:
1028:
1001:
989:
982:
971:
607:
602:
592:queries and
587:
491:
476:
266:
254:
245:
188:
181:
160:
159:
150:.databrewery
88:/DataBrewery
1096:21 February
240:localizable
177:MIT License
165:open source
137:MIT License
1190:Categories
1148:2023-03-28
1065:References
1059:SQLAlchemy
1031:SQLAlchemy
978:JavaScript
631:10000000.0
487:web server
473:Operations
214:OLAP cubes
184:data Cubes
97:Written in
78:Repository
64:2016-07-02
39:2011-03-27
596:response
557:aggregate
527:workspace
509:Workspace
503:workspace
1092:. Github
1037:See also
1016:topology
234:measures
201:Features
195:Slovakia
1018:of the
763:23456.0
688:12345.0
575:summary
551:browser
533:browser
521:browser
143:Website
132:License
62: (
37: (
584:Server
569:result
545:result
497:import
101:Python
90:/cubes
84:github
1008:ROLAP
913:false
901:false
563:print
500:cubes
261:cubes
251:Model
161:Cubes
148:cubes
1098:2015
1020:star
985:cube
976:and
974:HTML
739:2012
664:2012
594:JSON
590:HTTP
257:JSON
218:JSON
207:OLAP
169:OLAP
152:.org
125:OLAP
120:Type
86:.com
1216:SQL
1113:by
1022:or
1012:SQL
1004:SQL
805:...
643:{},
598:API
461:...
216:in
193:of
1192::
1141:.
994:.
980:.
937:],
832:],
802:},
727:},
634:},
560:()
458:},
413:},
179:.
1151:.
1128:.
1100:.
967:}
964:}
961::
955:,
952::
946:{
943::
934:}
931::
925:,
922::
916:,
910::
904:,
898::
892:,
889:2
886::
880:,
874::
868:,
862::
856:,
850::
844:{
841:[
838::
826:[
823::
817:,
814:6
811::
799:4
796::
790:,
784::
778:,
772::
766:,
760::
754:,
748::
742:,
736::
730:{
724:3
721::
715:,
709::
703:,
697::
691:,
685::
679:,
673::
667:,
661::
655:{
652:[
649::
640::
628::
622:{
619::
613:{
578:)
572:.
566:(
554:.
548:=
542:)
536:(
530:.
524:=
518:)
512:(
506:=
467:}
464:]
455:]
452:}
449:,
446::
440:,
434::
428:,
422::
416:{
410:,
407::
401:,
395::
389:,
383::
377:{
374:[
371::
365:,
359::
353:,
347::
341:{
338:[
335::
329:]
326:}
323::
317:,
314::
308:,
302::
296:,
290::
284:{
281:[
278::
272:{
66:)
41:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.