Adattípusok az adatmodellekben

Hatókör
Microsoft 365-höz készült Excel Excel 2024 Excel 2021 Excel 2019 Excel 2016

Az adatmodellekben mindegyik oszlophoz tartozik egy társított adattípus, amely megadja az oszlopban tárolható adatok típusát: egész számok, tizedes tört számok, szöveg, pénzügyi adatok, dátumok és időpontok stb. Az adattípus azt is meghatározza, hogy milyen műveleteket hajthat végre az oszlopon, és mennyi memóriát igényel az értékek oszlopban való tárolása.

A Power Pivot bővítmény használata esetén módosíthatja az oszlopok adattípusát. Erre akkor lehet szükség, ha egy dátumoszlopot karakterláncként importált, de Önnek valami másra van szüksége. További információ: Oszlop adattípusának beállítása a Power Pivotban.

Tartalom

Az adattípusok összefoglalása

Az alábbi táblázat az adatmodellekben támogatott adattípusokat sorolja fel. Amikor adatokat importál vagy értéket használ egy képletben, a program akkor is konvertálja az adatokat e adattípusok egyikébe, ha az eredeti adatforrás más adattípust tartalmaz. A képletekből kapott értékek szintén ezeket az adattípusokat használják.

Adattípus az Excelben Adattípus a DAX eszközben Leírás
Egész szám Egy 64 bites (nyolc bájtos) egész érték 1, 2 Tizedesjegyet nem tartalmazó számok. Az egész számok lehetnek pozitív és negatív számok, de -9 223 372 036 854 775 808 (-2^63) és 9 223 372 036 854 775 807 (2^63-1) közötti egész számoknak kell lenniük.
Decimális szám Egy 64 bites (nyolc bájtos) 1, 2 valós szám A valós számok olyan számok, amelyeknek tizedesjegyei is lehetnek. A valós számok az értékek széles tartományát fedik le:
Negatív értékek -1,79E +308 és -2,23E -308 között
Nulla
2,23E -308 és 1,79E + 308 közötti pozitív értékek
Az értékes számjegyek száma azonban legfeljebb 15 tizedesjegy lehet.
IGAZ/HAMIS logikai változó Igaz vagy Hamis érték.
Text (Szöveg) String Unicode-karaktert tartalmazó adatkarakterlánc. Karakterláncok, számok vagy dátumok lehetnek szöveges formátumban megjelenítve.
A karakterláncok maximális hossza 268 435 456 Unicode-karakter (256 mega karakter) vagy 536 870 912 bájt.
Dátum Dátum/idő Dátumok és időpontok elfogadott dátum-idő ábrázolásban.
Érvényes dátumnak minősül az 1900. január 1. utáni dátum.
Pénznem Pénznem A Pénznem adattípus -922 337 203 685 477,5808 és 922 337 203 685 477,5807 közötti értékeket tesz lehetővé rögzített pontossággal.
Üres Az üres adat a DAX olyan adattípusa, amely az SQL null értékeit jelöli és helyettesíti. Üres cellát az ÜRES függvénnyel, üres cellákat pedig az ÜRES függvény függvénnyel vizsgálhat.

1 A DAX-képletek nem támogatják a táblázatban felsoroltaknál kisebb adattípusokat.

2 Ha nagyon nagy méretű számértékeket tartalmazó adatokat próbál importálni, az importálás a következő hibával meghiúsulhat:

Memóriában tárolt adatbázishiba: A "<Táblázatnév>" tábla "<oszlopnév>" oszlopa az "1,7976931348623157e+308" értéket tartalmazza, ami nem támogatott. A műveletet megszakították.

Ez a hiba azért fordul elő, mert a Power Pivot ezt az értéket használja a null értékek ábrázolására. Az alábbi listában szereplő értékek a null érték szinonimái:

Érték
9223372036854775807
-9223372036854775808
1,7976931348623158e+308
2.2250738585072014E-308

Távolítsa el az adatok értékét, majd próbálkozzon újra az importálással.

Tábla adattípus

A DAX számos függvényben használ tábla adattípust, például összesítésekben és időintelligencia-számításokban. Egyes függvényekhez szükség van egy táblázatra való hivatkozásra; Más függvények egy táblázatot adnak vissza, amelyet aztán más függvények bemeneteként használhatnak. Egyes olyan függvényekben, amelyekhez táblázat szükséges bemenetként, megadhat egy olyan kifejezést, amely táblázatot eredményez; Egyes függvények esetében hivatkozni kell egy alaptáblára. A függvények követelményeiről további információt a DAX függvényeinek részletes ismertetése című témakörben talál.

Implicit és explicit adattípus-konverzió DAX-képletekben

Minden DAX-függvényhez speciális követelmények vonatkoznak a bemenetként és kimenetként használandó adatok típusára vonatkozóan. Egyes függvényekhez például egyes argumentumokhoz egész szám, másokhoz dátumot kell megadni; Más funkciókhoz szöveg vagy táblázatok szükségesek.

Ha az argumentumként megadott oszlop adatai nem kompatibilisek a függvény által megkövetelt adattípussal, a DAX sok esetben hibát ad vissza. A DAX azonban lehetőség szerint implicit módon megkísérli az adatokat a szükséges adattípusra konvertálni. Például:

  • Beírhat egy dátumot karakterláncként, majd a DAX elemzi a karakterláncot, és megpróbálja a Windows dátum- és időformátumainak egyikében megjeleníteni.
  • Az IGAZ + 1 értéket hozzáadva a 2 értéket kaphatja, mivel az IGAZ érték implicit módon 1-re konvertálódik, és az 1+1 műveletet hajtja végre.
  • Ha két oszlopban értékeket ad össze, és az egyik értéket véletlenül szövegként ("12"), a másikat számként (12) adja meg, a DAX implicit módon számmá alakítja a karakterláncot, majd az összeadást numerikus eredményt kapja. A következő kifejezés 44-et ad vissza: = "22" + 22
  • Ha megkísérel összefűzni két számot, az Excel karakterláncként jeleníti meg őket, majd összefűzi őket. A következő kifejezés eredménye "1234": = 12 & 34

Az alábbi táblázat összefoglalja a képletekben végrehajtott implicit adattípus-konverziókat. Amikor csak lehetséges, az Excel implicit konvertálásokat hajt végre a megadott műveletnek megfelelően.

Implicit adatkonvertálások táblázata

Az elvégzendő konverzió típusát az operátor határozza meg, és a kért művelet végrehajtása előtt kitölti a szükséges értékeket. Az alábbi táblázatok felsorolják az operátorokat, és jelzik az oszlop egyes adattípusain végrehajtott konverziót, amikor az párosítva van az oszlop metszéspontjában lévő sorral lévő adattípussal.

Megjegyzés

Ezek a táblázatok nem tartalmaznak szöveges adattípusokat. Ha egy szám szöveges formában van ábrázolva, a Power Pivot bizonyos esetekben megpróbálja meghatározni a szám típusát, és számként ábrázolni.

Összeadás (+)

Operátor (+) INTEGER CURRENCY REAL Dátum/idő
INTEGER INTEGER CURRENCY REAL Dátum/idő
CURRENCY CURRENCY CURRENCY REAL Dátum/idő
REAL REAL REAL REAL Dátum/idő
Dátum/idő Dátum/idő Dátum/idő Dátum/idő Dátum/idő

Ha például valós számot használ egy összeadási műveletben pénznemadattal kombinálva, a program mindkét értéket VALÓS értékké konvertálja, az eredményt pedig VALÓS értékként adja vissza.

Kivonás (-)

Az alábbi táblázatban a sorfejléc a mínusz (bal oldalon), az oszlopfejléc pedig a részvégpont (jobb oldalon).

Operátor (-) INTEGER CURRENCY REAL Dátum/idő
INTEGER INTEGER CURRENCY REAL REAL
CURRENCY CURRENCY CURRENCY REAL REAL
REAL REAL REAL REAL REAL
Dátum/idő Dátum/idő Dátum/idő Dátum/idő Dátum/idő

Ha például egy kivonási műveletben bármilyen más adattípussal együtt használ egy dátumot, a program mindkét értéket dátummá konvertálja, és a visszatérési érték is dátum lesz.

Megjegyzés

Az adatmodellek támogatják az unáris operátort - (negatív) is, de ez az operátor nem módosítja az operandus adattípusát.

Szorzás (*)

Operátor (*) INTEGER CURRENCY REAL Dátum/idő
INTEGER INTEGER CURRENCY REAL INTEGER
CURRENCY CURRENCY REAL CURRENCY CURRENCY
REAL REAL CURRENCY REAL REAL

Ha például egy egész számot egy valós számmal kombinál egy szorzási műveletben, mindkét szám valós számmá alakul, és a visszatérési érték is VALÓS lesz.

Osztás (/)

Az alábbi táblázatban a sorfejléc a számláló, az oszlopfejléc pedig a nevező.

Operátor (/)
(sor/oszlop)
INTEGER CURRENCY REAL Dátum/idő
INTEGER REAL CURRENCY REAL REAL
CURRENCY CURRENCY REAL CURRENCY REAL
REAL REAL REAL REAL REAL
Dátum/idő REAL REAL REAL REAL

Ha például egy egész számot pénzneművel kombinálunk egy osztási műveletben, mindkét értéket valós számmá konvertálja a függvény, és az eredmény szintén valós szám lesz.

Összehasonlító operátorok

Az összehasonlító kifejezésekben a logikai értékek nagyobbnak tekintendők, mint a karakterláncértékek, és a karakterláncok nagyobbnak a numerikus, illetve a dátum/idő értékeknél; A program a számok és a dátum/idő azonos rangúnak tekinti. A logikai vagy karakterlánc-értékek esetében nem történik implicit konverzió; Az ÜRES vagy az üres érték 0/""/false értékké alakul a másik összehasonlított érték adattípusától függően.

A következő DAX-kifejezések illusztrálják ezt a viselkedést:

=HA(HAMIS()>"igaz";"A kifejezés igaz", "A kifejezés hamis") eredménye "Kifejezés igaz"

=HA("12">12;"A kifejezés igaz", "A kifejezés hamis") eredménye "Kifejezés igaz".

=HA("12"=12;"A kifejezés igaz", "A kifejezés hamis"), "A kifejezés hamis" értéket adja vissza

A konverziók implicit módon történnek numerikus és dátum/idő típusokhoz az alábbi táblázatban leírtak szerint:

Összehasonlító operátor INTEGER CURRENCY REAL Dátum/idő
INTEGER INTEGER CURRENCY REAL REAL
CURRENCY CURRENCY CURRENCY REAL REAL
REAL REAL REAL REAL REAL
Dátum/idő REAL REAL REAL Dátum/idő

Vissza a lap tetejére

Üres cellák, üres karakterláncok és nulla értékek kezelése

A DAX nyelvben a null, üres értéket, üres cellát vagy hiányzó értéket ugyanaz az új értéktípus, a BLANK jelöli. Üres cellákat is előállíthat a ÜRES függvénnyel, illetve vizsgálhatja az üres cellákat az ÜRES függvénnyel.

Az, hogy a műveletek (például összeadás vagy összefűzés) hogyan kezelik az üres cellákat, az adott függvénytől függ. Az alábbi táblázat összefoglalja a DAX és a Microsoft Excel-képletek közötti különbségeket az üres cellák kezelésének módjában.

Expression DAX Excel
ÜRES + ÜRES ÜRES 0 (nulla)
ÜRES +5 5 5
ÜRES * 5 ÜRES 0 (nulla)
5/ÜRES Végtelen Hiba
0/ÜRES NaN Hiba
ÜRES/ÜRES ÜRES Hiba
HAMIS VAGY ÜRES FALSE FALSE
HAMIS VAGY ÜRES FALSE FALSE
IGAZ VAGY ÜRES TRUE TRUE
IGAZ ÉS ÜRES HAMIS IGAZ
ÜRES VAGY ÜRES ÜRES Hiba
ÜRES ÉS ÜRES ÜRES Hiba

Ha szeretné részletesebben megtudni, hogy egy adott függvény vagy operátor hogyan kezeli az üres cellákat, olvassa el az egyes DAX-függvényekre vonatkozó témaköröket a DAX-függvények ismertetése című szakaszban.

Vissza a lap tetejére