52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
# File 'lib/gooddata/lcm/actions/apply_custom_maql.rb', line 52
def call(params)
return [] unless params.apply_maql_ddl.to_b
client = params.gdc_gd_client
domain_name = params.organization || params.domain
fail "Either organisation or domain has to be specified in params" unless domain_name
domain = client.domain(domain_name) || fail("Invalid domain name specified - #{domain_name}")
data_product = params.data_product
segment_ids = params.segments.map(&:segment_id)
domain_segments = domain.segments(:all, data_product).select do |ds|
segment_ids.include?(ds.segment_id)
end
res = []
domain_segments.peach do |ds|
maql = 'CREATE DATASET {dataset.quotes} VISUAL (TITLE "Stock Quotes Data");'
unless maql.empty?
ds.clients.peach do |dc|
project = dc.project
r = project.execute_maql(maql)
item = {
segment: ds.segment_id,
maql: maql,
status: r
}
res.push(item)
end
end
end
res
end
|