gooddata-edge 0.6.27.edge

Sign up to get free protection for your applications and to get access to all the features.
Files changed (364) hide show
  1. checksums.yaml +7 -0
  2. data/.document +5 -0
  3. data/.gitignore +36 -0
  4. data/.rspec +3 -0
  5. data/.rubocop.yml +89 -0
  6. data/.yardopts +22 -0
  7. data/CHANGELOG.md +196 -0
  8. data/CLI.md +439 -0
  9. data/DEPENDENCIES.md +817 -0
  10. data/Gemfile +4 -0
  11. data/Guardfile +5 -0
  12. data/LICENSE +22 -0
  13. data/LICENSE.rb +5 -0
  14. data/README.md +75 -0
  15. data/Rakefile +179 -0
  16. data/TODO.md +32 -0
  17. data/authors.sh +4 -0
  18. data/bin/gooddata +7 -0
  19. data/dependency_decisions.yml +104 -0
  20. data/gooddata +9 -0
  21. data/gooddata.gemspec +63 -0
  22. data/lib/gooddata.rb +31 -0
  23. data/lib/gooddata/app/app.rb +16 -0
  24. data/lib/gooddata/bricks/base_downloader.rb +86 -0
  25. data/lib/gooddata/bricks/brick.rb +38 -0
  26. data/lib/gooddata/bricks/bricks.rb +15 -0
  27. data/lib/gooddata/bricks/middleware/aws_middleware.rb +29 -0
  28. data/lib/gooddata/bricks/middleware/base_middleware.rb +56 -0
  29. data/lib/gooddata/bricks/middleware/bench_middleware.rb +24 -0
  30. data/lib/gooddata/bricks/middleware/bulk_salesforce_middleware.rb +37 -0
  31. data/lib/gooddata/bricks/middleware/decode_params_middleware.rb +20 -0
  32. data/lib/gooddata/bricks/middleware/fs_download_middleware.rb +48 -0
  33. data/lib/gooddata/bricks/middleware/fs_upload_middleware.rb +36 -0
  34. data/lib/gooddata/bricks/middleware/gooddata_middleware.rb +39 -0
  35. data/lib/gooddata/bricks/middleware/logger_middleware.rb +29 -0
  36. data/lib/gooddata/bricks/middleware/middleware.rb +12 -0
  37. data/lib/gooddata/bricks/middleware/restforce_middleware.rb +61 -0
  38. data/lib/gooddata/bricks/middleware/stdout_middleware.rb +23 -0
  39. data/lib/gooddata/bricks/middleware/twitter_middleware.rb +29 -0
  40. data/lib/gooddata/bricks/middleware/undot_params_middleware.rb +37 -0
  41. data/lib/gooddata/bricks/pipeline.rb +32 -0
  42. data/lib/gooddata/bricks/utils.rb +18 -0
  43. data/lib/gooddata/cli/cli.rb +27 -0
  44. data/lib/gooddata/cli/commands/auth_cmd.rb +29 -0
  45. data/lib/gooddata/cli/commands/domain_cmd.rb +28 -0
  46. data/lib/gooddata/cli/commands/project_cmd.rb +45 -0
  47. data/lib/gooddata/cli/hooks.rb +57 -0
  48. data/lib/gooddata/cli/shared.rb +61 -0
  49. data/lib/gooddata/cli/terminal.rb +20 -0
  50. data/lib/gooddata/client.rb +67 -0
  51. data/lib/gooddata/commands/api.rb +64 -0
  52. data/lib/gooddata/commands/auth.rb +107 -0
  53. data/lib/gooddata/commands/base.rb +12 -0
  54. data/lib/gooddata/commands/commands.rb +12 -0
  55. data/lib/gooddata/commands/datasets.rb +148 -0
  56. data/lib/gooddata/commands/datawarehouse.rb +20 -0
  57. data/lib/gooddata/commands/domain.rb +40 -0
  58. data/lib/gooddata/commands/process.rb +67 -0
  59. data/lib/gooddata/commands/project.rb +175 -0
  60. data/lib/gooddata/commands/projects.rb +20 -0
  61. data/lib/gooddata/commands/role.rb +36 -0
  62. data/lib/gooddata/commands/runners.rb +47 -0
  63. data/lib/gooddata/commands/scaffold.rb +69 -0
  64. data/lib/gooddata/commands/user.rb +39 -0
  65. data/lib/gooddata/connection.rb +127 -0
  66. data/lib/gooddata/core/core.rb +12 -0
  67. data/lib/gooddata/core/logging.rb +105 -0
  68. data/lib/gooddata/core/nil_logger.rb +23 -0
  69. data/lib/gooddata/core/project.rb +74 -0
  70. data/lib/gooddata/core/rest.rb +149 -0
  71. data/lib/gooddata/core/user.rb +20 -0
  72. data/lib/gooddata/data/data.rb +12 -0
  73. data/lib/gooddata/data/guesser.rb +122 -0
  74. data/lib/gooddata/exceptions/attr_element_not_found.rb +16 -0
  75. data/lib/gooddata/exceptions/command_failed.rb +11 -0
  76. data/lib/gooddata/exceptions/exceptions.rb +12 -0
  77. data/lib/gooddata/exceptions/execution_limit_exceeded.rb +13 -0
  78. data/lib/gooddata/exceptions/filter_maqlization.rb +16 -0
  79. data/lib/gooddata/exceptions/malformed_user.rb +15 -0
  80. data/lib/gooddata/exceptions/no_project_error.rb +15 -0
  81. data/lib/gooddata/exceptions/object_migration.rb +32 -0
  82. data/lib/gooddata/exceptions/project_not_found.rb +13 -0
  83. data/lib/gooddata/exceptions/segment_not_empty.rb +18 -0
  84. data/lib/gooddata/exceptions/uncomputable_report.rb +13 -0
  85. data/lib/gooddata/exceptions/user_in_different_domain.rb +15 -0
  86. data/lib/gooddata/exceptions/validation_error.rb +16 -0
  87. data/lib/gooddata/extensions/big_decimal.rb +17 -0
  88. data/lib/gooddata/extensions/enumerable.rb +39 -0
  89. data/lib/gooddata/extensions/extensions.rb +10 -0
  90. data/lib/gooddata/extensions/false.rb +15 -0
  91. data/lib/gooddata/extensions/hash.rb +38 -0
  92. data/lib/gooddata/extensions/nil.rb +15 -0
  93. data/lib/gooddata/extensions/numeric.rb +15 -0
  94. data/lib/gooddata/extensions/object.rb +27 -0
  95. data/lib/gooddata/extensions/symbol.rb +15 -0
  96. data/lib/gooddata/extensions/true.rb +15 -0
  97. data/lib/gooddata/extract.rb +21 -0
  98. data/lib/gooddata/goodzilla/goodzilla.rb +159 -0
  99. data/lib/gooddata/helpers/auth_helpers.rb +75 -0
  100. data/lib/gooddata/helpers/csv_helper.rb +61 -0
  101. data/lib/gooddata/helpers/data_helper.rb +116 -0
  102. data/lib/gooddata/helpers/global_helpers.rb +331 -0
  103. data/lib/gooddata/helpers/global_helpers_params.rb +172 -0
  104. data/lib/gooddata/helpers/helpers.rb +10 -0
  105. data/lib/gooddata/mixins/author.rb +26 -0
  106. data/lib/gooddata/mixins/content_getter.rb +15 -0
  107. data/lib/gooddata/mixins/content_property_reader.rb +17 -0
  108. data/lib/gooddata/mixins/content_property_writer.rb +17 -0
  109. data/lib/gooddata/mixins/contributor.rb +20 -0
  110. data/lib/gooddata/mixins/data_getter.rb +15 -0
  111. data/lib/gooddata/mixins/data_property_reader.rb +19 -0
  112. data/lib/gooddata/mixins/data_property_writer.rb +19 -0
  113. data/lib/gooddata/mixins/inspector.rb +53 -0
  114. data/lib/gooddata/mixins/is_attribute.rb +17 -0
  115. data/lib/gooddata/mixins/is_dimension.rb +17 -0
  116. data/lib/gooddata/mixins/is_fact.rb +17 -0
  117. data/lib/gooddata/mixins/is_label.rb +19 -0
  118. data/lib/gooddata/mixins/links.rb +15 -0
  119. data/lib/gooddata/mixins/md_finders.rb +77 -0
  120. data/lib/gooddata/mixins/md_grantees.rb +42 -0
  121. data/lib/gooddata/mixins/md_id_to_uri.rb +34 -0
  122. data/lib/gooddata/mixins/md_json.rb +15 -0
  123. data/lib/gooddata/mixins/md_lock.rb +87 -0
  124. data/lib/gooddata/mixins/md_object_id.rb +15 -0
  125. data/lib/gooddata/mixins/md_object_indexer.rb +64 -0
  126. data/lib/gooddata/mixins/md_object_query.rb +128 -0
  127. data/lib/gooddata/mixins/md_relations.rb +43 -0
  128. data/lib/gooddata/mixins/meta_getter.rb +17 -0
  129. data/lib/gooddata/mixins/meta_property_reader.rb +19 -0
  130. data/lib/gooddata/mixins/meta_property_writer.rb +19 -0
  131. data/lib/gooddata/mixins/mixins.rb +19 -0
  132. data/lib/gooddata/mixins/not_attribute.rb +17 -0
  133. data/lib/gooddata/mixins/not_exportable.rb +15 -0
  134. data/lib/gooddata/mixins/not_fact.rb +17 -0
  135. data/lib/gooddata/mixins/not_group.rb +17 -0
  136. data/lib/gooddata/mixins/not_label.rb +19 -0
  137. data/lib/gooddata/mixins/not_metric.rb +19 -0
  138. data/lib/gooddata/mixins/obj_id.rb +15 -0
  139. data/lib/gooddata/mixins/rest_getters.rb +17 -0
  140. data/lib/gooddata/mixins/rest_resource.rb +47 -0
  141. data/lib/gooddata/mixins/root_key_getter.rb +15 -0
  142. data/lib/gooddata/mixins/root_key_setter.rb +15 -0
  143. data/lib/gooddata/mixins/timestamps.rb +19 -0
  144. data/lib/gooddata/mixins/to_json.rb +11 -0
  145. data/lib/gooddata/mixins/uri_getter.rb +9 -0
  146. data/lib/gooddata/models/blueprint/anchor_field.rb +64 -0
  147. data/lib/gooddata/models/blueprint/attribute_field.rb +29 -0
  148. data/lib/gooddata/models/blueprint/blueprint.rb +11 -0
  149. data/lib/gooddata/models/blueprint/blueprint_field.rb +70 -0
  150. data/lib/gooddata/models/blueprint/dashboard_builder.rb +30 -0
  151. data/lib/gooddata/models/blueprint/dataset_blueprint.rb +449 -0
  152. data/lib/gooddata/models/blueprint/date_dimension.rb +14 -0
  153. data/lib/gooddata/models/blueprint/fact_field.rb +20 -0
  154. data/lib/gooddata/models/blueprint/label_field.rb +43 -0
  155. data/lib/gooddata/models/blueprint/project_blueprint.rb +746 -0
  156. data/lib/gooddata/models/blueprint/project_builder.rb +83 -0
  157. data/lib/gooddata/models/blueprint/reference_field.rb +43 -0
  158. data/lib/gooddata/models/blueprint/schema_blueprint.rb +160 -0
  159. data/lib/gooddata/models/blueprint/schema_builder.rb +89 -0
  160. data/lib/gooddata/models/blueprint/to_manifest.rb +181 -0
  161. data/lib/gooddata/models/blueprint/to_wire.rb +154 -0
  162. data/lib/gooddata/models/client.rb +182 -0
  163. data/lib/gooddata/models/client_synchronization_result.rb +31 -0
  164. data/lib/gooddata/models/client_synchronization_result_details.rb +41 -0
  165. data/lib/gooddata/models/datawarehouse.rb +92 -0
  166. data/lib/gooddata/models/domain.rb +479 -0
  167. data/lib/gooddata/models/execution.rb +115 -0
  168. data/lib/gooddata/models/execution_detail.rb +81 -0
  169. data/lib/gooddata/models/from_wire.rb +160 -0
  170. data/lib/gooddata/models/invitation.rb +75 -0
  171. data/lib/gooddata/models/links.rb +50 -0
  172. data/lib/gooddata/models/membership.rb +441 -0
  173. data/lib/gooddata/models/metadata.rb +272 -0
  174. data/lib/gooddata/models/metadata/attribute.rb +134 -0
  175. data/lib/gooddata/models/metadata/dashboard.rb +108 -0
  176. data/lib/gooddata/models/metadata/dashboard/dashboard_item.rb +76 -0
  177. data/lib/gooddata/models/metadata/dashboard/filter_apply_item.rb +37 -0
  178. data/lib/gooddata/models/metadata/dashboard/filter_item.rb +64 -0
  179. data/lib/gooddata/models/metadata/dashboard/geo_chart_item.rb +56 -0
  180. data/lib/gooddata/models/metadata/dashboard/headline_item.rb +56 -0
  181. data/lib/gooddata/models/metadata/dashboard/iframe_item.rb +46 -0
  182. data/lib/gooddata/models/metadata/dashboard/report_item.rb +92 -0
  183. data/lib/gooddata/models/metadata/dashboard/text_item.rb +55 -0
  184. data/lib/gooddata/models/metadata/dashboard_tab.rb +141 -0
  185. data/lib/gooddata/models/metadata/dataset.rb +64 -0
  186. data/lib/gooddata/models/metadata/dimension.rb +54 -0
  187. data/lib/gooddata/models/metadata/fact.rb +44 -0
  188. data/lib/gooddata/models/metadata/label.rb +128 -0
  189. data/lib/gooddata/models/metadata/metadata.rb +12 -0
  190. data/lib/gooddata/models/metadata/metric.rb +198 -0
  191. data/lib/gooddata/models/metadata/report.rb +247 -0
  192. data/lib/gooddata/models/metadata/report_definition.rb +264 -0
  193. data/lib/gooddata/models/metadata/scheduled_mail.rb +274 -0
  194. data/lib/gooddata/models/metadata/scheduled_mail/dashboard_attachment.rb +62 -0
  195. data/lib/gooddata/models/metadata/scheduled_mail/report_attachment.rb +64 -0
  196. data/lib/gooddata/models/metadata/variable.rb +91 -0
  197. data/lib/gooddata/models/model.rb +282 -0
  198. data/lib/gooddata/models/models.rb +12 -0
  199. data/lib/gooddata/models/module_constants.rb +31 -0
  200. data/lib/gooddata/models/process.rb +316 -0
  201. data/lib/gooddata/models/profile.rb +426 -0
  202. data/lib/gooddata/models/project.rb +1514 -0
  203. data/lib/gooddata/models/project_creator.rb +126 -0
  204. data/lib/gooddata/models/project_metadata.rb +67 -0
  205. data/lib/gooddata/models/project_role.rb +79 -0
  206. data/lib/gooddata/models/report_data_result.rb +266 -0
  207. data/lib/gooddata/models/schedule.rb +518 -0
  208. data/lib/gooddata/models/segment.rb +201 -0
  209. data/lib/gooddata/models/tab_builder.rb +27 -0
  210. data/lib/gooddata/models/user_filters/mandatory_user_filter.rb +76 -0
  211. data/lib/gooddata/models/user_filters/user_filter.rb +100 -0
  212. data/lib/gooddata/models/user_filters/user_filter_builder.rb +512 -0
  213. data/lib/gooddata/models/user_filters/user_filters.rb +13 -0
  214. data/lib/gooddata/models/user_filters/variable_user_filter.rb +31 -0
  215. data/lib/gooddata/models/user_group.rb +241 -0
  216. data/lib/gooddata/rest/README.md +37 -0
  217. data/lib/gooddata/rest/client.rb +389 -0
  218. data/lib/gooddata/rest/connection.rb +765 -0
  219. data/lib/gooddata/rest/object.rb +69 -0
  220. data/lib/gooddata/rest/object_factory.rb +76 -0
  221. data/lib/gooddata/rest/resource.rb +27 -0
  222. data/lib/gooddata/rest/rest.rb +24 -0
  223. data/lib/gooddata/version.rb +23 -0
  224. data/lib/templates/bricks/brick.rb.erb +7 -0
  225. data/lib/templates/bricks/main.rb.erb +5 -0
  226. data/lib/templates/project/Goodfile.erb +4 -0
  227. data/lib/templates/project/data/commits.csv +4 -0
  228. data/lib/templates/project/data/devs.csv +4 -0
  229. data/lib/templates/project/data/repos.csv +3 -0
  230. data/lib/templates/project/model/model.rb.erb +20 -0
  231. data/spec/bricks/bricks_spec.rb +112 -0
  232. data/spec/bricks/default-config.json +8 -0
  233. data/spec/data/.gooddata +4 -0
  234. data/spec/data/blueprints/additional_dataset_module.json +32 -0
  235. data/spec/data/blueprints/big_blueprint_not_pruned.json +2079 -0
  236. data/spec/data/blueprints/invalid_blueprint.json +103 -0
  237. data/spec/data/blueprints/m_n_model.json +104 -0
  238. data/spec/data/blueprints/model_module.json +25 -0
  239. data/spec/data/blueprints/test_blueprint.json +38 -0
  240. data/spec/data/blueprints/test_project_model_spec.json +106 -0
  241. data/spec/data/cc/data/source/commits.csv +4 -0
  242. data/spec/data/cc/data/source/devs.csv +4 -0
  243. data/spec/data/cc/data/source/repos.csv +3 -0
  244. data/spec/data/cc/devel.prm +0 -0
  245. data/spec/data/cc/graph/graph.grf +11 -0
  246. data/spec/data/cc/workspace.prm +19 -0
  247. data/spec/data/column_based_permissions.csv +7 -0
  248. data/spec/data/column_based_permissions2.csv +6 -0
  249. data/spec/data/gd_gse_data_blueprint.json +1371 -0
  250. data/spec/data/gd_gse_data_manifest.json +1424 -0
  251. data/spec/data/gd_gse_data_model.json +1772 -0
  252. data/spec/data/gooddata_version_process/gooddata_version.rb +9 -0
  253. data/spec/data/gooddata_version_process/gooddata_version.zip +0 -0
  254. data/spec/data/hello_world_process/hello_world.rb +9 -0
  255. data/spec/data/hello_world_process/hello_world.zip +0 -0
  256. data/spec/data/line_based_permissions.csv +3 -0
  257. data/spec/data/manifests/test_blueprint.json +32 -0
  258. data/spec/data/manifests/test_project.json +107 -0
  259. data/spec/data/reports/left_attr_report.json +108 -0
  260. data/spec/data/reports/metric_only_one_line.json +83 -0
  261. data/spec/data/reports/report_1.json +197 -0
  262. data/spec/data/reports/top_attr_report.json +108 -0
  263. data/spec/data/ruby_params_process/ruby_params.rb +9 -0
  264. data/spec/data/ruby_process/deep_files/deep_stuff.txt +1 -0
  265. data/spec/data/ruby_process/process.rb +8 -0
  266. data/spec/data/ruby_process/stuff.txt +1 -0
  267. data/spec/data/superfluous_titles_view.json +81 -0
  268. data/spec/data/test-ci-data.csv +2 -0
  269. data/spec/data/users.csv +12 -0
  270. data/spec/data/wire_models/model_view.json +1775 -0
  271. data/spec/data/wire_models/nu_model.json +3046 -0
  272. data/spec/data/wire_models/test_blueprint.json +63 -0
  273. data/spec/data/wire_test_project.json +150 -0
  274. data/spec/environment/default.rb +41 -0
  275. data/spec/environment/develop.rb +31 -0
  276. data/spec/environment/environment.rb +18 -0
  277. data/spec/environment/hotfix.rb +21 -0
  278. data/spec/environment/production.rb +35 -0
  279. data/spec/environment/release.rb +21 -0
  280. data/spec/environment/staging.rb +30 -0
  281. data/spec/environment/staging_3.rb +36 -0
  282. data/spec/helpers/blueprint_helper.rb +26 -0
  283. data/spec/helpers/cli_helper.rb +36 -0
  284. data/spec/helpers/connection_helper.rb +41 -0
  285. data/spec/helpers/crypto_helper.rb +17 -0
  286. data/spec/helpers/csv_helper.rb +18 -0
  287. data/spec/helpers/process_helper.rb +33 -0
  288. data/spec/helpers/project_helper.rb +59 -0
  289. data/spec/helpers/schedule_helper.rb +31 -0
  290. data/spec/helpers/spec_helper.rb +15 -0
  291. data/spec/integration/blueprint_updates_spec.rb +101 -0
  292. data/spec/integration/blueprint_with_grain_spec.rb +72 -0
  293. data/spec/integration/clients_spec.rb +134 -0
  294. data/spec/integration/command_datawarehouse_spec.rb +39 -0
  295. data/spec/integration/command_projects_spec.rb +32 -0
  296. data/spec/integration/create_from_template_spec.rb +22 -0
  297. data/spec/integration/create_project_spec.rb +24 -0
  298. data/spec/integration/date_dim_switch_spec.rb +142 -0
  299. data/spec/integration/deprecated_load_spec.rb +58 -0
  300. data/spec/integration/full_process_schedule_spec.rb +298 -0
  301. data/spec/integration/full_project_spec.rb +569 -0
  302. data/spec/integration/over_to_user_filters_spec.rb +94 -0
  303. data/spec/integration/partial_md_export_import_spec.rb +42 -0
  304. data/spec/integration/project_spec.rb +264 -0
  305. data/spec/integration/rest_spec.rb +213 -0
  306. data/spec/integration/schedule_spec.rb +626 -0
  307. data/spec/integration/segments_spec.rb +141 -0
  308. data/spec/integration/user_filters_spec.rb +290 -0
  309. data/spec/integration/user_group_spec.rb +127 -0
  310. data/spec/integration/variables_spec.rb +188 -0
  311. data/spec/logging_in_logging_out_spec.rb +93 -0
  312. data/spec/spec_helper.rb +95 -0
  313. data/spec/unit/bricks/bricks_spec.rb +35 -0
  314. data/spec/unit/bricks/middleware/aws_middelware_spec.rb +51 -0
  315. data/spec/unit/bricks/middleware/bench_middleware_spec.rb +15 -0
  316. data/spec/unit/bricks/middleware/bulk_salesforce_middleware_spec.rb +15 -0
  317. data/spec/unit/bricks/middleware/gooddata_middleware_spec.rb +15 -0
  318. data/spec/unit/bricks/middleware/logger_middleware_spec.rb +15 -0
  319. data/spec/unit/bricks/middleware/restforce_middleware_spec.rb +15 -0
  320. data/spec/unit/bricks/middleware/stdout_middleware_spec.rb +15 -0
  321. data/spec/unit/bricks/middleware/twitter_middleware_spec.rb +15 -0
  322. data/spec/unit/cli/cli_spec.rb +17 -0
  323. data/spec/unit/cli/commands/cmd_auth_spec.rb +17 -0
  324. data/spec/unit/commands/command_projects_spec.rb +22 -0
  325. data/spec/unit/core/connection_spec.rb +57 -0
  326. data/spec/unit/core/logging_spec.rb +133 -0
  327. data/spec/unit/core/nil_logger_spec.rb +13 -0
  328. data/spec/unit/core/project_spec.rb +54 -0
  329. data/spec/unit/extensions/hash_spec.rb +23 -0
  330. data/spec/unit/godzilla/goodzilla_spec.rb +78 -0
  331. data/spec/unit/helpers/csv_helper_spec.rb +22 -0
  332. data/spec/unit/helpers/data_helper_spec.rb +61 -0
  333. data/spec/unit/helpers/global_helpers_spec.rb +111 -0
  334. data/spec/unit/helpers_spec.rb +86 -0
  335. data/spec/unit/models/blueprint/attributes_spec.rb +29 -0
  336. data/spec/unit/models/blueprint/dataset_spec.rb +121 -0
  337. data/spec/unit/models/blueprint/labels_spec.rb +44 -0
  338. data/spec/unit/models/blueprint/project_blueprint_spec.rb +648 -0
  339. data/spec/unit/models/blueprint/reference_spec.rb +29 -0
  340. data/spec/unit/models/blueprint/schema_builder_spec.rb +38 -0
  341. data/spec/unit/models/blueprint/to_wire_spec.rb +174 -0
  342. data/spec/unit/models/domain_spec.rb +144 -0
  343. data/spec/unit/models/execution_spec.rb +108 -0
  344. data/spec/unit/models/from_wire_spec.rb +296 -0
  345. data/spec/unit/models/invitation_spec.rb +17 -0
  346. data/spec/unit/models/membership_spec.rb +132 -0
  347. data/spec/unit/models/metadata_spec.rb +104 -0
  348. data/spec/unit/models/metric_spec.rb +117 -0
  349. data/spec/unit/models/model_spec.rb +82 -0
  350. data/spec/unit/models/params_spec.rb +118 -0
  351. data/spec/unit/models/profile_spec.rb +215 -0
  352. data/spec/unit/models/project_creator_spec.rb +127 -0
  353. data/spec/unit/models/project_role_spec.rb +94 -0
  354. data/spec/unit/models/project_spec.rb +162 -0
  355. data/spec/unit/models/report_result_data_spec.rb +199 -0
  356. data/spec/unit/models/schedule_spec.rb +418 -0
  357. data/spec/unit/models/to_manifest_spec.rb +63 -0
  358. data/spec/unit/models/unit_project_spec.rb +125 -0
  359. data/spec/unit/models/user_filters_spec.rb +95 -0
  360. data/spec/unit/models/variable_spec.rb +265 -0
  361. data/spec/unit/rest/polling_spec.rb +89 -0
  362. data/spec/unit/rest/resource_spec.rb +10 -0
  363. data/yard-server.sh +3 -0
  364. metadata +1125 -0
@@ -0,0 +1,108 @@
1
+ {
2
+ "xtab_data": {
3
+ "columns": {
4
+ "tree": {
5
+ "index": {
6
+ "6": [
7
+ 0
8
+ ],
9
+ "4": [
10
+ 1
11
+ ],
12
+ "2": [
13
+ 2
14
+ ]
15
+ },
16
+ "first": 0,
17
+ "last": 2,
18
+ "children": [
19
+ {
20
+ "index": {
21
+ },
22
+ "first": 0,
23
+ "last": 0,
24
+ "children": [
25
+
26
+ ],
27
+ "type": "normal",
28
+ "id": "6"
29
+ },
30
+ {
31
+ "index": {
32
+ },
33
+ "first": 1,
34
+ "last": 1,
35
+ "children": [
36
+
37
+ ],
38
+ "type": "normal",
39
+ "id": "4"
40
+ },
41
+ {
42
+ "index": {
43
+ },
44
+ "first": 2,
45
+ "last": 2,
46
+ "children": [
47
+
48
+ ],
49
+ "type": "normal",
50
+ "id": "2"
51
+ }
52
+ ],
53
+ "type": "root",
54
+ "id": null
55
+ },
56
+ "lookups": [
57
+ {
58
+ "6": "jirka",
59
+ "4": "petr",
60
+ "2": "tomas"
61
+ }
62
+ ]
63
+ },
64
+ "data": [
65
+
66
+ ],
67
+ "overall_size": {
68
+ "columns": "3",
69
+ "rows": 1
70
+ },
71
+ "rows": {
72
+ "tree": {
73
+ "index": {
74
+ },
75
+ "first": 0,
76
+ "last": 0,
77
+ "children": [
78
+ {
79
+ "index": {
80
+ },
81
+ "first": 0,
82
+ "last": 0,
83
+ "type": "empty",
84
+ "id": "0",
85
+ "children": [
86
+
87
+ ]
88
+ }
89
+ ],
90
+ "type": "root",
91
+ "id": null
92
+ },
93
+ "lookups": [
94
+ {
95
+ "0": "Values"
96
+ }
97
+ ]
98
+ },
99
+ "offset": {
100
+ "columns": 0,
101
+ "rows": 0
102
+ },
103
+ "size": {
104
+ "columns": 3,
105
+ "rows": "0"
106
+ }
107
+ }
108
+ }
@@ -0,0 +1,9 @@
1
+ # encoding: UTF-8
2
+ #
3
+ # Copyright (c) 2010-2015 GoodData Corporation. All rights reserved.
4
+ # This source code is licensed under the BSD-style license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ require 'json'
8
+
9
+ puts $SCRIPT_PARAMS.inspect
@@ -0,0 +1 @@
1
+ Hello Ruby from the deep
@@ -0,0 +1,8 @@
1
+ # encoding: UTF-8
2
+ #
3
+ # Copyright (c) 2010-2015 GoodData Corporation. All rights reserved.
4
+ # This source code is licensed under the BSD-style license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ puts File.read('./stuff.txt')
8
+ puts File.read('./deep_files/deep_stuff.txt')
@@ -0,0 +1 @@
1
+ Hello Ruby executors
@@ -0,0 +1,81 @@
1
+ {
2
+ "projectModelView": {
3
+ "model": {
4
+ "projectModel": {
5
+ "datasets": [
6
+ {
7
+ "dataset": {
8
+ "identifier": "dataset.stage_history",
9
+ "title": "stage_history",
10
+ "anchor": {
11
+ "attribute": {
12
+ "identifier": "attr.stage_history.factsof",
13
+ "title": "Records of stage_history"
14
+ }
15
+ },
16
+ "attributes": [
17
+ {
18
+ "attribute": {
19
+ "identifier": "attr.stage_history.current_status",
20
+ "title": "Current Status",
21
+ "labels": [
22
+ {
23
+ "label": {
24
+ "identifier": "label.stage_history.current_status",
25
+ "title": "Current Status",
26
+ "type": "GDC.text",
27
+ "dataType": "VARCHAR(128)"
28
+ }
29
+ }
30
+ ],
31
+ "defaultLabel": "label.stage_history.current_status"
32
+ }
33
+ }
34
+ ],
35
+ "facts": [
36
+ {
37
+ "fact": {
38
+ "identifier": "fact.stage_history.stage_velocity",
39
+ "title": "Stage Velocity",
40
+ "dataType": "DECIMAL(12,2)"
41
+ }
42
+ },
43
+ {
44
+ "fact": {
45
+ "identifier": "fact.stage_history.stage_duration",
46
+ "title": "Stage Duration",
47
+ "dataType": "DECIMAL(12,2)"
48
+ }
49
+ },
50
+ {
51
+ "fact": {
52
+ "identifier": "dt.stage_history.opp_created_date",
53
+ "title": "Opp. Created (Date) for Stage History",
54
+ "dataType": "INT"
55
+ }
56
+ },
57
+ {
58
+ "fact": {
59
+ "identifier": "dt.stage_history.opp_close_date",
60
+ "title": "Opp. Close (Date) for Stage History",
61
+ "dataType": "INT"
62
+ }
63
+ }
64
+ ],
65
+ "references": [
66
+ "dataset.account",
67
+ "dataset.product",
68
+ "dataset.stage",
69
+ "dataset.opp_owner",
70
+ "dataset.opportunity",
71
+ "dataset.bookingtype",
72
+ "oppclose",
73
+ "oppcreated"
74
+ ]
75
+ }
76
+ }
77
+ ]
78
+ }
79
+ }
80
+ }
81
+ }
@@ -0,0 +1,2 @@
1
+ firstname, lastname, email
2
+ tomas, korcak, tomas.korcak@gooddata.com
@@ -0,0 +1,12 @@
1
+ First Name,Last Name,Email,Password,MUF,MUF ID,Role,Role ID,Project ID,Domain
2
+ Gem,Tester,svarovsky+gem_tester@gooddata.com,jindrisska,Edit,,adminRole,5,wgqhml3se0035s8n5byqdq0j0ob5jam4,gooddata-tomas-svarovsky
3
+ Test,User0,test.user.110@example.com,password0,Full,,adminRole,5,wgqhml3se0035s8n5byqdq0j0ob5jam4,gooddata-tomas-svarovsky
4
+ Test,User1,test.user.111@example.com,password1,Full,,connectorsSystemRole,5,wgqhml3se0035s8n5byqdq0j0ob5jam4,gooddata-tomas-svarovsky
5
+ Test,User2,test.user.112@example.com,password2,Full,,editorRole,5,wgqhml3se0035s8n5byqdq0j0ob5jam4,gooddata-tomas-svarovsky
6
+ Test,User3,test.user.113@example.com,password3,Full,,dashboardOnlyRole,5,wgqhml3se0035s8n5byqdq0j0ob5jam4,gooddata-tomas-svarovsky
7
+ Test,User4,test.user.114@example.com,password4,Full,,unverifiedAdminRole,5,wgqhml3se0035s8n5byqdq0j0ob5jam4,gooddata-tomas-svarovsky
8
+ Test,User5,test.user.115@example.com,password5,Full,,readOnlyUserRole,5,wgqhml3se0035s8n5byqdq0j0ob5jam4,gooddata-tomas-svarovsky
9
+ Test,User6,test.user.116@example.com,password6,Full,,adminRole,5,wgqhml3se0035s8n5byqdq0j0ob5jam4,gooddata-tomas-svarovsky
10
+ Test,User7,test.user.117@example.com,password7,Full,,connectorsSystemRole,5,wgqhml3se0035s8n5byqdq0j0ob5jam4,gooddata-tomas-svarovsky
11
+ Test,User8,test.user.118@example.com,password8,Full,,editorRole,5,wgqhml3se0035s8n5byqdq0j0ob5jam4,gooddata-tomas-svarovsky
12
+ Test,User9,test.user.119@example.com,password9,Full,,dashboardOnlyRole,5,wgqhml3se0035s8n5byqdq0j0ob5jam4,gooddata-tomas-svarovsky
@@ -0,0 +1,1775 @@
1
+ {
2
+ "projectModelView": {
3
+ "model": {
4
+ "projectModel": {
5
+ "datasets": [{
6
+ "dataset": {
7
+ "identifier": "dataset.stage_history",
8
+ "title": "stage_history",
9
+ "anchor": {
10
+ "attribute": {
11
+ "identifier": "attr.stage_history.factsof",
12
+ "title": "Records of stage_history"
13
+ }
14
+ },
15
+ "attributes": [{
16
+ "attribute": {
17
+ "identifier": "attr.stage_history.currentstatus",
18
+ "title": "Current Stage",
19
+ "labels": [{
20
+ "label": {
21
+ "identifier": "label.stage_history.currentstatus",
22
+ "title": "Current Stage",
23
+ "type": "GDC.text",
24
+ "dataType": "VARCHAR(128)"
25
+ }
26
+ }],
27
+ "defaultLabel": "label.stage_history.currentstatus"
28
+ }
29
+ }],
30
+ "facts": [{
31
+ "fact": {
32
+ "identifier": "fact.stage_history.stage_velocity",
33
+ "title": "Stage Velocity",
34
+ "description": "Velocity description",
35
+ "dataType": "DECIMAL(12,2)"
36
+ }
37
+ }, {
38
+ "fact": {
39
+ "identifier": "fact.stage_history.stage_duration",
40
+ "title": "Stage Duration",
41
+ "dataType": "DECIMAL(12,2)"
42
+ }
43
+ }, {
44
+ "fact": {
45
+ "identifier": "dt.stage_history.opp_created_date",
46
+ "title": "Opp. Created (Date) for Stage History",
47
+ "dataType": "INT"
48
+ }
49
+ }, {
50
+ "fact": {
51
+ "identifier": "dt.stage_history.opp_close_date",
52
+ "title": "Opp. Close (Date) for Stage History",
53
+ "dataType": "INT"
54
+ }
55
+ }],
56
+ "references": ["dataset.account", "dataset.product", "dataset.stage", "dataset.opp_owner", "dataset.opportunity", "dataset.bookingtype", "oppclose", "oppcreated"]
57
+ }
58
+ }, {
59
+ "dataset": {
60
+ "identifier": "dataset.opp_snapshot",
61
+ "title": "opp_snapshot",
62
+ "anchor": {
63
+ "attribute": {
64
+ "identifier": "attr.opp_snapshot.factsof",
65
+ "title": "Records of opp_snapshot"
66
+ }
67
+ },
68
+ "attributes": [{
69
+ "attribute": {
70
+ "identifier": "attr.opp_snapshot.accountstagesnapshot",
71
+ "title": "Account Stage (Snapshot)",
72
+ "labels": [{
73
+ "label": {
74
+ "identifier": "label.opp_snapshot.accountstagesnapshot",
75
+ "title": "Account Stage (Snapshot)",
76
+ "type": "GDC.text",
77
+ "dataType": "VARCHAR(128)"
78
+ }
79
+ }],
80
+ "defaultLabel": "label.opp_snapshot.accountstagesnapshot"
81
+ }
82
+ }],
83
+ "facts": [{
84
+ "fact": {
85
+ "identifier": "fact.opp_snapshot.amount",
86
+ "title": "Amount Snapshot",
87
+ "folder": "Opp. Snapshot",
88
+ "dataType": "DECIMAL(12,2)"
89
+ }
90
+ }, {
91
+ "fact": {
92
+ "identifier": "fact.opp_snapshot.probability",
93
+ "title": "Probability Snapshot",
94
+ "folder": "Opp. Snapshot",
95
+ "dataType": "DECIMAL(12,2)"
96
+ }
97
+ }, {
98
+ "fact": {
99
+ "identifier": "dt.opp_snapshot.created_date",
100
+ "title": "Opp. Created (Date) Snapshot",
101
+ "dataType": "INT"
102
+ }
103
+ }, {
104
+ "fact": {
105
+ "identifier": "dt.opp_snapshot.close_date",
106
+ "title": "Opp. Close (Date) Snapshot",
107
+ "dataType": "INT"
108
+ }
109
+ }, {
110
+ "fact": {
111
+ "identifier": "dt.opp_snapshot.snapshot_date",
112
+ "title": "Opp. Snapshot (Date)",
113
+ "dataType": "INT"
114
+ }
115
+ }, {
116
+ "fact": {
117
+ "identifier": "fact.opp_snapshot.mrr",
118
+ "title": "Straight Line MRR (Snapshot)",
119
+ "dataType": "DECIMAL(12,2)"
120
+ }
121
+ }, {
122
+ "fact": {
123
+ "identifier": "fact.opp_snapshot.distributedmrr",
124
+ "title": "Ending MRR (Snapshot)",
125
+ "dataType": "DECIMAL(12,2)"
126
+ }
127
+ }, {
128
+ "fact": {
129
+ "identifier": "dt.opp_snapshot.effectivecontractstart",
130
+ "title": "Opp. Contract Start (Date) Snapshot",
131
+ "dataType": "INT"
132
+ }
133
+ }, {
134
+ "fact": {
135
+ "identifier": "dt.opp_snapshot.effectivecontractend",
136
+ "title": "Opp. Contract End (Date) Snapshot",
137
+ "dataType": "INT"
138
+ }
139
+ }],
140
+ "references": ["dataset.sdrowner", "dataset.leadsourceoriginal", "dataset.account", "dataset.amounttype", "dataset.product", "dataset.sourcingorigin", "dataset.leadsource", "dataset.productline", "dataset.stage", "dataset.opp_owner", "dataset.opportunity", "dataset.bookingtype", "dataset.forecast", "leadcreate", "snapshot", "oppclose", "oppcreated", "stage1plus", "mqldate", "effectivecontractstart", "effectivecontractend"]
141
+ }
142
+ }, {
143
+ "dataset": {
144
+ "identifier": "dataset.opp_changes",
145
+ "title": "Opp_changes",
146
+ "anchor": {
147
+ "attribute": {
148
+ "identifier": "attr.opp_changes.factsof",
149
+ "title": "Records of Opp_changes"
150
+ }
151
+ },
152
+ "attributes": [{
153
+ "attribute": {
154
+ "identifier": "attr.opp_changes.interval_changes",
155
+ "title": "Interval_Changes",
156
+ "labels": [{
157
+ "label": {
158
+ "identifier": "label.opp_changes.interval_changes",
159
+ "title": "Interval_Changes",
160
+ "type": "GDC.text",
161
+ "dataType": "VARCHAR(128)"
162
+ }
163
+ }],
164
+ "defaultLabel": "label.opp_changes.interval_changes"
165
+ }
166
+ }, {
167
+ "attribute": {
168
+ "identifier": "attr.opp_changes.previous_stage",
169
+ "title": "Previous_Stage",
170
+ "labels": [{
171
+ "label": {
172
+ "identifier": "label.opp_changes.previous_stage",
173
+ "title": "Previous_Stage",
174
+ "type": "GDC.text",
175
+ "dataType": "VARCHAR(128)"
176
+ }
177
+ }],
178
+ "defaultLabel": "label.opp_changes.previous_stage"
179
+ }
180
+ }],
181
+ "facts": [{
182
+ "fact": {
183
+ "identifier": "fact.opp_changes.amount_changed",
184
+ "title": "amount_changed_expected",
185
+ "dataType": "DECIMAL(12,2)"
186
+ }
187
+ }, {
188
+ "fact": {
189
+ "identifier": "fact.opp_changes.amount_changed_current_q",
190
+ "title": "amount_changed_current_q_expected",
191
+ "dataType": "DECIMAL(12,2)"
192
+ }
193
+ }, {
194
+ "fact": {
195
+ "identifier": "fact.opp_changes.previous_amount",
196
+ "title": "previous_amount",
197
+ "dataType": "DECIMAL(12,2)"
198
+ }
199
+ }, {
200
+ "fact": {
201
+ "identifier": "fact.opp_changes.new_amount",
202
+ "title": "new_amount",
203
+ "dataType": "DECIMAL(12,2)"
204
+ }
205
+ }, {
206
+ "fact": {
207
+ "identifier": "fact.opp_changes.amount_changed_potential",
208
+ "title": "amount_changed_potential",
209
+ "dataType": "DECIMAL(12,2)"
210
+ }
211
+ }, {
212
+ "fact": {
213
+ "identifier": "fact.opp_changes.amount_changed_current_q_potential",
214
+ "title": "amount_changed_current_q_potential",
215
+ "dataType": "DECIMAL(12,2)"
216
+ }
217
+ }],
218
+ "references": ["dataset.account", "dataset.amounttype", "dataset.product", "dataset.productline", "dataset.stage", "dataset.opp_owner", "dataset.opportunity", "dataset.bookingtype", "oppclose", "previous_close_date"]
219
+ }
220
+ }, {
221
+ "dataset": {
222
+ "identifier": "dataset.opportunityanalysis",
223
+ "title": "Opportunity Benchmark",
224
+ "anchor": {
225
+ "attribute": {
226
+ "identifier": "attr.opportunityanalysis.techoppanalysis",
227
+ "title": "Tech Opp. Analysis",
228
+ "folder": "Opportunity Benchmark",
229
+ "labels": [{
230
+ "label": {
231
+ "identifier": "label.opportunityanalysis.techoppanalysis",
232
+ "title": "Tech Opp. Analysis",
233
+ "type": "GDC.text",
234
+ "dataType": "VARCHAR(128)"
235
+ }
236
+ }],
237
+ "defaultLabel": "label.opportunityanalysis.techoppanalysis"
238
+ }
239
+ },
240
+ "attributes": [{
241
+ "attribute": {
242
+ "identifier": "attr.opportunityanalysis.month",
243
+ "title": "Month",
244
+ "folder": "Opportunity Benchmark",
245
+ "labels": [{
246
+ "label": {
247
+ "identifier": "label.opportunityanalysis.month",
248
+ "title": "Month",
249
+ "type": "GDC.text",
250
+ "dataType": "VARCHAR(128)"
251
+ }
252
+ }, {
253
+ "label": {
254
+ "identifier": "label.opportunityanalysis.month.monthsortingnew",
255
+ "title": "MonthSortingNew",
256
+ "type": "GDC.text",
257
+ "dataType": "INT"
258
+ }
259
+ }],
260
+ "defaultLabel": "label.opportunityanalysis.month",
261
+ "sortOrder": {
262
+ "attributeSortOrder": {
263
+ "label": "label.opportunityanalysis.month.monthsortingnew",
264
+ "direction": "ASC"
265
+ }
266
+ }
267
+ }
268
+ }, {
269
+ "attribute": {
270
+ "identifier": "attr.opportunityanalysis.cohorttype",
271
+ "title": "Cohort Type",
272
+ "folder": "Opportunity Benchmark",
273
+ "labels": [{
274
+ "label": {
275
+ "identifier": "label.opportunityanalysis.cohorttype",
276
+ "title": "Cohort Type",
277
+ "type": "GDC.text",
278
+ "dataType": "VARCHAR(128)"
279
+ }
280
+ }],
281
+ "defaultLabel": "label.opportunityanalysis.cohorttype"
282
+ }
283
+ }],
284
+ "facts": [{
285
+ "fact": {
286
+ "identifier": "fact.opportunityanalysis.buckets_to_display",
287
+ "title": "buckets_to_display",
288
+ "folder": "Opportunity Benchmark",
289
+ "dataType": "DECIMAL(12,2)"
290
+ }
291
+ }, {
292
+ "fact": {
293
+ "identifier": "fact.opportunityanalysis.month_fact",
294
+ "title": "month_fact",
295
+ "folder": "Opportunity Benchmark",
296
+ "dataType": "DECIMAL(12,2)"
297
+ }
298
+ }],
299
+ "references": ["dataset.opp_records", "dataset.consolidatedmarketingstatus"]
300
+ }
301
+ }, {
302
+ "dataset": {
303
+ "identifier": "dataset.goals",
304
+ "title": "quota",
305
+ "anchor": {
306
+ "attribute": {
307
+ "identifier": "attr.goals.factsof",
308
+ "title": "Records of quota"
309
+ }
310
+ },
311
+ "attributes": [{
312
+ "attribute": {
313
+ "identifier": "attr.goals.quotatype",
314
+ "title": "Quota Type",
315
+ "labels": [{
316
+ "label": {
317
+ "identifier": "label.goals.quotatype",
318
+ "title": "Quota Type",
319
+ "type": "GDC.text",
320
+ "dataType": "VARCHAR(128)"
321
+ }
322
+ }],
323
+ "defaultLabel": "label.goals.quotatype"
324
+ }
325
+ }],
326
+ "facts": [{
327
+ "fact": {
328
+ "identifier": "fact.goals.amount",
329
+ "title": "quota amount",
330
+ "dataType": "DECIMAL(12,2)"
331
+ }
332
+ }, {
333
+ "fact": {
334
+ "identifier": "dt.goals.mqldate",
335
+ "title": "MQL Date (Quota)",
336
+ "dataType": "INT"
337
+ }
338
+ }, {
339
+ "fact": {
340
+ "identifier": "dt.goals.stage1plus",
341
+ "title": "SAO Date (Quota)",
342
+ "dataType": "INT"
343
+ }
344
+ }, {
345
+ "fact": {
346
+ "identifier": "dt.goals.oppcreated",
347
+ "title": "Opp. Create (Quota)",
348
+ "dataType": "INT"
349
+ }
350
+ }, {
351
+ "fact": {
352
+ "identifier": "dt.goals.oppclose",
353
+ "title": "Opp. Close (Quota)",
354
+ "dataType": "INT"
355
+ }
356
+ }],
357
+ "references": ["dataset.sdrowner", "dataset.amounttype", "dataset.product", "dataset.sourcingorigin", "dataset.activity_owner", "dataset.opp_owner", "dataset.bookingtype", "activity", "oppclose", "oppcreated", "stage1plus", "mqldate", "s2o"]
358
+ }
359
+ }, {
360
+ "dataset": {
361
+ "identifier": "dataset.timeline",
362
+ "title": "timeline",
363
+ "anchor": {
364
+ "attribute": {
365
+ "identifier": "attr.timeline.factsof",
366
+ "title": "Records of timeline"
367
+ }
368
+ },
369
+ "facts": [{
370
+ "fact": {
371
+ "identifier": "dt.timeline.timeline",
372
+ "title": "Timeline (Date)",
373
+ "dataType": "INT"
374
+ }
375
+ }],
376
+ "references": ["timeline"]
377
+ }
378
+ }, {
379
+ "dataset": {
380
+ "identifier": "dataset.activity_monitoring",
381
+ "title": "activity_monitoring",
382
+ "anchor": {
383
+ "attribute": {
384
+ "identifier": "attr.activity_monitoring.factsof",
385
+ "title": "Records of activity_monitoring"
386
+ }
387
+ },
388
+ "facts": [{
389
+ "fact": {
390
+ "identifier": "dt.activity_monitoring.opp_created_date",
391
+ "title": "Opp. Created (Date) for Activity",
392
+ "dataType": "INT"
393
+ }
394
+ }, {
395
+ "fact": {
396
+ "identifier": "dt.activity_monitoring.opp_close_date",
397
+ "title": "Opp. Close (Date) for Activity",
398
+ "dataType": "INT"
399
+ }
400
+ }, {
401
+ "fact": {
402
+ "identifier": "dt.activity_monitoring.activity_date",
403
+ "title": "Activity (Date)",
404
+ "dataType": "INT"
405
+ }
406
+ }],
407
+ "references": ["dataset.account", "dataset.product", "dataset.activity_owner", "dataset.stage", "dataset.opp_owner", "dataset.activity", "dataset.opportunity", "dataset.bookingtype", "activity", "oppclose", "oppcreated"]
408
+ }
409
+ }, {
410
+ "dataset": {
411
+ "identifier": "dataset.opp_records",
412
+ "title": "opp_records",
413
+ "anchor": {
414
+ "attribute": {
415
+ "identifier": "attr.opp_records.factsof",
416
+ "title": "Records of opp_records",
417
+ "labels": [{
418
+ "label": {
419
+ "identifier": "label.opp_records.opp_records_conctn_point",
420
+ "title": "opp_records_conctn_point",
421
+ "type": "GDC.text",
422
+ "dataType": "VARCHAR(128)"
423
+ }
424
+ }, {
425
+ "label": {
426
+ "identifier": "label.opp_records.factsof",
427
+ "title": "Records of opp_records",
428
+ "type": "GDC.text",
429
+ "dataType": "VARCHAR(128)"
430
+ }
431
+ }],
432
+ "defaultLabel": "label.opp_records.opp_records_conctn_point"
433
+ }
434
+ },
435
+ "facts": [{
436
+ "fact": {
437
+ "identifier": "fact.opp_records.amount",
438
+ "title": "Amount",
439
+ "folder": "Opp. Records",
440
+ "dataType": "DECIMAL(12,2)"
441
+ }
442
+ }, {
443
+ "fact": {
444
+ "identifier": "fact.opp_records.probability",
445
+ "title": "Probability",
446
+ "folder": "Opp. Records",
447
+ "dataType": "DECIMAL(12,2)"
448
+ }
449
+ }, {
450
+ "fact": {
451
+ "identifier": "dt.opp_records.created_date",
452
+ "title": "Opp. Created (Date)",
453
+ "dataType": "INT"
454
+ }
455
+ }, {
456
+ "fact": {
457
+ "identifier": "dt.opp_records.close_date",
458
+ "title": "Opp. Close (Date)",
459
+ "dataType": "INT"
460
+ }
461
+ }, {
462
+ "fact": {
463
+ "identifier": "dt.opp_records.stage1plus",
464
+ "title": "SAO (date)",
465
+ "dataType": "INT"
466
+ }
467
+ }, {
468
+ "fact": {
469
+ "identifier": "dt.opp_records.leadcreate",
470
+ "title": "Lead Created (Date)",
471
+ "dataType": "INT"
472
+ }
473
+ }, {
474
+ "fact": {
475
+ "identifier": "dt.opp_records.mqldate",
476
+ "title": "MQL (Date)",
477
+ "dataType": "INT"
478
+ }
479
+ }, {
480
+ "fact": {
481
+ "identifier": "dt.opp_records.firstcontactdate",
482
+ "title": "Contact (Date)",
483
+ "dataType": "INT"
484
+ }
485
+ }, {
486
+ "fact": {
487
+ "identifier": "dt.opp_records.laststage0plus",
488
+ "title": "Last Stage 0 Plus",
489
+ "dataType": "INT"
490
+ }
491
+ }, {
492
+ "fact": {
493
+ "identifier": "fact.opp_records.mrr",
494
+ "title": "Straight Line MRR",
495
+ "dataType": "DECIMAL(12,2)"
496
+ }
497
+ }, {
498
+ "fact": {
499
+ "identifier": "fact.opp_records.distributed_mrr",
500
+ "title": "Ending MRR",
501
+ "dataType": "DECIMAL(12,2)"
502
+ }
503
+ }, {
504
+ "fact": {
505
+ "identifier": "fact.opp_records.freemonths",
506
+ "title": "Free Months",
507
+ "dataType": "DECIMAL(12,2)"
508
+ }
509
+ }, {
510
+ "fact": {
511
+ "identifier": "dt.opp_records.effectivecontractstart",
512
+ "title": "Contract Start (Date)",
513
+ "dataType": "INT"
514
+ }
515
+ }, {
516
+ "fact": {
517
+ "identifier": "dt.opp_records.effectivecontractend",
518
+ "title": "Contract End (Date)",
519
+ "dataType": "INT"
520
+ }
521
+ }, {
522
+ "fact": {
523
+ "identifier": "fact.opp_records.upsellcmrr",
524
+ "title": "Upsell CMRR",
525
+ "dataType": "DECIMAL(12,2)"
526
+ }
527
+ }, {
528
+ "fact": {
529
+ "identifier": "fact.opp_records.downsellcmrr",
530
+ "title": "Downsell CMRR",
531
+ "dataType": "DECIMAL(12,2)"
532
+ }
533
+ }, {
534
+ "fact": {
535
+ "identifier": "fact.opp_records.upliftcmrr",
536
+ "title": "Uplift CMRR",
537
+ "dataType": "DECIMAL(12,2)"
538
+ }
539
+ }, {
540
+ "fact": {
541
+ "identifier": "fact.opp_records.churncmrr",
542
+ "title": "Churn CMRR",
543
+ "dataType": "DECIMAL(12,2)"
544
+ }
545
+ }, {
546
+ "fact": {
547
+ "identifier": "dt.opp_records.firstmeeting",
548
+ "title": "First Meeting (Date)",
549
+ "dataType": "INT"
550
+ }
551
+ }, {
552
+ "fact": {
553
+ "identifier": "dt.opp_records.s2o",
554
+ "title": "S2O (Date)",
555
+ "dataType": "INT"
556
+ }
557
+ }],
558
+ "references": ["dataset.sdrowner", "dataset.leadsourceoriginal", "dataset.account", "dataset.amounttype", "dataset.product", "dataset.renewalstatus", "dataset.sourcingorigin", "dataset.sdrperformancestatus", "dataset.leadsource", "dataset.winlossreason", "dataset.productline", "dataset.leadchannel", "dataset.stage", "dataset.opp_owner", "dataset.opportunity", "dataset.bookingtype", "dataset.forecast", "leadcreate", "oppclose", "oppcreated", "stage1plus", "firstcontactdate", "mqldate", "s2o", "firstmeeting", "effectivecontractstart", "laststage0plus", "effectivecontractend"]
559
+ }
560
+ }, {
561
+ "dataset": {
562
+ "identifier": "dataset.sdrowner",
563
+ "title": "SDR Owner",
564
+ "anchor": {
565
+ "attribute": {
566
+ "identifier": "attr.sdrowner.sdrowner",
567
+ "title": "SDR Owner",
568
+ "folder": "SDR",
569
+ "labels": [{
570
+ "label": {
571
+ "identifier": "label.sdrowner.sdrowner",
572
+ "title": "SDR Owner",
573
+ "type": "GDC.text",
574
+ "dataType": "VARCHAR(128)"
575
+ }
576
+ }, {
577
+ "label": {
578
+ "identifier": "label.sdrowner.sdrowner.sdrownername",
579
+ "title": "SDR Owner Name",
580
+ "type": "GDC.text",
581
+ "dataType": "VARCHAR(128)"
582
+ }
583
+ }],
584
+ "defaultLabel": "label.sdrowner.sdrowner"
585
+ }
586
+ },
587
+ "attributes": [{
588
+ "attribute": {
589
+ "identifier": "attr.sdrowner.sdrteam",
590
+ "title": "SDR Team",
591
+ "folder": "SDR",
592
+ "labels": [{
593
+ "label": {
594
+ "identifier": "label.sdrowner.sdrteam",
595
+ "title": "SDR Team",
596
+ "type": "GDC.text",
597
+ "dataType": "VARCHAR(128)"
598
+ }
599
+ }],
600
+ "defaultLabel": "label.sdrowner.sdrteam"
601
+ }
602
+ }]
603
+ }
604
+ }, {
605
+ "dataset": {
606
+ "identifier": "dataset.leadsourceoriginal",
607
+ "title": "Lead Source Original",
608
+ "anchor": {
609
+ "attribute": {
610
+ "identifier": "attr.leadsourceoriginal.leadsourceoriginal",
611
+ "title": "Lead Source Original",
612
+ "folder": "Lead Sources",
613
+ "labels": [{
614
+ "label": {
615
+ "identifier": "label.leadsourceoriginal.leadsourceoriginal",
616
+ "title": "Lead Source Original",
617
+ "type": "GDC.text",
618
+ "dataType": "VARCHAR(128)"
619
+ }
620
+ }],
621
+ "defaultLabel": "label.leadsourceoriginal.leadsourceoriginal"
622
+ }
623
+ },
624
+ "attributes": [{
625
+ "attribute": {
626
+ "identifier": "attr.leadsourceoriginal.leadcategory",
627
+ "title": "Lead Source Original Category",
628
+ "folder": "Lead Sources",
629
+ "labels": [{
630
+ "label": {
631
+ "identifier": "label.leadsourceoriginal.leadcategory",
632
+ "title": "Lead Source Original Category",
633
+ "type": "GDC.text",
634
+ "dataType": "VARCHAR(128)"
635
+ }
636
+ }],
637
+ "defaultLabel": "label.leadsourceoriginal.leadcategory"
638
+ }
639
+ }]
640
+ }
641
+ }, {
642
+ "dataset": {
643
+ "identifier": "dataset.account",
644
+ "title": "account",
645
+ "anchor": {
646
+ "attribute": {
647
+ "identifier": "attr.account.id",
648
+ "title": "Account",
649
+ "folder": "Account",
650
+ "labels": [{
651
+ "label": {
652
+ "identifier": "label.account.id.name",
653
+ "title": "Account Name",
654
+ "type": "GDC.text",
655
+ "dataType": "VARCHAR(128)"
656
+ }
657
+ }, {
658
+ "label": {
659
+ "identifier": "label.account.id",
660
+ "title": "Account",
661
+ "type": "GDC.text",
662
+ "dataType": "VARCHAR(128)"
663
+ }
664
+ }, {
665
+ "label": {
666
+ "identifier": "label.account.id.url",
667
+ "title": "Account Url",
668
+ "type": "GDC.link",
669
+ "dataType": "VARCHAR(128)"
670
+ }
671
+ }],
672
+ "defaultLabel": "label.account.id.name"
673
+ }
674
+ },
675
+ "attributes": [{
676
+ "attribute": {
677
+ "identifier": "attr.account.region",
678
+ "title": "Account Region",
679
+ "folder": "Account",
680
+ "labels": [{
681
+ "label": {
682
+ "identifier": "label.account.region",
683
+ "title": "Account Region",
684
+ "type": "GDC.text",
685
+ "dataType": "VARCHAR(128)"
686
+ }
687
+ }],
688
+ "defaultLabel": "label.account.region"
689
+ }
690
+ }, {
691
+ "attribute": {
692
+ "identifier": "attr.account.accountstage",
693
+ "title": "Account Stage",
694
+ "folder": "Account",
695
+ "labels": [{
696
+ "label": {
697
+ "identifier": "label.account.accountstage",
698
+ "title": "Account Stage",
699
+ "type": "GDC.text",
700
+ "dataType": "VARCHAR(128)"
701
+ }
702
+ }],
703
+ "defaultLabel": "label.account.accountstage"
704
+ }
705
+ }, {
706
+ "attribute": {
707
+ "identifier": "attr.account.accountownername",
708
+ "title": "Account Owner Name",
709
+ "folder": "Account",
710
+ "labels": [{
711
+ "label": {
712
+ "identifier": "label.account.accountownername",
713
+ "title": "Account Owner Name",
714
+ "type": "GDC.text",
715
+ "dataType": "VARCHAR(128)"
716
+ }
717
+ }],
718
+ "defaultLabel": "label.account.accountownername"
719
+ }
720
+ }, {
721
+ "attribute": {
722
+ "identifier": "attr.account.accountindustry",
723
+ "title": "Account Industry",
724
+ "folder": "Account",
725
+ "labels": [{
726
+ "label": {
727
+ "identifier": "label.account.accountindustry",
728
+ "title": "Account Industry",
729
+ "type": "GDC.text",
730
+ "dataType": "VARCHAR(128)"
731
+ }
732
+ }],
733
+ "defaultLabel": "label.account.accountindustry"
734
+ }
735
+ }, {
736
+ "attribute": {
737
+ "identifier": "attr.account.accountemployeecount",
738
+ "title": "Account Employee Count",
739
+ "folder": "Account",
740
+ "labels": [{
741
+ "label": {
742
+ "identifier": "label.account.accountemployeecount.employeecountsort",
743
+ "title": "Employee Count Sort",
744
+ "type": "GDC.text",
745
+ "dataType": "INT"
746
+ }
747
+ }, {
748
+ "label": {
749
+ "identifier": "label.account.accountemployeecount",
750
+ "title": "Account Employee Count",
751
+ "type": "GDC.text",
752
+ "dataType": "VARCHAR(128)"
753
+ }
754
+ }],
755
+ "defaultLabel": "label.account.accountemployeecount.employeecountsort",
756
+ "sortOrder": {
757
+ "attributeSortOrder": {
758
+ "label": "label.account.accountemployeecount.employeecountsort",
759
+ "direction": "ASC"
760
+ }
761
+ }
762
+ }
763
+ }, {
764
+ "attribute": {
765
+ "identifier": "attr.account.accountannualrevenue",
766
+ "title": "Account Annual Revenue",
767
+ "folder": "Account",
768
+ "labels": [{
769
+ "label": {
770
+ "identifier": "label.account.accountannualrevenue",
771
+ "title": "Account Annual Revenue",
772
+ "type": "GDC.text",
773
+ "dataType": "VARCHAR(128)"
774
+ }
775
+ }],
776
+ "defaultLabel": "label.account.accountannualrevenue"
777
+ }
778
+ }]
779
+ }
780
+ }, {
781
+ "dataset": {
782
+ "identifier": "dataset.amounttype",
783
+ "title": "Revenue Type",
784
+ "anchor": {
785
+ "attribute": {
786
+ "identifier": "attr.amounttype.amounttype",
787
+ "title": "Revenue Type",
788
+ "folder": "Revenue Type",
789
+ "labels": [{
790
+ "label": {
791
+ "identifier": "label.amounttype.amounttype",
792
+ "title": "Revenue Type",
793
+ "type": "GDC.text",
794
+ "dataType": "VARCHAR(128)"
795
+ }
796
+ }],
797
+ "defaultLabel": "label.amounttype.amounttype"
798
+ }
799
+ }
800
+ }
801
+ }, {
802
+ "dataset": {
803
+ "identifier": "dataset.product",
804
+ "title": "product",
805
+ "anchor": {
806
+ "attribute": {
807
+ "identifier": "attr.product.id",
808
+ "title": "Product",
809
+ "folder": "Product",
810
+ "labels": [{
811
+ "label": {
812
+ "identifier": "label.product.id.name",
813
+ "title": "Product Name",
814
+ "type": "GDC.text",
815
+ "dataType": "VARCHAR(128)"
816
+ }
817
+ }, {
818
+ "label": {
819
+ "identifier": "label.product.id",
820
+ "title": "Product",
821
+ "type": "GDC.text",
822
+ "dataType": "VARCHAR(128)"
823
+ }
824
+ }],
825
+ "defaultLabel": "label.product.id.name"
826
+ }
827
+ },
828
+ "attributes": [{
829
+ "attribute": {
830
+ "identifier": "attr.product.product_type",
831
+ "title": "Product Type",
832
+ "folder": "Product",
833
+ "labels": [{
834
+ "label": {
835
+ "identifier": "label.product.product_type",
836
+ "title": "Product Type",
837
+ "type": "GDC.text",
838
+ "dataType": "VARCHAR(128)"
839
+ }
840
+ }],
841
+ "defaultLabel": "label.product.product_type"
842
+ }
843
+ }]
844
+ }
845
+ }, {
846
+ "dataset": {
847
+ "identifier": "dataset.renewalstatus",
848
+ "title": "Renewal Status",
849
+ "anchor": {
850
+ "attribute": {
851
+ "identifier": "attr.renewalstatus.renewalstatus",
852
+ "title": "Renewal Status",
853
+ "labels": [{
854
+ "label": {
855
+ "identifier": "label.renewalstatus.renewalstatus",
856
+ "title": "Renewal Status",
857
+ "type": "GDC.text",
858
+ "dataType": "VARCHAR(128)"
859
+ }
860
+ }],
861
+ "defaultLabel": "label.renewalstatus.renewalstatus"
862
+ }
863
+ }
864
+ }
865
+ }, {
866
+ "dataset": {
867
+ "identifier": "dataset.sourcingorigin",
868
+ "title": "Sourcing Type",
869
+ "anchor": {
870
+ "attribute": {
871
+ "identifier": "attr.sourcingorigin.techsourcingtype",
872
+ "title": "_Tech Sourcing Type",
873
+ "folder": "Lead Sources",
874
+ "labels": [{
875
+ "label": {
876
+ "identifier": "label.sourcingorigin.techsourcingtype",
877
+ "title": "_Tech Sourcing Type",
878
+ "type": "GDC.text",
879
+ "dataType": "VARCHAR(128)"
880
+ }
881
+ }],
882
+ "defaultLabel": "label.sourcingorigin.techsourcingtype"
883
+ }
884
+ },
885
+ "attributes": [{
886
+ "attribute": {
887
+ "identifier": "attr.sourcingorigin.sourcingtype",
888
+ "title": "Sourcing Type",
889
+ "folder": "Lead Sources",
890
+ "labels": [{
891
+ "label": {
892
+ "identifier": "label.sourcingorigin.sourcingtype",
893
+ "title": "Sourcing Type",
894
+ "type": "GDC.text",
895
+ "dataType": "VARCHAR(128)"
896
+ }
897
+ }],
898
+ "defaultLabel": "label.sourcingorigin.sourcingtype"
899
+ }
900
+ }, {
901
+ "attribute": {
902
+ "identifier": "attr.sourcingorigin.sourcingtypechannel",
903
+ "title": "Sourcing Type Channel",
904
+ "folder": "Lead Sources",
905
+ "labels": [{
906
+ "label": {
907
+ "identifier": "label.sourcingorigin.sourcingtypechannel",
908
+ "title": "Sourcing Type Channel",
909
+ "type": "GDC.text",
910
+ "dataType": "VARCHAR(128)"
911
+ }
912
+ }],
913
+ "defaultLabel": "label.sourcingorigin.sourcingtypechannel"
914
+ }
915
+ }, {
916
+ "attribute": {
917
+ "identifier": "attr.sourcingorigin.sourcingtypeteam",
918
+ "title": "Sourcing Type Team",
919
+ "folder": "Lead Sources",
920
+ "labels": [{
921
+ "label": {
922
+ "identifier": "label.sourcingorigin.sourcingtypeteam.sourcingtypeteamname",
923
+ "title": "Sourcing Type Team Name",
924
+ "type": "GDC.text",
925
+ "dataType": "VARCHAR(128)"
926
+ }
927
+ }, {
928
+ "label": {
929
+ "identifier": "label.sourcingorigin.sourcingtypeteam",
930
+ "title": "Sourcing Type Team",
931
+ "type": "GDC.text",
932
+ "dataType": "VARCHAR(128)"
933
+ }
934
+ }],
935
+ "defaultLabel": "label.sourcingorigin.sourcingtypeteam.sourcingtypeteamname"
936
+ }
937
+ }]
938
+ }
939
+ }, {
940
+ "dataset": {
941
+ "identifier": "dataset.sdrperformancestatus",
942
+ "title": "SDR Performance Status",
943
+ "anchor": {
944
+ "attribute": {
945
+ "identifier": "attr.sdrperformancestatus.sdrperformancestatus",
946
+ "title": "SDR Performance Status",
947
+ "labels": [{
948
+ "label": {
949
+ "identifier": "label.sdrperformancestatus.sdrperformancestatus",
950
+ "title": "SDR Performance Status",
951
+ "type": "GDC.text",
952
+ "dataType": "VARCHAR(128)"
953
+ }
954
+ }],
955
+ "defaultLabel": "label.sdrperformancestatus.sdrperformancestatus"
956
+ }
957
+ }
958
+ }
959
+ }, {
960
+ "dataset": {
961
+ "identifier": "dataset.consolidatedmarketingstatus",
962
+ "title": "Consolidated Marketing Status",
963
+ "anchor": {
964
+ "attribute": {
965
+ "identifier": "attr.consolidatedmarketingstatus.consolidatedmarketingstatus",
966
+ "title": "_TECH Consolidated Marketing Status (Conctn_Point)",
967
+ "folder": "Consolidated Marketing Status",
968
+ "labels": [{
969
+ "label": {
970
+ "identifier": "label.consolidatedmarketingstatus.consolidatedmarketingstatus",
971
+ "title": "_TECH Consolidated Marketing Status (Conctn_Point)",
972
+ "type": "GDC.text",
973
+ "dataType": "VARCHAR(128)"
974
+ }
975
+ }, {
976
+ "label": {
977
+ "identifier": "label.consolidatedmarketingstatus.consolidatedmarketingstatus.mktgstatussorting",
978
+ "title": "_Mktg Status Sorting",
979
+ "type": "GDC.text",
980
+ "dataType": "INT"
981
+ }
982
+ }],
983
+ "defaultLabel": "label.consolidatedmarketingstatus.consolidatedmarketingstatus",
984
+ "sortOrder": {
985
+ "attributeSortOrder": {
986
+ "label": "label.consolidatedmarketingstatus.consolidatedmarketingstatus.mktgstatussorting",
987
+ "direction": "ASC"
988
+ }
989
+ }
990
+ }
991
+ },
992
+ "attributes": [{
993
+ "attribute": {
994
+ "identifier": "attr.consolidatedmarketingstatus.detailedmarketingstatuslvl1",
995
+ "title": "Detailed Marketing Status (Lvl1)",
996
+ "folder": "Consolidated Marketing Status",
997
+ "labels": [{
998
+ "label": {
999
+ "identifier": "label.consolidatedmarketingstatus.detailedmarketingstatuslvl1",
1000
+ "title": "Detailed Marketing Status (Lvl1)",
1001
+ "type": "GDC.text",
1002
+ "dataType": "VARCHAR(128)"
1003
+ }
1004
+ }, {
1005
+ "label": {
1006
+ "identifier": "label.consolidatedmarketingstatus.consolidatedmarketingstatus1.ordersort1",
1007
+ "title": "_Order Sort",
1008
+ "type": "GDC.text",
1009
+ "dataType": "INT"
1010
+ }
1011
+ }],
1012
+ "defaultLabel": "label.consolidatedmarketingstatus.detailedmarketingstatuslvl1",
1013
+ "sortOrder": {
1014
+ "attributeSortOrder": {
1015
+ "label": "label.consolidatedmarketingstatus.consolidatedmarketingstatus1.ordersort1",
1016
+ "direction": "ASC"
1017
+ }
1018
+ }
1019
+ }
1020
+ }, {
1021
+ "attribute": {
1022
+ "identifier": "attr.consolidatedmarketingstatus.consolidatedmarketingstatus1",
1023
+ "title": "Consolidated Marketing Status",
1024
+ "folder": "Consolidated Marketing Status",
1025
+ "labels": [{
1026
+ "label": {
1027
+ "identifier": "label.consolidatedmarketingstatus.consolidatedmarketingstatus1",
1028
+ "title": "Consolidated Marketing Status",
1029
+ "type": "GDC.text",
1030
+ "dataType": "VARCHAR(128)"
1031
+ }
1032
+ }, {
1033
+ "label": {
1034
+ "identifier": "label.consolidatedmarketingstatus.consolidatedmarketingstatus1.ordersort2",
1035
+ "title": "Order Sort 2",
1036
+ "type": "GDC.text",
1037
+ "dataType": "INT"
1038
+ }
1039
+ }],
1040
+ "defaultLabel": "label.consolidatedmarketingstatus.consolidatedmarketingstatus1",
1041
+ "sortOrder": {
1042
+ "attributeSortOrder": {
1043
+ "label": "label.consolidatedmarketingstatus.consolidatedmarketingstatus1.ordersort2",
1044
+ "direction": "ASC"
1045
+ }
1046
+ }
1047
+ }
1048
+ }, {
1049
+ "attribute": {
1050
+ "identifier": "attr.consolidatedmarketingstatus.consolidatedsqltos2o",
1051
+ "title": "Consolidated Status SQL to S2O",
1052
+ "folder": "Consolidated Marketing Status",
1053
+ "labels": [{
1054
+ "label": {
1055
+ "identifier": "label.consolidatedmarketingstatus.consolidatedsqltos2o",
1056
+ "title": "Consolidated Status SQL to S2O",
1057
+ "type": "GDC.text",
1058
+ "dataType": "VARCHAR(128)"
1059
+ }
1060
+ }, {
1061
+ "label": {
1062
+ "identifier": "label.consolidatedmarketingstatus.consolidatedsqltos2o.ordersortsqltos2o",
1063
+ "title": "Order Sort SQL to S2O",
1064
+ "type": "GDC.text",
1065
+ "dataType": "VARCHAR(128)"
1066
+ }
1067
+ }],
1068
+ "defaultLabel": "label.consolidatedmarketingstatus.consolidatedsqltos2o"
1069
+ }
1070
+ }]
1071
+ }
1072
+ }, {
1073
+ "dataset": {
1074
+ "identifier": "dataset.activity_owner",
1075
+ "title": "activity_owner",
1076
+ "anchor": {
1077
+ "attribute": {
1078
+ "identifier": "attr.activity_owner.id",
1079
+ "title": "Act. Owner",
1080
+ "folder": "Act. Owner",
1081
+ "labels": [{
1082
+ "label": {
1083
+ "identifier": "label.activity_owner.id.name",
1084
+ "title": "Act. Owner Name",
1085
+ "type": "GDC.text",
1086
+ "dataType": "VARCHAR(128)"
1087
+ }
1088
+ }, {
1089
+ "label": {
1090
+ "identifier": "label.activity_owner.id",
1091
+ "title": "Act. Owner",
1092
+ "type": "GDC.text",
1093
+ "dataType": "VARCHAR(128)"
1094
+ }
1095
+ }, {
1096
+ "label": {
1097
+ "identifier": "label.activity_owner.id.url",
1098
+ "title": "Act. Owner Url",
1099
+ "type": "GDC.link",
1100
+ "dataType": "VARCHAR(128)"
1101
+ }
1102
+ }],
1103
+ "defaultLabel": "label.activity_owner.id.name"
1104
+ }
1105
+ },
1106
+ "attributes": [{
1107
+ "attribute": {
1108
+ "identifier": "attr.activity_owner.region",
1109
+ "title": "Act. Owner Region",
1110
+ "folder": "Act. Owner",
1111
+ "labels": [{
1112
+ "label": {
1113
+ "identifier": "label.activity_owner.region",
1114
+ "title": "Act. Owner Region",
1115
+ "type": "GDC.text",
1116
+ "dataType": "VARCHAR(128)"
1117
+ }
1118
+ }],
1119
+ "defaultLabel": "label.activity_owner.region"
1120
+ }
1121
+ }, {
1122
+ "attribute": {
1123
+ "identifier": "attr.activity_owner.department",
1124
+ "title": "Act. Owner Department",
1125
+ "folder": "Act. Owner",
1126
+ "labels": [{
1127
+ "label": {
1128
+ "identifier": "label.activity_owner.department",
1129
+ "title": "Act. Owner Department",
1130
+ "type": "GDC.text",
1131
+ "dataType": "VARCHAR(128)"
1132
+ }
1133
+ }],
1134
+ "defaultLabel": "label.activity_owner.department"
1135
+ }
1136
+ }, {
1137
+ "attribute": {
1138
+ "identifier": "attr.activity_owner.is_sdr",
1139
+ "title": "is_sdr",
1140
+ "folder": "Act. Owner",
1141
+ "labels": [{
1142
+ "label": {
1143
+ "identifier": "label.activity_owner.is_sdr",
1144
+ "title": "is_sdr",
1145
+ "type": "GDC.text",
1146
+ "dataType": "VARCHAR(128)"
1147
+ }
1148
+ }],
1149
+ "defaultLabel": "label.activity_owner.is_sdr"
1150
+ }
1151
+ }]
1152
+ }
1153
+ }, {
1154
+ "dataset": {
1155
+ "identifier": "dataset.leadsource",
1156
+ "title": "Lead Source",
1157
+ "anchor": {
1158
+ "attribute": {
1159
+ "identifier": "attr.leadsource.leadsource",
1160
+ "title": "Lead Source",
1161
+ "folder": "Lead Sources",
1162
+ "labels": [{
1163
+ "label": {
1164
+ "identifier": "label.leadsource.leadsource",
1165
+ "title": "Lead Source",
1166
+ "type": "GDC.text",
1167
+ "dataType": "VARCHAR(128)"
1168
+ }
1169
+ }],
1170
+ "defaultLabel": "label.leadsource.leadsource"
1171
+ }
1172
+ }
1173
+ }
1174
+ }, {
1175
+ "dataset": {
1176
+ "identifier": "dataset.winlossreason",
1177
+ "title": "Win/Loss Reason",
1178
+ "anchor": {
1179
+ "attribute": {
1180
+ "identifier": "attr.winlossreason.winlossreason",
1181
+ "title": "_Tech Win/Loss Reason",
1182
+ "folder": "Win/Loss Reason",
1183
+ "labels": [{
1184
+ "label": {
1185
+ "identifier": "label.winlossreason.winlossreason",
1186
+ "title": "_Tech Win/Loss Reason",
1187
+ "type": "GDC.text",
1188
+ "dataType": "VARCHAR(128)"
1189
+ }
1190
+ }],
1191
+ "defaultLabel": "label.winlossreason.winlossreason"
1192
+ }
1193
+ },
1194
+ "attributes": [{
1195
+ "attribute": {
1196
+ "identifier": "attr.winlossreason.winlossreason1",
1197
+ "title": "Win/Loss Reason",
1198
+ "folder": "Win/Loss Reason",
1199
+ "labels": [{
1200
+ "label": {
1201
+ "identifier": "label.winlossreason.winlossreason1",
1202
+ "title": "Win/Loss Reason",
1203
+ "type": "GDC.text",
1204
+ "dataType": "VARCHAR(128)"
1205
+ }
1206
+ }],
1207
+ "defaultLabel": "label.winlossreason.winlossreason1"
1208
+ }
1209
+ }, {
1210
+ "attribute": {
1211
+ "identifier": "attr.winlossreason.secondarywinlossreason",
1212
+ "title": "Secondary Win/Loss Reason",
1213
+ "folder": "Win/Loss Reason",
1214
+ "labels": [{
1215
+ "label": {
1216
+ "identifier": "label.winlossreason.secondarywinlossreason",
1217
+ "title": "Secondary Win/Loss Reason",
1218
+ "type": "GDC.text",
1219
+ "dataType": "VARCHAR(128)"
1220
+ }
1221
+ }],
1222
+ "defaultLabel": "label.winlossreason.secondarywinlossreason"
1223
+ }
1224
+ }]
1225
+ }
1226
+ }, {
1227
+ "dataset": {
1228
+ "identifier": "dataset.productline",
1229
+ "title": "Product Line",
1230
+ "anchor": {
1231
+ "attribute": {
1232
+ "identifier": "attr.productline.productline",
1233
+ "title": "_Product Line (ID)",
1234
+ "labels": [{
1235
+ "label": {
1236
+ "identifier": "label.productline.productline",
1237
+ "title": "_Product Line (ID)",
1238
+ "type": "GDC.text",
1239
+ "dataType": "VARCHAR(128)"
1240
+ }
1241
+ }],
1242
+ "defaultLabel": "label.productline.productline"
1243
+ }
1244
+ },
1245
+ "attributes": [{
1246
+ "attribute": {
1247
+ "identifier": "attr.productline.productline1",
1248
+ "title": "Product Line",
1249
+ "folder": "Product",
1250
+ "labels": [{
1251
+ "label": {
1252
+ "identifier": "label.productline.productline1",
1253
+ "title": "Product Line",
1254
+ "type": "GDC.text",
1255
+ "dataType": "VARCHAR(128)"
1256
+ }
1257
+ }],
1258
+ "defaultLabel": "label.productline.productline1"
1259
+ }
1260
+ }, {
1261
+ "attribute": {
1262
+ "identifier": "attr.productline.prod",
1263
+ "title": "Primary PL Solution",
1264
+ "folder": "Product",
1265
+ "labels": [{
1266
+ "label": {
1267
+ "identifier": "label.productline.prod",
1268
+ "title": "Primary PL Solution",
1269
+ "type": "GDC.text",
1270
+ "dataType": "VARCHAR(128)"
1271
+ }
1272
+ }],
1273
+ "defaultLabel": "label.productline.prod"
1274
+ }
1275
+ }, {
1276
+ "attribute": {
1277
+ "identifier": "attr.productline.productorspecificsolution",
1278
+ "title": "Product or Specific Solution",
1279
+ "folder": "Product",
1280
+ "labels": [{
1281
+ "label": {
1282
+ "identifier": "label.productline.productorspecificsolution",
1283
+ "title": "Product or Specific Solution",
1284
+ "type": "GDC.text",
1285
+ "dataType": "VARCHAR(128)"
1286
+ }
1287
+ }],
1288
+ "defaultLabel": "label.productline.productorspecificsolution"
1289
+ }
1290
+ }]
1291
+ }
1292
+ }, {
1293
+ "dataset": {
1294
+ "identifier": "dataset.leadchannel",
1295
+ "title": "Lead Channel",
1296
+ "anchor": {
1297
+ "attribute": {
1298
+ "identifier": "attr.leadchannel.leadchannel",
1299
+ "title": "Lead Channel",
1300
+ "labels": [{
1301
+ "label": {
1302
+ "identifier": "label.leadchannel.leadchannel",
1303
+ "title": "Lead Channel",
1304
+ "type": "GDC.text",
1305
+ "dataType": "VARCHAR(128)"
1306
+ }
1307
+ }],
1308
+ "defaultLabel": "label.leadchannel.leadchannel"
1309
+ }
1310
+ }
1311
+ }
1312
+ }, {
1313
+ "dataset": {
1314
+ "identifier": "dataset.stage",
1315
+ "title": "stage",
1316
+ "anchor": {
1317
+ "attribute": {
1318
+ "identifier": "attr.stage.id",
1319
+ "title": "Stage",
1320
+ "folder": "Stage",
1321
+ "labels": [{
1322
+ "label": {
1323
+ "identifier": "label.stage.id.name",
1324
+ "title": "Stage Name",
1325
+ "type": "GDC.text",
1326
+ "dataType": "VARCHAR(128)"
1327
+ }
1328
+ }, {
1329
+ "label": {
1330
+ "identifier": "label.stage.id.order",
1331
+ "title": "Order",
1332
+ "type": "GDC.text",
1333
+ "dataType": "INT"
1334
+ }
1335
+ }, {
1336
+ "label": {
1337
+ "identifier": "label.stage.id",
1338
+ "title": "Stage",
1339
+ "type": "GDC.text",
1340
+ "dataType": "VARCHAR(128)"
1341
+ }
1342
+ }],
1343
+ "defaultLabel": "label.stage.id.name",
1344
+ "sortOrder": {
1345
+ "attributeSortOrder": {
1346
+ "label": "label.stage.id.order",
1347
+ "direction": "ASC"
1348
+ }
1349
+ }
1350
+ }
1351
+ },
1352
+ "attributes": [{
1353
+ "attribute": {
1354
+ "identifier": "attr.stage.is_won",
1355
+ "title": "Is Won?",
1356
+ "folder": "Stage",
1357
+ "labels": [{
1358
+ "label": {
1359
+ "identifier": "label.stage.is_won",
1360
+ "title": "Is Won?",
1361
+ "type": "GDC.text",
1362
+ "dataType": "VARCHAR(128)"
1363
+ }
1364
+ }],
1365
+ "defaultLabel": "label.stage.is_won"
1366
+ }
1367
+ }, {
1368
+ "attribute": {
1369
+ "identifier": "attr.stage.status",
1370
+ "title": "Status",
1371
+ "folder": "Stage",
1372
+ "labels": [{
1373
+ "label": {
1374
+ "identifier": "label.stage.status",
1375
+ "title": "Status",
1376
+ "type": "GDC.text",
1377
+ "dataType": "VARCHAR(128)"
1378
+ }
1379
+ }],
1380
+ "defaultLabel": "label.stage.status"
1381
+ }
1382
+ }, {
1383
+ "attribute": {
1384
+ "identifier": "attr.stage.is_active",
1385
+ "title": "Is Active?",
1386
+ "folder": "Stage",
1387
+ "labels": [{
1388
+ "label": {
1389
+ "identifier": "label.stage.is_active",
1390
+ "title": "Is Active?",
1391
+ "type": "GDC.text",
1392
+ "dataType": "VARCHAR(128)"
1393
+ }
1394
+ }],
1395
+ "defaultLabel": "label.stage.is_active"
1396
+ }
1397
+ }, {
1398
+ "attribute": {
1399
+ "identifier": "attr.stage.is_closed",
1400
+ "title": "Is Closed?",
1401
+ "folder": "Stage",
1402
+ "labels": [{
1403
+ "label": {
1404
+ "identifier": "label.stage.is_closed",
1405
+ "title": "Is Closed?",
1406
+ "type": "GDC.text",
1407
+ "dataType": "VARCHAR(128)"
1408
+ }
1409
+ }],
1410
+ "defaultLabel": "label.stage.is_closed"
1411
+ }
1412
+ }, {
1413
+ "attribute": {
1414
+ "identifier": "attr.stage.issao",
1415
+ "title": "Is SAO?",
1416
+ "folder": "Stage",
1417
+ "labels": [{
1418
+ "label": {
1419
+ "identifier": "label.stage.issao",
1420
+ "title": "Is SAO?",
1421
+ "type": "GDC.text",
1422
+ "dataType": "VARCHAR(128)"
1423
+ }
1424
+ }],
1425
+ "defaultLabel": "label.stage.issao"
1426
+ }
1427
+ }, {
1428
+ "attribute": {
1429
+ "identifier": "attr.stage.amconsolidatedstage",
1430
+ "title": "AM Consolidated Stage",
1431
+ "folder": "Stage",
1432
+ "labels": [{
1433
+ "label": {
1434
+ "identifier": "label.stage.amconsolidatedstage",
1435
+ "title": "AM Consolidated Stage",
1436
+ "type": "GDC.text",
1437
+ "dataType": "VARCHAR(128)"
1438
+ }
1439
+ }, {
1440
+ "label": {
1441
+ "identifier": "label.stage.amconsolidatedstage.amstageorder",
1442
+ "title": "_AM Stage Order",
1443
+ "type": "GDC.text",
1444
+ "dataType": "VARCHAR(128)"
1445
+ }
1446
+ }],
1447
+ "defaultLabel": "label.stage.amconsolidatedstage",
1448
+ "sortOrder": {
1449
+ "attributeSortOrder": {
1450
+ "label": "label.stage.amconsolidatedstage.amstageorder",
1451
+ "direction": "ASC"
1452
+ }
1453
+ }
1454
+ }
1455
+ }]
1456
+ }
1457
+ }, {
1458
+ "dataset": {
1459
+ "identifier": "dataset.opp_owner",
1460
+ "title": "opp_owner",
1461
+ "anchor": {
1462
+ "attribute": {
1463
+ "identifier": "attr.opp_owner.id",
1464
+ "title": "Opp. Owner",
1465
+ "folder": "Opp. Owner",
1466
+ "labels": [{
1467
+ "label": {
1468
+ "identifier": "label.opp_owner.id.name",
1469
+ "title": "Opp. Owner Name",
1470
+ "type": "GDC.text",
1471
+ "dataType": "VARCHAR(128)"
1472
+ }
1473
+ }, {
1474
+ "label": {
1475
+ "identifier": "label.opp_owner.id",
1476
+ "title": "Opp. Owner",
1477
+ "type": "GDC.text",
1478
+ "dataType": "VARCHAR(128)"
1479
+ }
1480
+ }, {
1481
+ "label": {
1482
+ "identifier": "label.opp_owner.id.oppownerpicture",
1483
+ "title": "Opp. Owner Picture",
1484
+ "type": "GDC.text",
1485
+ "dataType": "VARCHAR(128)"
1486
+ }
1487
+ }, {
1488
+ "label": {
1489
+ "identifier": "label.opp_owner.id.url",
1490
+ "title": "Opp. Owner Url",
1491
+ "type": "GDC.link",
1492
+ "dataType": "VARCHAR(128)"
1493
+ }
1494
+ }],
1495
+ "defaultLabel": "label.opp_owner.id.name"
1496
+ }
1497
+ },
1498
+ "attributes": [{
1499
+ "attribute": {
1500
+ "identifier": "attr.opp_owner.region",
1501
+ "title": "Opp. Owner Region",
1502
+ "description": "Owner Region description",
1503
+ "folder": "Opp. Owner",
1504
+ "labels": [{
1505
+ "label": {
1506
+ "identifier": "label.opp_owner.region",
1507
+ "title": "Opp. Owner Region",
1508
+ "type": "GDC.text",
1509
+ "dataType": "VARCHAR(128)"
1510
+ }
1511
+ }],
1512
+ "defaultLabel": "label.opp_owner.region"
1513
+ }
1514
+ }, {
1515
+ "attribute": {
1516
+ "identifier": "attr.opp_owner.department",
1517
+ "title": "Opp. Owner Department",
1518
+ "folder": "Opp. Owner",
1519
+ "labels": [{
1520
+ "label": {
1521
+ "identifier": "label.opp_owner.department",
1522
+ "title": "Opp. Owner Department",
1523
+ "type": "GDC.text",
1524
+ "dataType": "VARCHAR(128)"
1525
+ }
1526
+ }],
1527
+ "defaultLabel": "label.opp_owner.department"
1528
+ }
1529
+ }],
1530
+ "references": ["oppownerstart"]
1531
+ }
1532
+ }, {
1533
+ "dataset": {
1534
+ "identifier": "dataset.activity",
1535
+ "title": "activity",
1536
+ "anchor": {
1537
+ "attribute": {
1538
+ "identifier": "attr.activity.id",
1539
+ "title": "Activity",
1540
+ "folder": "Activity",
1541
+ "labels": [{
1542
+ "label": {
1543
+ "identifier": "label.activity.id.subject",
1544
+ "title": "Activity Subject",
1545
+ "type": "GDC.text",
1546
+ "dataType": "VARCHAR(128)"
1547
+ }
1548
+ }, {
1549
+ "label": {
1550
+ "identifier": "label.activity.id",
1551
+ "title": "Activity",
1552
+ "type": "GDC.text",
1553
+ "dataType": "VARCHAR(128)"
1554
+ }
1555
+ }, {
1556
+ "label": {
1557
+ "identifier": "label.activity.id.url",
1558
+ "title": "url",
1559
+ "type": "GDC.link",
1560
+ "dataType": "VARCHAR(128)"
1561
+ }
1562
+ }],
1563
+ "defaultLabel": "label.activity.id.subject"
1564
+ }
1565
+ },
1566
+ "attributes": [{
1567
+ "attribute": {
1568
+ "identifier": "attr.activity.status",
1569
+ "title": "Activity Status",
1570
+ "folder": "Activity",
1571
+ "labels": [{
1572
+ "label": {
1573
+ "identifier": "label.activity.status",
1574
+ "title": "Activity Status",
1575
+ "type": "GDC.text",
1576
+ "dataType": "VARCHAR(128)"
1577
+ }
1578
+ }],
1579
+ "defaultLabel": "label.activity.status"
1580
+ }
1581
+ }, {
1582
+ "attribute": {
1583
+ "identifier": "attr.activity.type",
1584
+ "title": "Activity Type",
1585
+ "folder": "Activity",
1586
+ "labels": [{
1587
+ "label": {
1588
+ "identifier": "label.activity.type",
1589
+ "title": "Activity Type",
1590
+ "type": "GDC.text",
1591
+ "dataType": "VARCHAR(128)"
1592
+ }
1593
+ }],
1594
+ "defaultLabel": "label.activity.type"
1595
+ }
1596
+ }]
1597
+ }
1598
+ }, {
1599
+ "dataset": {
1600
+ "identifier": "dataset.opportunity",
1601
+ "title": "opportunity",
1602
+ "anchor": {
1603
+ "attribute": {
1604
+ "identifier": "attr.opportunity.id",
1605
+ "title": "Opportunity",
1606
+ "description": "This is opportunity attribute description",
1607
+ "folder": "Opportunity",
1608
+ "labels": [{
1609
+ "label": {
1610
+ "identifier": "label.opportunity.id.name",
1611
+ "title": "Opp. Name",
1612
+ "type": "GDC.text",
1613
+ "dataType": "VARCHAR(128)"
1614
+ }
1615
+ }, {
1616
+ "label": {
1617
+ "identifier": "label.opportunity.id",
1618
+ "title": "Opportunity",
1619
+ "type": "GDC.text",
1620
+ "dataType": "VARCHAR(128)"
1621
+ }
1622
+ }, {
1623
+ "label": {
1624
+ "identifier": "label.opportunity.id.url",
1625
+ "title": "Opp. Url",
1626
+ "type": "GDC.link",
1627
+ "dataType": "VARCHAR(128)"
1628
+ }
1629
+ }],
1630
+ "defaultLabel": "label.opportunity.id.name"
1631
+ }
1632
+ }
1633
+ }
1634
+ }, {
1635
+ "dataset": {
1636
+ "identifier": "dataset.bookingtype",
1637
+ "title": "Booking Type",
1638
+ "anchor": {
1639
+ "attribute": {
1640
+ "identifier": "attr.bookingtype.booking_type_id",
1641
+ "title": "Booking Type",
1642
+ "folder": "Booking Type",
1643
+ "labels": [{
1644
+ "label": {
1645
+ "identifier": "label.bookingtype.booking_type_id",
1646
+ "title": "Booking Type",
1647
+ "type": "GDC.text",
1648
+ "dataType": "VARCHAR(128)"
1649
+ }
1650
+ }, {
1651
+ "label": {
1652
+ "identifier": "label.bookingtype.booking_type_id.booking_type_nm",
1653
+ "title": "Booking Type Nm",
1654
+ "type": "GDC.text",
1655
+ "dataType": "VARCHAR(128)"
1656
+ }
1657
+ }],
1658
+ "defaultLabel": "label.bookingtype.booking_type_id"
1659
+ }
1660
+ }
1661
+ }
1662
+ }, {
1663
+ "dataset": {
1664
+ "identifier": "dataset.forecast",
1665
+ "title": "forecast",
1666
+ "anchor": {
1667
+ "attribute": {
1668
+ "identifier": "attr.forecast.id",
1669
+ "title": "Forecast Category",
1670
+ "folder": "forecast",
1671
+ "labels": [{
1672
+ "label": {
1673
+ "identifier": "label.forecast.id.forecastcategoryordered",
1674
+ "title": "Forecast Category Ordered",
1675
+ "type": "GDC.text",
1676
+ "dataType": "VARCHAR(128)"
1677
+ }
1678
+ }, {
1679
+ "label": {
1680
+ "identifier": "label.forecast.id",
1681
+ "title": "Forecast Category",
1682
+ "type": "GDC.text",
1683
+ "dataType": "VARCHAR(128)"
1684
+ }
1685
+ }],
1686
+ "defaultLabel": "label.forecast.id.forecastcategoryordered"
1687
+ }
1688
+ }
1689
+ }
1690
+ }],
1691
+ "dateDimensions": [{
1692
+ "dateDimension": {
1693
+ "name": "activity",
1694
+ "title": "Activity"
1695
+ }
1696
+ }, {
1697
+ "dateDimension": {
1698
+ "name": "leadcreate",
1699
+ "title": "Lead Created"
1700
+ }
1701
+ }, {
1702
+ "dateDimension": {
1703
+ "name": "snapshot",
1704
+ "title": "Snapshot"
1705
+ }
1706
+ }, {
1707
+ "dateDimension": {
1708
+ "name": "oppownerstart",
1709
+ "title": "Opp. Owner Start"
1710
+ }
1711
+ }, {
1712
+ "dateDimension": {
1713
+ "name": "oppclose",
1714
+ "title": "Opp. Close"
1715
+ }
1716
+ }, {
1717
+ "dateDimension": {
1718
+ "name": "oppcreated",
1719
+ "title": "Opp. Created"
1720
+ }
1721
+ }, {
1722
+ "dateDimension": {
1723
+ "name": "stage1plus",
1724
+ "title": "SAO"
1725
+ }
1726
+ }, {
1727
+ "dateDimension": {
1728
+ "name": "firstcontactdate",
1729
+ "title": "Contacted Date"
1730
+ }
1731
+ }, {
1732
+ "dateDimension": {
1733
+ "name": "previous_close_date",
1734
+ "title": "Previous Opp. Close"
1735
+ }
1736
+ }, {
1737
+ "dateDimension": {
1738
+ "name": "mqldate",
1739
+ "title": "MQL"
1740
+ }
1741
+ }, {
1742
+ "dateDimension": {
1743
+ "name": "s2o",
1744
+ "title": "S2O"
1745
+ }
1746
+ }, {
1747
+ "dateDimension": {
1748
+ "name": "firstmeeting",
1749
+ "title": "First Meeting"
1750
+ }
1751
+ }, {
1752
+ "dateDimension": {
1753
+ "name": "effectivecontractstart",
1754
+ "title": "Effective Contract Start"
1755
+ }
1756
+ }, {
1757
+ "dateDimension": {
1758
+ "name": "laststage0plus",
1759
+ "title": "Last Stage0Plus"
1760
+ }
1761
+ }, {
1762
+ "dateDimension": {
1763
+ "name": "effectivecontractend",
1764
+ "title": "Effective Contract End"
1765
+ }
1766
+ }, {
1767
+ "dateDimension": {
1768
+ "name": "timeline",
1769
+ "title": "Timeline"
1770
+ }
1771
+ }]
1772
+ }
1773
+ }
1774
+ }
1775
+ }