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.