Hi All :wave: I have encountered an issue while tr...
# gooddata-platform
s
Hi All 👋 I have encountered an issue while trying to change the length of attribute label. As per https://help.gooddata.com/doc/enterprise/en/data-integration/data-modeling-in-gooddata/data-modeling-and-maql/change-the-length-of-attribute-labels/, I created the MAQL DDL and submitted by API route, but keep getting the error: "message" : "The object (%s) doesn't exist." Per above GoodData doc, I see the label would be something like <label>.<dataset name>.<attribute name>.<label name> however, my label is the default one and so it is of the format <label>.<dataset name>.<label name>. I see as per https://help.gooddata.com/doc/enterprise/en/data-integration/data-modeling-in-gooddat[…]el-components-in-gooddata/attributes-in-logical-data-models/, default label is for data load and is same as attribute. So, when I submit this default label, GoodData API is returning error. Does this mean I have to create additional label for that same field and map it to the same source field inorder to be able to proceed ? Can I not work with the default label ? My objects: dataset.medev_maude_mdr attr.medev_maude_mdr.text label.medev_maude_mdr.text The API body which I built as per doc, is as shown below:-
ALTER DATATYPE {d_medev_maude_mdr_medev_maude_mdr.text.nm_medev_maude_mdr.text} VARCHAR(500); SYNCHRONIZE {dataset.medev_maude_mdr} PRESERVE DATA;
f
Hi Shankar, the error message you received,
The object (%s) doesn't exist
indicates that the label’s name was not inserted properly on the DDL query. As a matter of fact, you are able to get the exact identifier you need for the label/attribute in question via the Gray Pages: 1. Start by accessing the Datasets metadata page at
<your_domain>/gdc/md/<workspace_id>/query/datasets
2. Select the attribute’s Dataset from the list (I assume
medev_maude_mdr
) 3. select the attribute from the list 4. the identifier you want will be the
identifier
object With the correct identifier on hand, you should be able to complete this task with no troubles! 🙂
s
Thank you Francisco. I was actually referring to the labels from the LDM designer itself where it shows the attr, labels, dataset etc.. But I will try your suggestion and let you know right away.
👍 1
I get the same
identifier
object as I saw from the LDM:
"identifier" : "label.medev_maude_mdr.text",
which will give me the same error if I try. Here is the detail from gray pages.
And this is the attr name:
f
Hmm… How about the dataset’s identifier?
Hi @Shankar Mahindar I have found the issue: the dataset’s name does not have to be mentioned on the attribute’s and label’s name. The example on the article is not correct, it seems. Please try using the following syntax instead:
ALTER DATATYPE {d_medev_maude_mdr_text.nm_text} VARCHAR(500); SYNCHRONIZE {dataset.medev_maude_mdr} PRESERVE DATA;
In fact, this should match exactly the
dataLoadingColumn
object in the Dataset’s metadata page for the label. Please give that one a try and let me know how it goes!
s
Okay, trying it out...
Okay Francisco, it accepted the updated MAQL, like you guided and now I see the API response is 202: accepted.
{
"wTaskStatus" : {
"links" : {
"poll" : "/gdc/md/r2rczzclkou4ivuxokyf25lnlfpcvyj9/tasks/5812d257050acd99d1c6e932a9958fb40000013b/status"
},
"poll" : "/gdc/md/r2rczzclkou4ivuxokyf25lnlfpcvyj9/tasks/5812d257050acd99d1c6e932a9958fb40000013b/status",
"status" : "RUNNING"
}
}
Status is RUNNING. Does it take sometime to change into 200 ?
f
On my test domain it was somewhat quick, but it may take a while. Keep clicking the Poll URL and you should get a proper result soon!
s
It worked!!! 🎇 🥁 🤝
🙌 1
I do have to re-load that dataset inorder for the change to reflect in actual insight/dashboard. Am I correct ?
f
The DDL query already should implement the change, but I suppose you don’t have any labels bigger than the default 128 characters on the dataset, so you’d have to load the new ones, yes.
👍 1
s
Thank you Francisco! You are amazing !! Appreciate the help 🤝
🤝 1
f
Anytime!
s
Hi @Francisco Antunes 👋 I had a follow-up question. Once this setting is implemented in dev workspace, can the release/rollout brick process merge this change into prod workspaces as well (or) it has to be a repeat setup in the prod workspace ?
f
Hi Shankar, if you have this configured on your Development Master, this change should also be propagated to your Prod Master workspaces when the Release brick is run. But that is assuming that you have a Dev Master that releases into a Prod master workspace, of course. 🙂
s
Oh okay, great. I do have a dev master, so these changes will be propagated through into prod master. The reason why I asked this question is that a couple of weeks back, I worked on getting MUFs (data permissions) applied for user in dev workspace, but after release/rollout, I had to redo it for the user in prod workspace. I feel, I understand why it would require me to redo for the MUFs --> they are based out of element_id for an attribute value and the element_id sequence that is stored in dev may or may not be same for the prod storage. Am I thinking correct or just hallucinating ? 😄
f
Yes, you are thinking correctly there, when it comes to the data permissions! But in this case what you’re looking to propagate (the
VARCHAR(500)
) is part of the definition of the attribute/label itself, which must in turn delivered in its entirety by the LCM feature
🙌 1