Bendrinti naudojant


ER ORDERBY funkcija

Funkcija ORDERBY grąžina nurodytą sąrašą kaip įrašų sąrašo vertę po to, kai ji surūšiuota pagal nurodytus argumentus. Šiuos argumentus galima apibrėžti kaip išraiškas.

Sintaksė 1

ORDERBY (list, expression 1[, expression 2, …, expression N])

Sintaksė 2

ORDERBY (location, list, expression 1[, expression 2, …, expression N])

Banknotas

Ši sintaksė palaikoma Microsoft Dynamics 365 10.0.25 ir vėlesnės finansinės versijos.

Argumentai

location: Eilutė

Vieta, kurioje turi būti vykdomas rūšiavimas. Galimos šios pasirinktys:

  • "Užklausa"
  • "InMemory"

list: Įrašų sąrašas

Tinkamas įrašų sąrašo duomenų tipo duomenų šaltinio maršrutas.

expression 1: Laukas

Galiojantis duomenų šaltinio lauko maršrutas, kurį nurodo iškviestos list funkcijos argumentas. Nurodytas laukas turi būti primityviojo duomenų tipo. Šis argumentas yra būtinas.

expression N: Laukas

Galiojantis duomenų šaltinio lauko maršrutas, kurį nurodo iškviestos list funkcijos argumentas. Nurodytas laukas turi būti primityviojo duomenų tipo. Šie papildomi argumentai yra pasirinktiniai.

Grįžimo vertės

Įrašų sąrašas

Gautas įrašų sąrašas.

Naudojimo pastabos

Sintaksė 1

Duomenų rūšiavimas visada atliekamas programos serverio atmintyje. Daugiau informacijos ieškokite 1 pavyzdyje.

Sintaksė 2

Rūšiavimas atmintyje

location Kai argumentas nurodomas kaip InMemory, duomenų rūšiavimas atliekamas programos serverio atmintyje. Daugiau informacijos ieškokite 2 pavyzdyje.

Duomenų bazės rūšiavimas

Kai argumentas location nurodomas kaip Užklausa , duomenų rūšiavimas atliekamas duomenų bazės lygiu. Tokiu atveju argumentas turi list nurodyti vieną iš šių elektroninių ataskaitų (ER) duomenų šaltinių, kurie nurodo programos šaltinį, dėl kurių gali būti nustatyta tiesioginė duomenų bazės užklausa:

  • Lentelės įrašų tipo duomenų šaltinis
  • Lentelės įrašų tipo duomenų šaltinio ryšys
  • Skaičiavimo lauko tipo duomenų šaltinis

Argumentai expression 1 turi expression N nurodyti ER duomenų šaltinio laukus, kurie nurodo atitinkamus programos šaltinio laukus, už kuriuos taip pat galima nustatyti tiesioginės duomenų bazės užklausą.

Jei nepavyksta sukurti tiesioginės duomenų bazės užklausos, ER modelio susiejimo kūrimo įrankyje įvyksta tikrinimo klaida. Pranešimas, kurį gaunate, reiškia, kad ER išraiškos ORDERBY , kurioje yra ši funkcija, negalima vykdyti vykdyklėje.

Kad našumas būtų geresnė, rekomenduojame naudoti pasirinktį Užklausa, kai rūšiavimas konfigūruojamas programos duomenų šaltiniams, kuriuose gali būti daug įrašų (pvz., operacijų programos lentelės).

Banknotas

Pačios ORDEBY funkcijos negalima išversti į tiesioginę duomenų bazės užklausą. Todėl ER duomenų šaltinis, kuriame yra ši funkcija, nėra užklausuojamas. Jo taip pat negalima naudoti ER funkcijų, pvz., FILTERir ALLITEMSQUERY, apimtis, kur galima naudoti tik užklausuojamus duomenų šaltinius.

Daugiau informacijos ieškokite 3 ir4 pavyzdyje.

Palyginamumą

SQL duomenų bazės modulis ir „Finance“ programos serveris gali naudoti skirtingą vieno simbolio vertinimo reikšmę, todėl kai rikiuojant naudojamas Eilutės laukas, to paties įrašų sąrašo rikiavimo rezultatas gali skirtis. Daugiau informacijos ieškokite 5 pavyzdyje.

1 pavyzdys: numatytasis ne atminties vykdymas

Jei įvedate apskaičiavimo lauko tipo duomenų šaltinio DS ir jame yra išraiška SPLIT ("C|B|A", "|"), išraiška FIRST( ORDERBY( DS, DS. Value)).Value grąžina teksto vertę A.

2 pavyzdys: Tiesioginis vykdymas ne atminties

Jei tiekėjas sukonfigūruotas kaip lentelės įrašų tipo, kuris nurodo VendTable lentelę, ER duomenų šaltinis, išraiška ir išraiška grąžina tiekėjų sąrašą, ORDERBY (Vendor, Vendor.'name()')ORDERBY ("InMemory", Vendor, Vendor.'name()') kuris surūšiuotas pagal pavadinimą didėjančia tvarka.

Konfigūruojant ORDERBY ("Query", Vendor, Vendor.'name()') išraišką ER modelio susiejimo kūrimo įrankyje, kūrimo metu įvyksta tikrinimo klaida, nes Vendor.'name()' kelias nurodo programos metodą, kurio logikos negalima konvertuoti į tiesioginę duomenų bazės užklausą.

3 pavyzdys: Duomenų bazės užklausa

Jei TaxTransaction sukonfigūruotas kaip lentelės įrašų tipo, kuris nurodo lentelę TaxTrans , ER duomenų šaltinis, ORDERBY ("Query", TaxTransaction, TaxTransaction.TaxCode) išraiškos rūšiavimo įrašai programos duomenų bazės lygiu ir pateikia mokesčių operacijų, kurios surūšiuotos pagal mokesčio kodą didėjančia tvarka, sąrašą.

4 pavyzdys: Užklausti duomenų šaltiniai

Jei TaxTransaction sukonfigūruotas kaip lentelės įrašų tipo, kuris nurodo lentelę TaxTrans , ER duomenų šaltinis, TaxTransactionFiltered ER FILTER(TaxTransaction, TaxCode="VAT19") duomenų šaltinis gali būti sukonfigūruotas, kad jame būtų išraiška, kuri ieškos nurodyto mokesčio kodo operacijų. Kadangi sukonfigūruotas TaxTransactionFiltered ER duomenų šaltinis yra užklausuojamas, ORDERBY ("Query", TaxTransactionFiltered, TaxTransactionFiltered.TransDate) išraiška gali būti sukonfigūruota pateikti filtruotų mokesčių operacijų, kurios surūšiuotos pagal operacijos datą didėjančia tvarka, sąrašą.

Jeigu TaxTransactionOrdered konfigūruojate kaip Apskaičiuotojo lauko tipo, kuriame yra išraiška ORDERBY ("Query", TaxTransaction, TaxTransaction.TransDate), ER duomenų šaltinį ir Apskaičiuotojo lauko tipo, kuriame yra išraiška FILTER(TaxTransactionOrdered, TaxCode="VAT19"), ER duomenų šaltinį, ER modelio susiejimo kūrimo įrankyje kūrimo metu įvyksta tikrinimo klaida. Ši klaida įvyksta todėl, kad pirmasis filter funkcijos argumentas turi nurodyti užklausos ER duomenų šaltinį, bet TaxTransactionOrderedduomenų šaltinis, kuriame yra funkcija, nėra užklausuojamas. ORDERBY

5 pavyzdys: Iš toliau pateiktas pavyzdys

Būtinieji komponentai

  1. Įvesti apskaičiuoto lauko tipo, kuriame yra išraiška, duomenų šaltinį DS1 SPLIT ("D1|_D2|D3", "|").
  2. Atidarykite finansinės dimensijos reikšmių puslapį ir pasirinkite CostCenter dimensiją .
  3. Įveskite šias dimensijų vertes: D1, _D2 ir D3.

Rūšiavimas atmintyje

  1. Konfigūruoti apskaičiuoto lauko tipo, kuriame yra išraiška, duomenų šaltinį DS2 ORDERBY("InMemory", DS1, DS1.Value).
  2. Atkreipkite dėmesį FIRST(DS2).Value , kad išraiška pateikia teksto vertę D1 ,INDEX(DS2, COUNT(DS2)).Value išraiška pateikia teksto vertę _D2,o STRINGJOIN(DS2, DS2.Value, "|") išraiškoje pateikiama teksto vertė D1| D3|_D2".

Duomenų bazės rūšiavimas

  1. Įveskite lentelės įrašų tipo, kuris nurodo FinancialDimensionValueEntity objektą, duomenų šaltinį DS3.
  2. Konfigūruoti apskaičiuoto lauko tipo, kuriame yra išraiška, duomenų šaltinį DS4 FILTER(DS3, DS3.FinancialDimension="CostCenter").
  3. Konfigūruoti apskaičiuoto lauko tipo, kuriame yra išraiška , duomenų šaltinį DS5 ORDERBY(DS4, DS4.DimensionValue).
  4. Atkreipkite dėmesį FIRST(DS5).Value , kad išraiška pateikia teksto vertę _D2;, INDEX(DS5, COUNT(DS5)).Value išraiška pateikia teksto vertę D3, STRINGJOIN(DS5, DS5.Value, "|") o išraiška pateikia teksto vertę _D2| D1| D3".

Papildomi ištekliai

Sąrašo funkcijos