是否可以通过Ruby更改GoodData项目中的属性文件夹



在GoodData项目中,可以将您的属性和事实移动到某个特定的文件夹中。我正在尝试通过Ruby脚本做类似的事情。我有项目蓝图和属性 ID 列表以及有关其文件夹的信息,但我仍然不确定如何更改文件夹。因为此代码不起作用:

    blueprint = project.blueprint
    blueprint.datasets.map do |dataset|
    dataset.attributes.map do |attr|
        attr.folder = dataset.title
    end
   end

错误:

NoMethodError: undefined method `folder='

在GoodData Ruby Cookbook中,示例是如何查找文件夹列表,但没有更多信息。

 # Currently there is not support in SDK to directly explore folders but we can reach to API directly
  # You can also go to the project in your browser and look for folders there
  client.get("#{project.md['query']}/dimensions")['query']['entries'].map {|i| i['title']} # => ["Dataset.Opportunities", "Awesome Sales Reps", "Dataset.Regions"]
  client.get("#{project.md['query']}/folders")['query']['entries'].map {|i| i['title']} # => ["My Special Folder"]

是否有人已经尝试更改您的 GoodData 项目中的属性或事实文件夹?

这是SDK:http://www.rubydoc.info/gems/gooddata/GoodData/Model/BlueprintField以下是一些如何使用蓝图的示例,但大多数情况下只是创建新属性: http://sdk.gooddata.com/gooddata-ruby-examples/#_12_working_with_blueprints

谢谢你的任何想法。米甲

GoodData Automation SDK 不支持更改属性或事实的文件夹。

你可以做的是通过CloudConnect,MAQL来改变它,或者你可以在Ruby中开发自己的方法,或者当然通过UI改变它。

CloudConnect 允许您更改它,并显示将用于更改的 MAQL 代码。您可以从中学习如何为此类更改创建 MAQL 代码,然后您可以通过 GoodData API 执行 MAQL 代码。如何通过 API 执行 MAQL 代码如下所述:https://developer.gooddata.com/api#/reference/project-model/execute-a-maql-ddl-script/execute-a-maql-ddl-script

也可以通过UI更改它,通过浏览器开发人员工具捕获更改(它是HTTP POST到属性/事实对象(,并通过Ruby重现POST。

最新更新