class PowerBI::Dataset

Attributes

add_rows_API_enabled[R]
configured_by[R]
datasources[R]
id[R]
is_effective_identity_required[R]
is_effective_identity_roles_required[R]
is_on_prem_gateway_required[R]
is_refreshable[R]
name[R]
parameters[R]
refresh_history[R]
target_storage_mode[R]
workspace[R]

Public Class Methods

new(tenant, data) click to toggle source
# File lib/power-bi/dataset.rb, line 7
def initialize(tenant, data)
  @id = data[:id]
  @name = data[:name]
  @add_rows_API_enabled = data[:addRowsAPIEnabled]
  @configured_by = data[:configuredBy]
  @is_refreshable = data[:isRefreshable]
  @is_effective_identity_required = data[:isEffectiveIdentityRequired]
  @is_effective_identity_roles_required = data[:isEffectiveIdentityRolesRequired]
  @is_on_prem_gateway_required = data[:isOnPremGatewayRequired]
  @target_storage_mode = data[:targetStorageMode]
  @workspace = data[:workspace]
  @tenant = tenant
  @datasources = DatasourceArray.new(@tenant, self)
  @parameters = ParameterArray.new(@tenant, self)
  @refresh_history = RefreshArray.new(@tenant, self)
end

Public Instance Methods

bind_to_gateway(gateway, gateway_datasource) click to toggle source
# File lib/power-bi/dataset.rb, line 54
def bind_to_gateway(gateway, gateway_datasource)
  @tenant.post("/groups/#{workspace.id}/datasets/#{id}/Default.BindToGateway") do |req|
    req.body = {
      gatewayObjectId: gateway.id,
      datasourceObjectIds: [gateway_datasource.id]
    }.to_json
  end
  true
end
delete() click to toggle source
# File lib/power-bi/dataset.rb, line 48
def delete
  @tenant.delete("/groups/#{workspace.id}/datasets/#{id}")
  @workspace.datasets.reload
  true
end
last_refresh() click to toggle source
# File lib/power-bi/dataset.rb, line 34
def last_refresh
  @refresh_history.first
end
refresh() click to toggle source
# File lib/power-bi/dataset.rb, line 38
def refresh
  @tenant.post("/groups/#{workspace.id}/datasets/#{id}/refreshes") do |req|
    req.body = {
      notifyOption: "NoNotification"
    }.to_json
  end
  @refresh_history.reload
  true
end
update_parameter(name, value) click to toggle source
# File lib/power-bi/dataset.rb, line 24
def update_parameter(name, value)
  @tenant.post("/groups/#{workspace.id}/datasets/#{id}/Default.UpdateParameters") do |req|
    req.body = {
      updateDetails: [{name: name, newValue: value.to_s}]
    }.to_json
  end
  @parameters.reload
  true
end