Skip to main content

#Analytics100 discussing

Hi, 

 

We are seeing the following error lately related to event monitoring data flow: 

Job Name:  Login Upload flow - Overwrite  

Job Type: File Upload 

Error:  Something went wrong while executing the digest node: field-count, 35, and header's column-count, 34, do not match [error category: USER](xxxxxxxxxxyy_rtsxxxxxxxxxxxx_001)  

 

Can anyone help with this issue please? 

 

Thanks, 

Ram

4 answers
  1. Apr 16, 1:48 AM

    Hi @Ramkrishna Shirali - This is a schema mismatch error — the Event Monitoring data file being uploaded has 35 fields, but the dataset schema (defined in the dataflow's digest node) only expects 34 columns. The counts are off by one.

    What caused it: Salesforce periodically adds new fields to Event Monitoring log files as part of seasonal releases. When they add a field to the LoginEvent log, the uploaded file gains a column but the CRM Analytics dataflow schema doesn't automatically update to match — hence the field-count vs header-count mismatch.

    How to fix it:

    1. Download a recent LoginEvent log file from Event Monitoring and open it. Identify which field is new (compare against the 34 columns your digest node expects — the extra one will stand out).
    2. Update the digest node schema in the Login Upload flow dataflow to include the new field. You can do this in the dataflow JSON directly or via the UI dataflow editor — add the missing column with the appropriate data type.
    3. Re-run the dataflow after saving the schema update.
0/9000

I have a recipe which calculates the "Date Period" as a text field based on the date.  For example, on 15th April 2026 it creates a text field called "2026-04-15".  I am then using this in an aggregate node for the "Group Column". 

 

However, when you are prompted to add the values you can either select the individual values or choose "Select All Listed Values".  By choosing this option, are all new values that are added e.g. 2026-04-16 dynamically pulled into the "Group Column" without making any changes to the aggregate node or would I have to go manually choose the new value of 2026-04-16 and add this to the "Group Column" filter? 

Group Column in Aggregate Node

Thanks 

 

 

 

#Analytics

2 answers
0/9000

Hi Team,  

I am trying to configure Salesforce CRMA mass action. However, I am not able to select the action name in "Salesforce Actions" column. (Please check screenshot attached) 

 

CRMA Mass Action is not showing actions

 

 

I can perform action by clicking on the record but not by clicking on mass action.  

Please let me know if I'm missing something

3 answers
0/9000

Hi, we are using CRM Analytics and we have a connection between Salesforce and Snowflake. Everything was working well until a week ago.  

 

when we try to connect to Snowflake it returns this error. Any idea how to fix?  

 

HTTP Invalid HTTP response from null:443! Cannot conclude ssl handshake. Cause: Server not trusted by the user.. 

 

Error in Job ID connector.59OKp04OAhoHmWd8PMt3lF:

0/9000

In my dashboard, I have a list widget and a text widget. Depending on my selection in the list widget, I would like to be redirected to a specific dashboard when I click on the text widget.

I tried to achieve this by creating a binding on the interaction property of the text widget, but it didn't work.

I would like to know if this use case is possible. If yes, how can I do it?

Thank you for your help.

1 answer
0/9000

Hi,  

 

I have implemented this in a CRMA Dashboard according to this explanation.

https://www.salesforceblogger.com/2017/06/27/how-to-filter-dashboard-by-logged-in-user/

 

 

It's working for User Name. However, when I am trying to set a similar filter such as Country or Region it doesn't show any default value. I have done exactly the same as with the user name, but it's not working.  

 

Thank you! 

 

#Analytics

1 answer
  1. Apr 14, 7:27 PM

    Hi @Joost Breggeman,

     

    This is a limitation — default filters in CRMA work well with 

    standard user fields (like Name), not custom ones like Country/Region.

    Make sure the field is in the dataset, but for custom fields you’ll likely need bindings or a dataset join

     

    If you find this helpful feel free to mark it as Best Answer !!!! 😊

    Thanks and Regards.

0/9000

Hi Everyone, 

 

I have a compare table with two datasets (A and B) by account, and both datasets can have multiple revenue types with different amounts. 

 

I want to display only one revenue type per account with the following rules: 

 

  1.  Prefer the revenue type from Dataset A
  2.  If Dataset A has no value, use the revenue type from Dataset B
  3.  When a dataset has multiple revenue types, choose the one with the highest amount

I tried using the first() function, but it sometimes returns the revenue type with a smaller amount instead of the highest. 

 

How can I ensure the table always shows the single revenue type per account based on the highest amount? 

 

Thank you for any advice/help you can give!

1 answer
  1. Apr 9, 6:03 PM

    -- ── DATASET A ──────────────────────────────────────────

    q_a = load "DatasetA";

    q_b = load "DatasetB";

    -- Step 1A: Get max amount per key from Dataset A

    a_grouped = group q_a by DimensionKey;

    a_max = foreach a_grouped generate

    DimensionKey as DimensionKey,

    max(q_a.Amount) as MaxAmount_A;

    -- Step 2A: Join back to filter only rows where Amount = MaxAmount

    a_joined = cogroup q_a by DimensionKey, a_max by DimensionKey;

    a_at_max = foreach a_joined generate

    q_a.DimensionKey as DimensionKey,

    q_a.RevenueType as RevenueType,

    q_a.Amount as Amount,

    a_max.MaxAmount_A as MaxAmount_A;

    a_at_max = filter a_at_max by Amount == MaxAmount_A;

    -- Step 3A: Now first() is safe — all remaining rows have the max amount

    a_grp = group a_at_max by DimensionKey;

    a_final = foreach a_grp generate

    DimensionKey,

    first(a_at_max.RevenueType) as RevenueType_A;

    -- ── DATASET B ──────────────────────────────────────────

    -- Same pattern for Dataset B

    b_grouped = group q_b by DimensionKey;

    b_max = foreach b_grouped generate

    DimensionKey as DimensionKey,

    max(q_b.Amount) as MaxAmount_B;

    b_joined = cogroup q_b by DimensionKey, b_max by DimensionKey;

    b_at_max = foreach b_joined generate

    q_b.DimensionKey as DimensionKey,

    q_b.RevenueType as RevenueType,

    q_b.Amount as Amount,

    b_max.MaxAmount_B as MaxAmount_B;

    b_at_max = filter b_at_max by Amount == MaxAmount_B;

    b_grp = group b_at_max by DimensionKey;

    b_final = foreach b_grp generate

    DimensionKey,

    first(b_at_max.RevenueType) as RevenueType_B;

    -- ── COMBINE: Prefer A, fallback to B ───────────────────

    combined = cogroup a_final by DimensionKey full,

    b_final by DimensionKey full;

    result = foreach combined generate

    coalesce(a_final.DimensionKey, b_final.DimensionKey) as DimensionKey,

    coalesce(a_final.RevenueType_A, b_final.RevenueType_B) as FinalRevenueType;

0/9000
3 comments
  1. Apr 9, 2:35 PM

    I too 100% agree on this. Not thought out at all by Salesforce.

0/9000

We have just implemented salesforce into our company as our CRM system and we currently have no way to capture our revenue. We dont have products so we currently have created 6 custom field on the opportunity FY1, 2, 3 etc (as we only need to capture revenue from year 1-6) is there a better way to do this on an object per line item? We need to see on reports the accumulative value but also our main value we like to report on is year 3   

8 answers
  1. Apr 9, 9:17 AM

    I know and understand. I will try showcase something for them. Is the running order. Create a pricebook, then a product, then add products to the opp related list and do schedules from then? Can I create schedules yearly and not monthly - I think I can

0/9000

Hello Everyone, 

 

I am using toggle widget in my dashboard. This is selected with a field from dataset (not custom widget). I would like to show my KPIs like H-M-L. This will allow users to select specific KPI and filter the table for deep dive analysis. 

 

I just noticed, when there is no record, this toggle shows "No Available Option" warning message always. I want to keep the title always as H-M-L. I tried to use customize display and format, however it is not working when there is no data. 

 

How can I set a default value always in this case? 

Here is the example for KPI you can see in my attached screenshot. First KPI has message because there is no option. Second KPI looks good. 

 

Thx 

 

How to set a default value for toggle widget

 

 

3 answers
  1. Apr 8, 2:38 PM

    Yeah that's the classic toggle, one way around it: keep the static toggle but handle the "nothing selected = show all" logic in your step's SAQL. Instead of a straight filter binding, wrap it in a condition, something like if the selection is empty, return all rows, otherwise filter by the selected value. That way the dashboard loads with everything visible and users just click one toggle to drill down.

     

    The SAQL would look roughly like:

    q = load "your_dataset";

    q = filter q by ({{column(toggle_step.selection, ["H","M","L"]).isEmpty()}} || 'your_bucket_field' in {{column(toggle_step.selection, ["value"])}});

    The isEmpty() check means no selection = no filter = all data shown. One click on H and it filters to just H, no need to deselect the others.

0/9000