asString() Function
Serializes a scalar, one-dimensional array, or two-dimensional array as a string. Escapes double quotes in strings.
asObject() Function
Passes data through with no serialization. Returns data as an object (an array of strings).
But, let us see in samples:
Selection binding with a value
Static Step
"static_Owner_Manager": {
"broadcastFacet": true,
"label": "static_Owner_Manager",
"selectMode": "singlerequired",
"start": {
"display": [
"Owner"
]
},
"type": "staticflex",
"values": [
{
"display": "Owner",
"value": "Owner.Name",
"text": "Count Owner Name"
},
{
"display": "Manager",
"value": "Owner.Manager.Name",
"text": "Count Owner Manager Name"
}
]
}
Binding
"groups": [
"{{cell(static_Owner_Manager.selection, 0, \"value\").asString()}}"
]
However using asObject() will Not throw error too
"groups": [
"{{cell(static_Owner_Manager.selection, 0, \"value\").asObject()}}"
]
"measures": [
[
"sum",
"{{cell(static_Owner_Manager.selection, 0, \"value\").asString()}}"
]
]
The same, using asObject() will Not throw error too
"measures": [
[
"sum",
"{{cell(static_Owner_Manager.selection, 0, \"value\").asObject()}}"
]
]
Selection binding with multiple values
Sample 1: selection binding in groups
Static Step
"staticTime_DATE": {
"broadcastFacet": true,
"label": "staticTime_DATE",
"selectMode": "singlerequired",
"start": {
"display": [
"Month"
]
},
"type": "staticflex",
"values": [
{
"display": "Month",
"value": [
"DATE_Year",
"DATE_Month"
]
},
{
"display": "Week",
"value": [
"DATE_Year",
"DATE_Week"
]
}
]
}
Binding
"groups": [
"{{ cell(staticTime_DATE.selection, 0, \"value\").asObject() }}",
"field_name__c"
]
Sample 2: selection binding in measures
Static Step
"static_Amount_Count": {
"broadcastFacet": true,
"label": "static_Amount_Count",
"selectMode": "singlerequired",
"start": {
"display": [
"Amount"
]
},
"type": "staticflex",
"values": [
{
"display": "Amount",
"value": [
"sum",
"Amount"
]
},
{
"display": "Count",
"value": [
"count",
"*"
]
},
{
"display": "Unique",
"value": [
"unique",
"Id"
]
}
]
}
Binding
"measures": [
"{{ cell(static_Amount_Count.selection, 0, \"value\").asObject() }}"
]
In short:
- use asString() when you only bind a string value
- use asObject() when you only bind multiple values
- use asObject() when you bind not a string value, such as true / false
Side note: old-style binding
"{{ value(selection(static_2)) }}"
equal to
"{{ cell(static_2.selection, 0, \"value\").asObject() }}"
equal to
"{{ column(static_2.selection, [\"value\"]).asObject() }}"
Side note: column binding"{{ cell(static_Order_By.selection, 0, \"value\").asString() }}"
equal to
"{{ column(static_Order_By.selection, [\"value\"]).asObject() }}"
Result binding with multiple values
change result in lens_1 query will use to filter result in lens_2 query:
"lens_1": {
"query": {
"values": [
"Id",
"Account_Name",
"Parent_Name"
]
}
}
"lens_2": {
"query": {
"values": [
"Id",
"AccountId",
"Agreement_No",
"Agreement_Type"
],
"filters": [
[
"AccountId",
"{{column(lens_1.result, [\"Id\"]).asObject()}}",
"in"
]
]
}
}
No comments:
Post a Comment