Dataflow Job fails when field created in Compute Relative node of type saql doesn't get rows to process
Last updated 2022-02-15 ·Reference W-9836246 ·Reported By 1 users
In Review
Summary
When a filter node doesn't return any rows in the data stream and there is a ComputeRelative node and slice node / augment node after it, the dataflow fails.
Failure occur when a Field created using expression type "SAQL" is mentioned to in slice/aug node, whereas the Dataflow doesn't fail when field created using expression type "Source Field".
Repro
1. Create a dataflow, name it SAQL
2. Create an sfdcDigest node for Opportunities. Select Id, AccountId, Amount, StageName fields
3. Create a filter such that the filter node will not return any rows to the data stream. For eg: 'StageName' == "A"
4. Create a Compute Relative node. Partition by 'AccountId', sort by 'Amount' asc
5. Create a field within CR node, call it Test. Expression Type SAQL, saql expression 'AccountId', Type 'Text', default value "ABC"
6. Augment this CR node back to Opps node. CR node will be the right source. Make sure to pick Test field in the 'right select'
7. Register
8. run the dataflow,
The SAQL dataflow will throw the following error -
"Something went wrong while executing the slice node: Error while selecting fields from the dataset.: Invalid extract field name [Test]"
Workaround
Use expression type "Source field" instead of SAQL
Create second dataflow (same steps as above, the only difference here would be in step 1 and 5)
1. Create a dataflow, name it SourceField
5. Create a field within CR node, call it Test. Expression Type 'Source Field', SourceField 'Amount', Offset 'Current', default value 0
Reported By (1)
Is it Fixed?
Any unreleased services, features, statuses, or dates referenced in this or other public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make their purchase decisions based upon features that are currently available.