☝️Small business or a startup? See if you qualify for our special offer.
+

remove collapse arrow

Answered
Fabrizio asked on April 11, 2025

Hello,

I'd like to ask if it's possible to remove the default arrow/collapse functionality that compacts months to show only the year in the Flexmonster component.

Currently, when using a date hierarchy in our reports, there's a default arrow that allows users to collapse all months to display just the year. For our specific implementation, we'd prefer to disable this feature and always show the full date hierarchy without the collapse option.

Is there a configuration property or setting that would allow us to remove or disable these collapsing arrows? If so, could you please provide guidance on how to implement this, along with any code examples if available?

Thank you in advance for your assistance.

 

Kind regards, Fabrizio

24 answers

Public
Fabrizio April 11, 2025

sorry, the attachment

Attachments:
Cattura.PNG

Public
Nadia Khodakivska Nadia Khodakivska Flexmonster April 11, 2025

Hello Fabrizio,

Thank you for reaching out to us.

We recommend using the customizeCell function to remove the collapse/expand arrows from the grid. The idea is to remove the expand icon from the cell and prevent the cell from clicking. You are welcome to check the following JSFiddle for reference: https://jsfiddle.net/flexmonster/xb86haov/

Please let us know if it works for you. Looking forward to hearing from you.

Kind regards,
Nadia

Public
Fabrizio April 15, 2025

Thank you Nadia, it's all ok!

Fabrizio

Public
Nadia Khodakivska Nadia Khodakivska Flexmonster April 15, 2025

Hello Fabrizio,

Thank you for the feedback!

Do not hesitate to contact us if other questions arise.

Kind regards,
Nadia

Public
Fabrizio April 22, 2025

Dear Nadia,

I hope this email finds you well. I'm writing regarding ticket about the pivot table functionality.

As shown in this video https://dev.goprofit.cloud/upload/2025-04-22_09h45_27.mp4 , there's still a minor issue with the grouping functionality. Even though we've made progress, there appears to be a problem with how the data is being aggregated when grouped.

Additionally, I have a question about implementing a specific calculation feature.

Currently, when I select a value from the dropdown, the pivot table reloads with data calculated by dividing one value by another. However, for the grouping phase, we need to implement a weighted average field.

To be clear, I'm not looking for a simple average of the displayed values, but rather a weighted average calculated as:

  • Sum of all values ÷ Sum of all divisors

Do you have any suggestions on how we might implement this weighted average calculation in the pivot table? This would greatly enhance the analytical capabilities of our report.

Thank you for your continued support on this project. I look forward to your insights.

 

Best regards,

Fabrizio

Public
Nadia Khodakivska Nadia Khodakivska Flexmonster April 23, 2025

Hello Fabrizio,

Thank you for the feedback!

Currently, Flexmonster does not allow complete disabling of the expand functionality. However, you can disable the pointing cursor using the CCS rules: pointer-events: none;.

To achieve a weighted average instead of a built-in average aggregation, we recommend creating calculated values. You are welcome to check our documentation for more details: https://www.flexmonster.com/doc/calculated-values/

Feel free to check the following JSFiddle for reference: https://jsfiddle.net/flexmonster/0tw5f3xh/

Please let us know if any questions arise.

Kind regards,
Nadia

Public
Fabrizio April 29, 2025

Here's your email translated from Italian to English:

Hello Nadia,

Thank you for your support. Unfortunately, I cannot find a way to apply the CSS, but I would say that this is not the right approach anyway since I need to display the weighted average in the case of collapse.

Unfortunately, the application of Flexmonster to our project has become, in my experience, quite complex, and I cannot achieve the desired result.

Does Flexmonster possibly provide personalized consulting on a specific client project? Obviously with paid support. If so, what are the procedures?

 

Thank you

Public
Nadia Khodakivska Nadia Khodakivska Flexmonster April 30, 2025

Hello Fabrizio,

Thank you so much for your feedback.

Although we don’t provide personalized consulting services for individual projects, our Tech team is always happy to assist you with detailed documentation, tailored recommendations, and relevant examples based on your needs. If you share your desired results, we will do our best to suggest ways to achieve them. We hope our guidance will help your team in the implementation process.

Our team would like more details about your use case. The first request was to remove the collapse arrow to restrict the display of only the Year field, so that the Month field is always expanded. We have prepared an example illustrating removing the collapse arrow: https://jsfiddle.net/flexmonster/gvuexy0o/. The CSS rules from the previous answer are used to prevent the cursor from changing when hovering on the cell with the expand button.

It is also possible to enable a read-only mode. In the read-only mode, you cannot interact with the report via UI (e.g., the context menu, expands, and drills are disabled). For example:

report: {
// other properies
options: {
readOnly: true
}
}

Please check the following JSFiddle for reference: https://jsfiddle.net/flexmonster/w2e6srz9/.

Regarding your question about “displaying the weighted average in the case of collapse,” could you please clarify what you mean by that? If we understood correctly, you only want to see expanded data (with the Month field), not collapsed. Additionally, it would be very helpful if you could share an example of how you intend to calculate the weighted average using your data.

Looking forward to hearing from you.

Kind regards,
Nadia

Public
Fabrizio May 6, 2025

Thank you, Nadia. Unfortunately, I wasn't able to apply the example. I'll take a few days to create a static page with HTML and JavaScript, and then I'll ask for your help in applying the weighted average code. Thank you.

Public
Nadia Khodakivska Nadia Khodakivska Flexmonster May 6, 2025

Hello Fabrizio,

Thank you for the reply.

We will be looking forward to hearing from you.

Kind regards,
Nadia

Public
Fabrizio May 13, 2025

Hi Nadia, I'm back

The system shows for each row the results for example of how much a hotel spent for example for drinks or for any other purchase. The rows, through G1 G2 G3 ... are grouped by successive categories.

For column we have the period Year/month.

Now I'll try to explain to you what is there and what I would like to obtain. In particular I would like that in case of DividiPerDato<>0 the row total disappears and the weighted average appears.

 

this is a portion of the JSON data loaded into the variable returned by getData:

 

[

    {

        "G1": "Reddito Netto",

        "G2": " EBITDA",

        "G3": "Profitto Operativo Lordo (GOP)",

        "G4": " Profitto dei Reparti Operativi",

        "G5": "Costi Operativi",

        "G6": " Camere",

        "Anno": "2025",

        "Mese": "Gennaio",

        "Valori": -12.168589872973305,

        "Livello": "L.5",

        "G7": "",

        "Link": "L.5 -7\/11",

        "G8": "",

        "G9": "",

        "G10": "",

        "G11": ""

    },

    {

        "G1": "Reddito Netto",

        "G2": " EBITDA",

        "G3": "Profitto Operativo Lordo (GOP)",

        "G4": " Profitto dei Reparti Operativi",

        "G5": "Costi Operativi",

        "G6": " Camere",

        "Anno": "2025",

        "Mese": "Febbraio",

        "Valori": 0,

        "Livello": "L.5",

        "G7": "",

        "Link": "L.5 -7\/11",

        "G8": "",

        "G9": "",

        "G10": "",

        "G11": ""

    },

 

...

 

As you can see, "Valori" contains the number to be shown in the Flexmonster pivot. It’s defined like this:

 

{

    "uniqueName": "[Measures]"

}

],

"measures": [{

    "uniqueName": "Valori",

    "aggregation": "sum",

    "format": "percformato"

}

 

What I actually need is:

 

When var DividiPerDato = 0, I want to keep using the same formula: "aggregation": "sum".

 

But when var DividiPerDato !== 0, I need to pass a new field that is the divisor, allowing me to:

 

Assuming I have:

var1 = 10, var2 = 20, divider1 = 100, divider2 = 100

Then I want to display:

res1 = var1 / divider1

res2 = var2 / divider2

These should be summed within the individual pivot cells.

 

The total weighted average, however, should be:

(res1 + res2) / (the divider for Year-Month, taken only once per month).

For the same Year-Month column, the divisor is always the same (e.g. 100 for January 2025, 200 for February 2025…).

 

I hope I make myself clear, it is difficult to explain.

Attached you will find the flexmonster.js used for the pivot.

 

Thanks

Public
Nadia Khodakivska Nadia Khodakivska Flexmonster May 13, 2025

Hello Fabrizio,

Thank you for getting back to us.

It seems that the flexmonster.js file was not attached. Could you please resend it?

Looking forward to hearing from you.

Kind regards,
Nadia

Public
Fabrizio May 13, 2025

try this

Public
Fabrizio May 13, 2025

zip file in attachment, thanks

Public
Nadia Khodakivska Nadia Khodakivska Flexmonster May 13, 2025

Hello Fabrizio,

Thank you for the provided code.

We recommend using the following approach:

1) Use the DividiPerDato value to create the measure to display on the grid based on the DividiPerDato value. If DividiPerDato === 0, the sum value of the "Valori" field will be shown, otherwise, the "Weighted Average" formula will be calculated. Please note that the divisor field should be added to your data source. For example:

var DividiPerDato = 1;
var measureValori = {};
if (DividiPerDato === 0) {
measureValori = {
uniqueName: "Valori",
aggregation: "sum",
}
} else {
measureValori = {
caption: "Weighted Average",
uniqueName: "weighted_avg",
formula: "sum('Valori') / sum('Divisor')",
}
}

2) Add the measure created based on DividiPerDato value to the slice.measures array:

slice: {
// rows and columns configs,
measures: [measureValori],
},

We have prepared the following JSFiddle for illustration: https://jsfiddle.net/flexmonster/7c1agm06/.

Please let us know if this approach works for you. Looking forward to hearing from you.

Kind regards,
Nadia

Public
Fabrizio May 13, 2025

Perfect, the DividiPerDato variable is dynamically changed by a select in the page. Can I define the "measureValori" variable dynamically? Finally, if the Year is not collapsed I need to show the total of the values ​​while if it is collapsed I need to show the weighted average.

Public
Nadia Khodakivska Nadia Khodakivska Flexmonster May 15, 2025

Hello Fabrizio,

Thank you for the response.

Please find our suggestions below:

Defining the "measureValori" variable dynamically

We recommend using the runQuery method on the select change. For instance, once you get the new DividiPerDato value, create a measure or formula based on the received value. Then, add the created measure to the slice, and set this slice using the runQuery API call. Please find more details in our documentation: https://www.flexmonster.com/api/runquery/

Show the total of the values or the weighted average based on collapse/expand

Similarly to the approach with the DividiPerDato value, we recommend using the reportchange event to track the changes in the report, for example, expanding or collapsing the cells. Once the reportchange event is triggered, you can use the getReport API call to check if the user has performed the expand or collapse action (the information is stored in the slice.expands object of the Report). Then, proceed with setting a corresponding "measureValori" value using the runQuery API call. Please note that the runQuery API call also triggers the reportchange event, so it is important to correctly sign on and off events. Feel free to use our documentation for reference:

We hope it helps. You are welcome to contact us if other questions arise.

Kind regards,
Nadia

Public
Fabrizio May 20, 2025

good morning Nadia,

I have correctly set measureValori and used the runQuery function as you suggested.

 

Now the problem that arises is only calculation, let me explain better.

 

in this example,

 

{

      G1: "Reddito Netto",

      G2: " EBITDA",

      G3: "Profitto Operativo Lordo (GOP)",

      G4: " Profitto dei Reparti Operativi",

      G5: "Costi Operativi",

      G6: " Camere",

      Anno: "2025",

      Mese: "Gennaio",

      Valori: 10,

      Divisor: 100,

      Livello: "L.5",

      G7: "",

      Link: "L.5 -7/11",

      G8: "",

      G9: "",

      G10: "",

      G11: "",

    },

    {

      G1: "Reddito Netto",

      G2: " EBITDA",

      G3: "Profitto Operativo Lordo (GOP)",

      G4: " Profitto dei Reparti Operativi",

      G5: "Costi Operativi",

      G6: " Camere",

      Anno: "2025",

      Mese: "Febbraio",

      Valori: 20,

      Divisor: 50,

      Livello: "L.5",

      G7: "",

      Link: "L.5 -7/11",

      G8: "",

      G9: "",

      G10: "",

      G11: "",

    },

if I add a value

,

    {

      G1: "Reddito Netto",

      G2: " EBITDA",

      G3: "Profitto Operativo Lordo (GOP)",

      G4: " Profitto dei Reparti Operativi",

      G5: "Costi Operativi",

      G6: " Camere",

      Anno: "2025",

      Mese: "Febbraio",

      Valori: 80,

      Divisor: 50,

      Livello: "L.5",

      G7: "",

      Link: "L.5 -7/11",

      G8: "",

      G9: "",

      G10: "",

      G11: "",

    },

that is, for the same grouping of G and Year-Month, the resulting value of the single cell should be

(20+80)/50 while through that formula it seems to become (20+80)/(50+50)

 

so for the average in the total column

it must do the average for single columns of Year-Month

ex. account G6: "Camere" values

{

Anno: 2025,

Mese:  "Febbraio",

Valori: 20,

Divisor: 50

}

{

Anno: 2025,

Mese:  "Febbraio",

Valori: 80,

Divisor: 50

}

 

{

Anno: 2025,

Mese:  "Gennaio",

Valori: 10,

Divisor: 100

}

 

{

Anno: 2025,

Mese:  "Gennaio",

Valori: 90,

Divisor: 100

}

Value in column "2025-Gennaio" = (90+10)/100

Value in column "2025-Febbraio" = (20+80)/50

 

Value in total column (90+10+20+80)/(100+50) (n° of columns present)

 

I hope I make myself clear, if you have any questions do not hesitate to ask

 

Thank you

Public
Nadia Khodakivska Nadia Khodakivska Flexmonster May 21, 2025

Hello,

Thank you for the response.

We are glad to hear that you have successfully implemented the suggested approach.

Regarding the first calculation issue, we recommend setting the individual property of the formula object to true. For example:

  measureValori = {
caption: "Weighted Average",
uniqueName: "weighted_avg",
formula: "sum('Valori') / sum('Divisor')",
individual: true
}

This way, the formula is calculated using raw values. Please check the following JSFiddle: https://jsfiddle.net/flexmonster/5uxwnjky/.

You are welcome to refer to the documentation for more details: https://www.flexmonster.com/api/measure-object/#individual.

Regarding the total column value, we want to explain that the totals of the calculated measure are calculated using the formula as well. It means that the totals are based on the "sum('Valori') / sum('Divisor')" formula and it cannot be changed.

Please let us know if any questions arise.

Kind regards,
Nadia

Public
Fabrizio May 22, 2025

Hi Nadia,

an example to simplify the problem:

 

Value1 Jan 100€; 3 people; Average 33€

Value2 Jan 100€; 5 people; Average 20€

Jan Arithmetic Average (33+20)/2 = 26,5€

 

Value1 Feb 120€; 4 people; Average 30€

Value2 Feb 125€; 5 people; Average 25€

Feb Arithmetic Average (33+20)/2 = 27,5€

 

Bimonthly Arithmetic Average (26,5+27,5)/2 = 27€

Bimonthly Weighted Average (100+100+120+125)/(3+5+4+5) = 26,17€

 

Is there any way, for us, to show 26,17€?

Could we manually add a column with Weighted Average Title and value?

 

I also wanted to ask you something else:

I pass strings like this into the G values:

 

  {

        "G1": "Reddito Netto",

        "G2": " EBITDA",

        "G3": "Profitto Operativo Lordo (GOP)",

        "G4": " Profitto dei Reparti Operativi",

        "G5": "Costi Operativi",

        "G6": " Camere",

        "Anno": "2025",

        "Mese": "Gennaio",

        "Valori": "-86.49424743652344",

        "Divisor": 0,

        "Livello": "L.5",

        "G7": "Masera 26|\/gest\/ricerca.php?Azione=ricerca_movimenti_passivi&ParametroRicerca=1&DataCampoTabella=DataCompetenza&CostoRicavo=C&NumeroStrutture=1&id_strutture_concat_work=6&MetaDa=1&MeseDa=1&AnnoDa=2025&ValorePeriodo=4&id_reparti_369=369",

        "G8": "Abbonamenti e Iscrizioni|\/gest\/ricerca.php?Azione=ricerca_movimenti_passivi&ParametroRicerca=1&DataCampoTabella=DataCompetenza&CostoRicavo=C&NumeroStrutture=1&id_strutture_concat_work=6&MetaDa=1&MeseDa=1&AnnoDa=2025&ValorePeriodo=4&id_conti=4175",

        "G9": "Rai|\/gest\/ricerca.php?Azione=ricerca_movimenti_passivi&ParametroRicerca=1&DataCampoTabella=DataCompetenza&CostoRicavo=C&NumeroStrutture=1&id_strutture_concat_work=6&MetaDa=1&MeseDa=1&AnnoDa=2025&ValorePeriodo=4&id_conti=4175&id_fornitori=10830",

        "Link": "L.5 -10\/11",

        "G10": "",

        "G11": ""

    },

In this way then inside customizeCellFunction with the following function I make sure that the value shown comes from the first part of the string before the character | and the second part becomes a link.

 

function customizeCellFunction(cell, data) {

 

    // console.log("ENTRO in customizeCellFunction");

 

    if (data.level != undefined) cell.addClass("fm-livello-" + data.level);

 

    if (data.type == "value" && !isNaN(data.value) && data.value < 0) cell.addClass("flexmonster-cella-valore-negativo");

 

    if (data && data.type == "header" &&

        data.member && data.label == " ") {

        let parentName = data.rows[0].parentMember;

        let members = flexmonster.getMembers("G");

        cell.text = recursiveSearch(members, parentName)

    }

 

    // console.log(data.escapedLabel);

 

    if ((data.escapedLabel).includes('|')) {

 

        // console.log('customizeCell trovata pipe', cell, data);

 

        let arr = (data.escapedLabel).split('|');

 

        cell.text = <a href="${arr[1]}" target="_blank" class="link" onclick="preventExpand(event)">${arr[0]}</a>;

 

    }

 

 

}

 

However, during the export to Excel the value is not cut. It would be enough for me to have the first part of the string in Excel, that is, the part before the character |, I'm not interested in the link in Excel.

 

Do you have any ideas about this?

Public
Nadia Khodakivska Nadia Khodakivska Flexmonster May 23, 2025

Hello Fabrizio,

Thank you for the response.

You are welcome to check our answers below:

Weighted Average

To show the 26,17€ value in the total cell, you can set the individual property of the formula object to false. However, this will also change the display of the other values (the calculation issue we discussed in the previous response). Since the defined formula is the same for all the values, including totals, there is no option for defining another calculation for the total. Please consider using one of the two suggested approaches:

1) with the individual: false:

February Weighted Average (120+125)/(4+5) = 27,2

Bimonthly Weighted Average (100+100+120+125)/(3+5+4+5) = 26,17

2) with the individual: true:

February Weighted Average 120/4+125/5 = 55

Bimonthly Weighted Average 100/3+100/5+120/4+125/5 = 108,3

Export to Excel

You can use export customization and follow these steps to customize the exported file:

  1. Use the destinationType: "plain" parameter of the exportTo() API call to retrieve the grid content as a Uint8Array returned in the callbackHandler.
  2. Use a 3rd party library (e.g., SheetJS) to process the resulting Uint8Array and remove the part after the | character for this field.

We hope that the information provided is helpful.

Best regards,
Nadia

Public
Fabrizio June 5, 2025

Hi Nadia, I have integrated the function that allows me to dynamically modify the formula

 

function getMeasureValori(DividiPerDato) {

 

    if (DividiPerDato == 0) {

 

        console.log("Valori normali");

 

        return [{

 

                "uniqueName": "Valori",

 

                "aggregation": "sum",

 

                "format": "euroformato",

 

                "individual": true

 

            }];

 

    } else {

 

        return [{

 

                "caption": "Media",

 

                "uniqueName": "weighted_avg",

 

                "formula": "if(sum('Divisor') != 0, sum('Valori') / sum('Divisor'), 0)",

 

                "format": "euroformato",

 

                "individual": true

 

            }];

 

    }

 

}

 

 

 

in this way the system does the runQuery and changes the values. The value of the pivot cells is correct in the calculations, but the "totals" column on the right, as in the screen I attach, does not do the weighted average but the sum of the columns

 

I also provide you with the json of the data used

 

[

 

    {

 

        "G1": "Reddito Netto",

 

        "G2": " EBITDA",

 

        "G3": "Profitto Operativo Lordo (GOP)",

 

        "G4": " Profitto dei Reparti Operativi",

 

        "G5": "Costi Operativi",

 

        "G6": " Camere",

 

        "Anno": "2026",

 

        "Mese": "Gennaio",

 

        "Valori": "-105.08476305007935",

 

        "Divisor": "28.000000",

 

        "Livello": "L.5",

 

        "G7": "Camere|\/gest\/ricerca.php?Azione=ricerca_movimenti_passivi&ParametroRicerca=1&DataCampoTabella=DataCompetenza&CostoRicavo=C&NumeroStrutture=1&id_strutture_concat_work=0,37&MetaDa=1&MeseDa=1&AnnoDa=2026&ValorePeriodo=2&id_reparti_369=369",

 

        "G8": "",

 

        "Link": "L.5 -8\/11",

 

        "G9": "",

 

        "G10": "",

 

        "G11": ""

 

    },

 

    {

 

        "G1": "Reddito Netto",

 

        "G2": " EBITDA",

 

        "G3": "Profitto Operativo Lordo (GOP)",

 

        "G4": " Profitto dei Reparti Operativi",

 

        "G5": "Costi Operativi",

 

        "G6": " Camere",

 

        "Anno": "2026",

 

        "Mese": "Febbraio",

 

        "Valori": "-94.91526985168457",

 

        "Divisor": "35.000000",

 

        "Livello": "L.5",

 

        "G7": "Camere|\/gest\/ricerca.php?Azione=ricerca_movimenti_passivi&ParametroRicerca=1&DataCampoTabella=DataCompetenza&CostoRicavo=C&NumeroStrutture=1&id_strutture_concat_work=0,37&MetaDa=1&MeseDa=1&AnnoDa=2026&ValorePeriodo=2&id_reparti_369=369",

 

        "G8": "",

 

        "Link": "L.5 -8\/11",

 

        "G9": "",

 

        "G10": "",

 

        "G11": ""

 

    },

 

    {

 

        "G1": "Reddito Netto",

 

        "G2": " EBITDA",

 

        "G3": "Profitto Operativo Lordo (GOP)",

 

        "G4": " Profitto dei Reparti Operativi",

 

        "G5": "Costi Operativi",

 

        "G6": "Alimenti e Bevande",

 

        "G7": "Bar",

 

        "Anno": "2026",

 

        "Mese": "Febbraio",

 

        "Valori": "-150.00000190734863",

 

        "Divisor": "35.000000",

 

        "Livello": "L.6",

 

        "G8": "",

 

        "G9": "",

 

        "G10": "",

 

        "G11": ""

 

    },

 

    {

 

        "G1": "Reddito Netto",

 

        "G2": " EBITDA",

 

        "G3": "Profitto Operativo Lordo (GOP)",

 

        "G4": " Profitto dei Reparti Operativi",

 

        "G5": "Costi Operativi",

 

        "G6": "Alimenti e Bevande",

 

        "G7": "Ristorante",

 

        "Anno": "2026",

 

        "Mese": "Gennaio",

 

        "Valori": "-299.99997997283936",

 

        "Divisor": "28.000000",

 

        "Livello": "L.6",

 

        "G8": "",

 

        "G9": "",

 

        "G10": "",

 

        "G11": ""

 

    },

 

    {

 

        "G1": "Reddito Netto",

 

        "G2": " EBITDA",

 

        "G3": "Profitto Operativo Lordo (GOP)",

 

        "G4": " Profitto dei Reparti Operativi",

 

        "G5": "Costi Operativi",

 

        "G6": "Alimenti e Bevande",

 

        "G7": "Ristorante",

 

        "Anno": "2026",

 

        "Mese": "Febbraio",

 

        "Valori": "-24.999996423721313",

 

        "Divisor": "35.000000",

 

        "Livello": "L.6",

 

        "G8": "",

 

        "G9": "",

 

        "G10": "",

 

        "G11": ""

 

    },

 

    {

 

        "G1": "Reddito Netto",

 

        "G2": " EBITDA",

 

        "G3": "Profitto Operativo Lordo (GOP)",

 

        "G4": " Profitto dei Reparti Operativi",

 

        "G5": " Ricavi Operativi",

 

        "G6": " Camere",

 

        "Anno": "2026",

 

        "Mese": "Gennaio",

 

        "Valori": "1000",

 

        "Divisor": "28.000000",

 

        "Livello": "L.5",

 

        "G7": "Camere|\/gest\/ricerca.php?Azione=ricerca_movimenti_passivi&ParametroRicerca=1&DataCampoTabella=DataCompetenza&CostoRicavo=C&NumeroStrutture=1&id_strutture_concat_work=0,37&MetaDa=1&MeseDa=1&AnnoDa=2026&ValorePeriodo=2&id_reparti_369=369",

 

        "G8": "",

 

        "Link": "L.5 -8\/11",

 

        "G9": "",

 

        "G10": "",

 

        "G11": ""

 

    },

 

    {

 

        "G1": "Reddito Netto",

 

        "G2": " EBITDA",

 

        "G3": "Profitto Operativo Lordo (GOP)",

 

        "G4": " Profitto dei Reparti Operativi",

 

        "G5": " Ricavi Operativi",

 

        "G6": " Camere",

 

        "Anno": "2026",

 

        "Mese": "Febbraio",

 

        "Valori": "1100",

 

        "Divisor": "35.000000",

 

        "Livello": "L.5",

 

        "G7": "Camere|\/gest\/ricerca.php?Azione=ricerca_movimenti_passivi&ParametroRicerca=1&DataCampoTabella=DataCompetenza&CostoRicavo=C&NumeroStrutture=1&id_strutture_concat_work=0,37&MetaDa=1&MeseDa=1&AnnoDa=2026&ValorePeriodo=2&id_reparti_369=369",

 

        "G8": "",

 

        "Link": "L.5 -8\/11",

 

        "G9": "",

 

        "G10": "",

 

        "G11": ""

 

    },

 

    {

 

        "G1": "Reddito Netto",

 

        "G2": " EBITDA",

 

        "G3": "Profitto Operativo Lordo (GOP)",

 

        "G4": " Profitto dei Reparti Operativi",

 

        "G5": " Ricavi Operativi",

 

        "G6": " Camere",

 

        "Anno": "2026",

 

        "Mese": "Febbraio",

 

        "Valori": "300",

 

        "Divisor": "35.000000",

 

        "Livello": "L.5",

 

        "G7": "Camere|\/gest\/ricerca.php?Azione=ricerca_movimenti_passivi&ParametroRicerca=1&DataCampoTabella=DataCompetenza&CostoRicavo=C&NumeroStrutture=1&id_strutture_concat_work=0,37&MetaDa=1&MeseDa=1&AnnoDa=2026&ValorePeriodo=2&id_reparti_369=369",

 

        "G8": "",

 

        "Link": "L.5 -8\/11",

 

        "G9": "",

 

        "G10": "",

 

        "G11": ""

 

    },

 

    {

 

        "G1": "Reddito Netto",

 

        "G2": " EBITDA",

 

        "G3": "Profitto Operativo Lordo (GOP)",

 

        "G4": " Profitto dei Reparti Operativi",

 

        "G5": " Ricavi Operativi",

 

        "G6": "Alimenti e Bevande",

 

        "G7": "Bar",

 

        "Anno": "2026",

 

        "Mese": "Gennaio",

 

        "Valori": "200",

 

        "Divisor": "28.000000",

 

        "Livello": "L.6",

 

        "G8": "",

 

        "G9": "",

 

        "G10": "",

 

        "G11": ""

 

    },

 

    {

 

        "G1": "Reddito Netto",

 

        "G2": " EBITDA",

 

        "G3": "Profitto Operativo Lordo (GOP)",

 

        "G4": " Profitto dei Reparti Operativi",

 

        "G5": " Ricavi Operativi",

 

        "G6": "Alimenti e Bevande",

 

        "G7": "Bar",

 

        "Anno": "2026",

 

        "Mese": "Febbraio",

 

        "Valori": "300",

 

        "Divisor": "35.000000",

 

        "Livello": "L.6",

 

        "G8": "",

 

        "G9": "",

 

        "G10": "",

 

        "G11": ""

 

    },

 

    {

 

        "G1": "Reddito Netto",

 

        "G2": " EBITDA",

 

        "G3": "Profitto Operativo Lordo (GOP)",

 

        "G4": " Profitto dei Reparti Operativi",

 

        "G5": " Ricavi Operativi",

 

        "G6": "Alimenti e Bevande",

 

        "G7": "Ristorante",

 

        "Anno": "2026",

 

        "Mese": "Gennaio",

 

        "Valori": "600",

 

        "Divisor": "28.000000",

 

        "Livello": "L.6",

 

        "G8": "",

 

        "G9": "",

 

        "G10": "",

 

        "G11": ""

 

    },

 

    {

 

        "G1": "Reddito Netto",

 

        "G2": " EBITDA",

 

        "G3": "Profitto Operativo Lordo (GOP)",

 

        "G4": " Profitto dei Reparti Operativi",

 

        "G5": " Ricavi Operativi",

 

        "G6": "Alimenti e Bevande",

 

        "G7": "Ristorante",

 

        "Anno": "2026",

 

        "Mese": "Febbraio",

 

        "Valori": "500",

 

        "Divisor": "35.000000",

 

        "Livello": "L.6",

 

        "G8": "",

 

        "G9": "",

 

        "G10": "",

 

        "G11": ""

 

    }

 

]

 

Attachments:
screen_average.png

Public
Maksym Diachenko Maksym Diachenko Flexmonster June 5, 2025

Hello, Fabrizio!

Thank you for your reply.

Note that the formula behavior you are describing is expected. When using individual: true, the formula is calculated by summing the formula result performed on each data row one by one. Hence, the total value would essentially be a sum of its subtotals, or, in your case, the sum of subtotals for each month ("Mese" hierarchy).

To better assist you, please describe what result you expect in "Totals"? This will help us understand your use case and provide the most appropriate solution or alternative approach.

Looking forward to hearing from you.

Best regards,
Maksym

Public
Maksym Diachenko Maksym Diachenko Flexmonster 2 days ago

Hello, Fabrizio!

Hope you are doing well.
Our team would like to know if you need further assistance configuring calculated values.
Looking forward to hearing your reply.

Best Regards,
Maksym

Please login or Register to Submit Answer