Report in PowerBI laat verschillende waarden zien.
Het gaat om omzet cijfers uit 2023. Deze veranderen, keer op keer en er klopt iedere keer een andere maand niet. Er wordt niet meer geboekt in Odoo in dat jaar, dus dat is uitgesloten.
Issue heb ik al eerder aan de hand gehad, en toen was de oplossing om de cache te resetten. Helaas bied dit nu geen oplossing. Iemand ideeen?
Advies om dit probleem te analyseren is het terugbrengen tot een query waarvan de resultaten wisselen. Dit kan gebeuren door iemand met een boekhoudkundige achtergrond.
Een dergelijke query kan behalve een UniversalSQL-query ook een Power Query-query zijn. De bijbehorende UniversalSQL-query is dan te zien in Bridge Online Monitoring.
De verwachting is dat een bug is in hetzij de Power Query-nabewerking of in Odoo. Invantive UniversalSQL past alleen de meegegeven filters toe.
In bijzondere gevallen gaat dat toepassen fout (zie bijvoorbeeld Verkeerd aantal rijen bij gebruik van join en left outer join), maar dergelijke complexe queries met 4 tabellen en een mix van veldfilters en left outer join zal nooit voorkomen op Bridge Online. Op Bridge Online is het alleen een enkele tabel, eventueel met een where-clause.
We hebben onderstaande geprobeerd in de UniversalSQL van invantive online
select sum(amount_total) as amount_total
, sum(amount_total_signed) as amount_total_signed
from Odoo.account.move
where invoice_date is not null
and year(invoice_date) = 2023
and month(invoice_date)=3
limit 10
Echter krijgen we time out foutmelding (meer dan 900 seconden nodig om uit te voeren).
Afhankelijk van het datavolume zal deze query een foutmelding geven zoals nu opgesteld. Er wordt gefilterd op invoice_date, maar NA toepassing van een SQL-functie. Dit blokkeert het doorgeven van het filter aan Odoo. Zie server-side filtering.
De limit 10 wordt pas toegepast na het bereken van de totalen (“groepfunctie”) en leidt niet tot beperken datavolume. De groepsfunctie zal ook maar 1 rij teruggeven, waardoor de limit 10 feitelijk geen toegevoegde waarde heeft.
Advies is om de query te herschrijven naar zoiets als:
select sum(amount_total) as amount_total
, sum(amount_total_signed) as amount_total_signed
from Odoo.account.move
where invoice_date >= to_date('20230301', 'YYYYMMDD')
and invoice_date < to_date('20230401', 'YYYYMMDD')
Deze query kan nog steeds langer duren dan toegestaan op Invantive Cloud, maar zal significant minder data ophalen bij Odoo om tot een uitkomst te komen.
Deze vraag is automatisch gesloten na 1 week inactiviteit. Het laatste gegeven antwoord is gemarkeerd als oplossing.
Gelieve een nieuwe vraag te stellen via een apart topic als het probleem opnieuw optreedt. Gelieve in de nieuwe vraag een link naar dit topic op te nemen door de URL er van in de tekst te plakken.