Power BI · मराठी आवृत्ती
5.3 अनेक pages आणूया: pagination
काही websites किंवा APIs data page=1, page=2 अशा भागांत देतात. आधी एका page ची query तयार करा, तिचं function करा आणि page numbers च्या list साठी ते चालवा. खाली example.com हा काल्पनिक source आहे.
- Page 1 ची query तयार करून data clean करा.
- Home › Manage Parameters › New Parameter मध्ये PageNo, Decimal Number, Current Value 1 द्या.
- Advanced Editor मध्ये hard-coded page number ऐवजी parameter वापरा.
- Queries pane मध्ये right-click › Create Function… › fnGetStoresPage नाव द्या. Linked query बदलली तर function सुद्धा update होतं.
- New Source › Blank Query मध्ये
= {1..5}द्या. To Table करून column Page नावाने Whole Number ठेवा. - Add Column › Invoke Custom Function मध्ये fnGetStoresPage आणि PageNo साठी Page column निवडा.
- नव्या table column चं expand icon वापरून fields उघडा.
// fnGetStoresPage
(PageNo as number) as table =>
let
Source = Web.Contents("https://example.com",
[RelativePath = "darkstores", Query = [page = Text.From(PageNo)]]),
Page = Html.Table(Text.FromBinary(Source), {{"Store", ".store-name"}, {"City", ".store-city"}},
[RowSelector = ".store-card"])
in
Page
Service refresh साठी base URL स्थिर ठेवा
पूर्ण URL concatenate करण्याऐवजी Web.Contents("https://example.com", [RelativePath = …, Query = […]]) वापरा. Service ला source validate करता येणं आवश्यक असतं; dynamic data source error येऊ शकतो.
Practice
आधी pages 1–3 आणा. मग शेवटचा page number MaxPage parameter मध्ये ठेवा आणि {1..MaxPage} वापरा. API total page count देत असेल तर त्यावरून list ठरवता येते.