Sales forecast / verkoopprognose tabel benaderen

Ik wil graag de salesdorecast tabel benaderen vanuit Power BI of Excel, maar ik kan de tabel niet vinden in de OData tabellenlijst. Het menupad is Voorraad/Artikelen/Planning/Verkoopprognose

De sales forecast is een problematische tabel om uit te lezen op Exact Online.

Er is namelijk geen manier om de lijst van sales forecasts op te vragen met hun unieke sleutels, maar er is wel een manier om de gegevens van een sales forecast op te vragen zodra de unieke sleutel bekend is.

Het maken van een query op sales forecasts gaat in twee stappen:

  • Bepaal de unieke sleutels,
  • Maak een views om de gegevens in Power BI uit te lezen.

Bepaal unieke sleutel Exact Online Sales forecast

Voor het bepalen van de unieke sleutel(s) voor gebruik met de Exact Online API voer je de volgende stappen uit:

  • Open de Chrome browser.
  • Meld aan op Exact Online.
  • Ga naar Import/Export.
  • Ga naar een willekeurige XML Export.
  • Kies het topic “Sales forecasts”.
  • Kies de Sales forecast bij Filter (rode 3).
  • Kies F12; de Devtools worden geopend.
  • Kies de “Export” button.

  • Ga naar Devtools.
  • Kies de tab “Network”.
  • Voer het filter “XMLDownloadPages.aspx” in.
  • Op de overgebleven link rechtsklikken.
  • Kies Copy → Copy link address.

  • Op het klembord staat nu bijvoorbeeld:
https://start.exactonline.nl/docs/XMLDownloadPages.aspx?Mode=1&Topic=SalesForecasts&Backwards=0&PagedFromUI=1&Params%24SalesForecast=%7bb0e6ecdd-abb9-4d5e-b9ff-b35b00d5c969%7d&Params%24ForecastPeriod%24From=++-++-++++&Params%24ForecastPeriod%24To=++-++-++++&_Division_=868056&IsModal=1&BeginModalCallStack=1&_CSL_=2
  • Lokaliseer de tekst “SalesForecast=%7b”.
  • Kopieer de tekst NA “7b” en VOOR “%7d” naar het klembord.
  • Op het klembord staat nu bijvoorbeeld:
b0e6ecdd-abb9-4d5e-b9ff-b35b00d5c969

Salesforecast views

Voeg vervolgens bij de On Startup SQL een aantal views toe om de gegevens beschikbaar te krijgen als tabel in Power BI:

create or replace view SalesForecastParameters
as
select 868056 division
,      '{b0e6ecdd-abb9-4d5e-b9ff-b35b00d5c969}' id
--union all
--select 868056 division
--,      'b0e6ecdd-abb9-4d5e-b9ff-b35b00d5c969' id
;
create or replace view SalesForecasts
as
select sfr.*
,      t.*
from   SalesForecastParameters@DataDictionary sfr
join   ExactOnlineXML..SalesForecastsEx(division => sfr.division, Params_SalesForecast => sfr.id)@eol t
;
create or replace view SalesForecastItems
as
select sft.division
,      sft.id
,      t.*
from   SalesForecasts@DataDictionary sft
join   ExactOnlineXML..SalesForecastItemsEx( division => sft.division
       , Params_SalesForecast => sft.id
       , Params_ForecastPeriod_From => sft.YearPeriodFrom_Period_Attr
       , Params_ForecastPeriod_To => sft.YearPeriodTo_Period_Attr
       )@eol t
;
create or replace view SalesForecastItemDetails
as
select sft.division
,      sft.id
,      t.*
from   SalesForecasts@DataDictionary sft
join   ExactOnlineXML..SalesForecastItemDetailsEx( division => sft.division
       , Params_SalesForecast => sft.id
       , Params_ForecastPeriod_From => sft.YearPeriodFrom_Period_Attr
       , Params_ForecastPeriod_To => sft.YearPeriodTo_Period_Attr
       )@eol t
;

Om de nieuwe views te activeren kan het nodig zijn om de cache te resetten op Bridge Online zoals beschreven in Eigen database-views gebruiken voor SQL en BI-tools.

Deze vraag is automatisch gesloten na tenminste 2 weken inactiviteit nadat een mogelijk passend antwoord is gegeven. 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.