Hello, i do have a Problem based on this Metadata JSON:
"slice": {
"reportFilters": [
{
"uniqueName": "fiBookingPos_bookingDateMonth",
"caption": "Monat"
},
{
"uniqueName": "fiBookingBook_aName",
"caption": "Buch",
"filter": {
"members": [
"fibookingbook_aname.[hauptbuch]"
]
}
},
{
"uniqueName": "fiAccountType_aName",
"caption": "Typ",
"filter": {
"exclude": [
"fiaccounttype_aname.[personenkonto kreditor]",
"fiaccounttype_aname.[personenkonto debitor]"
]
}
},
{
"uniqueName": "CostCenter_aName",
"caption": "Kostenstelle"
},
{
"uniqueName": "CostUnit_aName",
"caption": "Kostenträger"
},
{
"uniqueName": "fiAccountChart",
"caption": "Kontenrahmen"
},
{
"uniqueName": "CostKind_aName",
"caption": "Kostenart"
},
{
"uniqueName": "CostProject_aName",
"caption": "Kostenprojekt"
},
{
"uniqueName": "fiAccountCat_aName",
"caption": "Kontoklasse"
},
{
"uniqueName": "fiAccount_isTaxable",
"caption": "Steuerbar"
},
{
"uniqueName": "fiTaxCode_aName",
"caption": "Steuercode"
},
{
"uniqueName": "fiBookingCode_aName",
"caption": "BuCode"
},
{
"uniqueName": "fiAccount_CRMPartnerSID_true_false",
"caption": "Personenkonto"
}
],
"rows": [
{
"uniqueName": "fiAccGrouping0",
"caption": "Gliederungsart",
"filter": {
"members": [
"fiaccgrouping0.[db rechnung - fabular.]"
]
}
},
{
"uniqueName": "fiAccGrouping1",
"caption": "Gliederungsebene 1"
},
{
"uniqueName": "fiAccGrouping2",
"caption": "Gliederungsebene 2"
},
{
"uniqueName": "fiAccGrouping3",
"caption": "Gliederungsebene 3"
},
{
"uniqueName": "fiAccGrouping4",
"caption": "Gliederungsebene 4"
},
{
"uniqueName": "fiAccGrouping5",
"caption": "Gliederungsebene 5"
},
{
"uniqueName": "fiAccount_aName",
"caption": "Bezeichnung"
},
{
"uniqueName": "fiAccount_accountID",
"caption": "Konto"
}
],
"columns": [
{
"uniqueName": "FiBookingPeriod_Year",
"caption": "Buchungsperiode Jahr",
"filter": {
"members": [
"fibookingperiod_year.[2023]",
"fibookingperiod_year.[2024]",
"fibookingperiod_year.[2022]",
"fibookingperiod_year.[2021]"
]
}
},
{
"uniqueName": "FiBookingPeriod_aName",
"caption": "Buchungsperiode"
},
{
"uniqueName": "[Measures]"
}
],
"measures": [
{
"uniqueName": "fiBookingPos_Debit",
"aggregation": "sum",
"caption": "Soll"
},
{
"uniqueName": "fiBookingPos_Credit",
"aggregation": "sum",
"caption": "Haben"
},
{
"uniqueName": "fiBookingPos_valueNet",
"aggregation": "sum",
"caption": "Wert"
},
{
"uniqueName": "fiBookingPos_valueNet",
"aggregation": "runningtotalsofcolumn",
"caption": "Wert"
},
{
"uniqueName": "fiBookingPos_valueNet",
"aggregation": "%differenceofrow",
"caption": "Wert"
}
],
"expands": {
"rows": [
{
"tuple": [
"fiaccgrouping0.[db rechnung - fabular.]"
]
},
{
"tuple": [
"fiaccgrouping0.[bilanz]"
]
},
{
"tuple": [
"fiaccgrouping0.[bilanz]",
"fiaccgrouping1.[passivseite]"
]
},
{
"tuple": [
"fiaccgrouping0.[bilanz]",
"fiaccgrouping1.[aktivseite]"
]
},
{
"tuple": [
"fiaccgrouping0.[db rechnung - fabular.]",
"fiaccgrouping1.[01. warenrohgewinn]"
]
},
{
"tuple": [
"fiaccgrouping0.[db rechnung - fabular.]",
"fiaccgrouping1.[02. db artikel]"
]
},
{
"tuple": [
"fiaccgrouping0.[db rechnung - fabular.]",
"fiaccgrouping1.[03. deckungsbeitrag i]"
]
},
{
"tuple": [
"fiaccgrouping0.[db rechnung - fabular.]",
"fiaccgrouping1.[04. db ii]"
]
}
]
}
},
My Frontend creates based on this MetaData 5 Requests, but i don´t unterstand how its doing, here just one smaple Request:
{
"index": "5027",
"page": 0,
"query": {
"aggs": {
"by": {
"cols": [
{
"uniquename": "fibookingperiod_year"
}
],
"rows": [
{
"uniquename": "fiaccgrouping0"
},
{
"uniquename": "fiaccgrouping1"
},
{
"uniquename": "fiaccgrouping2"
}
]
},
"values": [
{
"func": {
"value": "sum"
},
"field": {
"uniquename": "fibookingpos_debit"
}
},
{
"func": {
"value": "sum"
},
"field": {
"uniquename": "fibookingpos_credit"
}
},
{
"func": {
"value": "sum"
},
"field": {
"uniquename": "fibookingpos_valuenet"
}
}
]
},
"filter": [
{
"field": {
"uniquename": "fiaccgrouping0"
},
"include": [
{
"member": "db rechnung - fabular."
},
{
"member": "db rechnung - fabular."
}
]
},
{
"field": {
"uniquename": "fiaccgrouping1"
},
"include": [
{
"member": "04. db ii"
}
]
},
{
"field": {
"uniquename": "fibookingperiod_year"
},
"include": [
{
"member": "2023"
},
{
"member": "2024"
},
{
"member": "2022"
},
{
"member": "2021"
}
]
},
{
"field": {
"uniquename": "fibookingbook_aname"
},
"include": [
{
"member": "hauptbuch"
}
]
},
{
"field": {
"uniquename": "fiaccounttype_aname"
},
"exclude": [
{
"member": "personenkonto kreditor"
},
{
"member": "personenkonto debitor"
}
]
}
]
},
"type": "select",
"params": {
"preventselect": false
},
"querytype": "expand"
}
I try to build a Backend automation, which creates these Reqeusts and Caches them, so i can provide a better Performance.
Thanks a lot for help.
All the best, mathias
Hello, Mathias!
Thank you for reaching out to us.
Kindly note that Flexmonster sends separate /select
requests with querytype
expand
/drillDown
for each expanded node in the grid. You can read more about the requests sent by Flexmonster in our docs: https://www.flexmonster.com/api/select-request-for-pivot-table/.
We also recommend the following approaches to improve the performance with the custom data source API:
Hope you will find our answer helpful. Feel free to ask if there are any further questions.
Kind regards,
Solomiia