Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W usłudze Power Apps możesz utworzyć aplikację kanwy, która uzyskuje dostęp do informacji w programach Microsoft Excel, SharePoint, SQL Server i kilku innych źródłach, które przechowują dane w rekordach i tabelach. Aby wydajnie korzystać z danych tego typu, warto zapoznać się z pojęciami dotyczącymi takich struktur.
- Rekord zawiera co najmniej jedną kategorię informacji dotyczących osoby, miejsca lub rzeczy. Na przykład rekord może zawierać imię i nazwisko, adres e-mail i numer telefonu jednego klienta. W innych narzędziach rekordy mogą funkcjonować pod nazwą „wiersz”, „element” lub „pozycja”.
- Tabela zawiera jeden rekord lub wiele rekordów, które zawierają te same kategorie informacji. Tabela może na przykład zawierać imiona i nazwiska, adresy e-mail i numery telefonów 50 klientów.
W aplikacji użyjesz formuł do tworzenia, aktualizowania i manipulowania rekordami i tabelami. Prawdopodobnie będziesz odczytywać i zapisywać dane w zewnętrznym źródle danych, które jest rozszerzoną tabelą. Ponadto można utworzyć co najmniej jedną tabelę wewnętrzną, która jest nazywana kolekcjami.
Można utworzyć rozmaite formuły przyjmujące nazwę tabeli jako argument (analogicznie do formuł w programie Excel, które używają odwołań do komórek jako argumentów). Niektóre formuły w usłudze Power Apps zwracają tabelę, która odzwierciedla inne określone argumenty. Można na przykład utworzyć formułę:
- w celu zaktualizowania rekordu w tabeli, określając tę tabelę jako jeden z wielu argumentów funkcji Patch
- w celu dodania lub usunięcia kolumn w tabeli albo zmiany ich nazw, określając tę tabelę jako argument funkcji AddColumns, DropColumns lub RenameColumns. Żadna z tych funkcji nie modyfikuje oryginalnej tabeli. Zamiast tego funkcja zwraca inną tabelę utworzoną na podstawie innych określonych argumentów.
Elementy tabeli
Rekordy
Każdy rekord zawiera co najmniej jedną kategorię informacji dotyczących osoby, miejsca lub rzeczy. W powyższym przykładzie przedstawiono rekordy dotyczące poszczególnych produktów (Chocolate, Bread, and Water) i kolumny zawierające różne kategorie informacji (Price, Quantity on Hand i Quantity on Order).
W formule można się odwołać do samego rekordu, z pominięciem kontekstu tabeli. W tym celu należy użyć nawiasów klamrowych. Na przykład rekord { Name: "Strawberries", Price: 7.99 } nie jest skojarzony z tabelą. Pamiętaj, że nazwy pól, takie jak Name i Price w tym przykładzie, nie są ujęte w cudzysłów.
Pola formularza
Pole to fragment informacji zawartych w rekordzie. Pole takie można sobie wyobrazić jako wartość w kolumnie odpowiadająca określonemu rekordowi.
Podobnie jak w przypadku kontrolek, do pola lub rekordu można się odwołać za pomocą .operatora w rekordzie. Na przykład funkcja First(Products).Name zwraca pole Name odpowiadające pierwszemu rekordowi w tabeli Products.
Pole może zawierać inny rekord lub tabelę, co widać w przykładzie dotyczącym funkcji GroupBy. Można zagnieździć dowolną liczbę poziomów rekordów i tabele.
Kolumny
Kolumna odwołuje się do tego samego pola dla co najmniej jednego rekordu w tabeli. W powyższym przykładzie każdy produkt ma pole ceny — cena znajduje się w tej samej kolumnie dla wszystkich produktów. Powyższa tabela ma cztery kolumny, przedstawione w poziomie u góry:
- Nazwa
- Cena
- Ilość rzeczywista
- Ilość w zamówieniu
Nazwa kolumny odzwierciedla pola w niej zawarte.
Wszystkie wartości w kolumnie reprezentują ten sam typ danych. W powyższym przykładzie kolumna „Quantity on Hand” zawiera tylko liczby. Nie zawiera ona ciągów — dla żadnego rekordu nie zobaczymy zatem w tej kolumnie ciągu typu „12 jednostek”. Pole może być także puste.
W niektórych narzędziach kolumny są nazywane „polami”.
Uwaga / Notatka
W przypadku źródeł danych, takich jak kafelki programu SharePoint, programu Excel lub usługi Power BI zawierające nazwy kolumn ze spacjami, usługa Power Apps zastąpi spacje ciągiem "_x0020_". Na przykład kafelek „Nazwa kolumny” w programie SharePoint, Excel lub Power BI będzie wyświetlany jako „Nazwa kolumny_x0020_Nazwa” w usłudze Power Apps, gdy jest wyświetlany w układzie danych lub używany w formule.
Tabela
Tabela składa się z co najmniej jednego rekordu. Każdy rekord ma wiele pól mających spójne nazwy dla wszystkich rekordów.
Każda tabela przechowywana w źródle danych lub kolekcji ma nazwę. Nazwa umożliwia odwoływanie się do tabeli i przekazywanie jej do funkcji przyjmujących tabele jako argumenty. Tabele mogą być również wynikiem działania funkcji lub formuły.
Jak przedstawiono w poniższym przykładzie, tabelę można wyrazić w formule, korzystając z funkcji Table i zestawu rekordów ujętych w nawiasy klamrowe:
Table( { Value: "Strawberry" }, { Value: "Vanilla" } )
Można również zdefiniować jednokolumnową tabelę, korzystając z nawiasów kwadratowych. Odpowiednikiem powyższych danych byłby następujący zapis:
[ "Strawberry", "Vanilla" ]
Formuły tabel
W programach Excel i Power Apps formuły służą do manipulowania liczbami i ciągami tekstu w podobny sposób:
- W programie Excel można na przykład wpisać wartość typu 42 w komórce A1, a następnie w innej komórce wpisać formułę, taką jak A1+2, w celu uzyskania wartości 44.
- W usłudze Power Apps ustaw właściwość Default elementu Slider1 na wartość 42 i ustaw właściwość Text etykiety na wartość Slider1.Value + 2, aby została wyświetlona wartość 44.
W obu przypadkach obliczona wartość zmienia się automatycznie, jeśli zmienisz wartości argumentów (np. liczbę w komórce A1 lub wartość elementu Slider1).
W podobny sposób można za pomocą formuł korzystać z danych w tabelach i rekordach oraz manipulować nimi. Nazwy tabel mogą stanowić argumenty w niektórych formułach, takich jak formuła Min(Catalog, Price) umożliwiająca przedstawienie najniższej wartości w kolumnie Price tabeli Catalog. Inne formuły zwracają wyniki w postaci całych tabel. Na przykład formuła RenameColumns(Catalog, "Price", "Cost") zwraca wszystkie rekordy z tabeli Catalog, ale zmienia nazwę kolumny Price na Cost.
Podobnie jak w przypadku liczb, formuły obejmujące tabele i rekordy są automatycznie przeliczane, jeśli zmieni się źródłowa tabela lub rekord. Jeśli koszt produktu w tabeli Catalog zostanie zmniejszony poniżej poprzedniej wartości minimalnej, wartość zwrócona przez formułę Min zostanie automatycznie zmieniona z uwzględnieniem nowego kosztu.
Zapoznajmy się z prostymi przykładami.
Utwórz pustą aplikację dla telefonu i dodaj pionową kontrolkę Galeria zawierającą inne kontrolki .
Domyślnie na ekranie jest wyświetlany tekst zastępczy z tabeli o nazwie CustomGallerySample. Właściwość Itemskontrolki Galerii ekranu zostaje automatycznie ustawiona na tę tabelę.
Uwaga / Notatka
Niektóre kontrolki zostały ułożone i powiększone do celów ilustracyjnych.
Zamiast ustawiać właściwość Items na nazwę tabeli, ustaw ją na formułę zawierającą nazwę tabeli jako argument, jak w tym przykładzie:
Sort(CustomGallerySample, SampleHeading, SortOrder.Descending)Ta formuła zawiera funkcję Sort , która przyjmuje nazwę tabeli jako pierwszy argument i nazwę kolumny w tej tabeli jako drugi argument. Funkcja obsługuje również opcjonalny trzeci argument, który określa, że chcesz sortować dane w kolejności malejącej.
Ustaw właściwość Items na formułę, która przyjmuje formułę z poprzedniego kroku jako argument i zwraca tabelę, jak w tym przykładzie:
FirstN(Sort(CustomGallerySample, SampleHeading, SortOrder.Descending), 2)W tej formule użyjesz funkcji FirstN , aby wyświetlić określoną liczbę rekordów w tabeli. Funkcja Sort jest używana jako pierwszy argument do funkcji FirstN i liczby (w tym przypadku 2) jako drugiego argumentu, aby określić liczbę rekordów do wyświetlenia.
Cała formuła zwraca tabelę zawierającą dwa pierwsze rekordy tabeli CustomGallerySample posortowane według kolumny SampleHeading w kolejności malejącej.
Funkcje tabel i właściwości kontrolek
Rozważ użycie funkcji Lower. Jeśli zmienna welcome zawiera ciąg tekstowy „Hello, World”, formuła Lower(welcome) zwraca wartość „hello, world”. Ta funkcja w żaden sposób nie zmienia wartości w zmiennej. Lower jest funkcją czystą, która jedynie przetwarza dane wejściowe i generuje dane wyjściowe. To wszystko; nie ma żadnych efektów ubocznych. Wszystkie funkcje w programie Excel i większość funkcji w usłudze Power Apps są czystymi funkcjami, które umożliwiają automatyczne ponowne obliczenie skoroszytu lub aplikacji.
Usługa Power Apps oferuje zestaw funkcji, które działają na tabelach w ten sam sposób. Te funkcje umożliwiają pobieranie tabel jako danych wyjściowych, a następnie filtrowanie, sortowanie, przekształcanie, redukowanie i podsumowywanie całych tabel danych. W rzeczywistości funkcji Lower i wiele innych funkcji, które zwykle akceptują pojedynczą wartość, może również akceptować jednokolumnową tabelę jako dane wejściowe.
- Sortuj, filtruj — sortuje i filtruje rekordy.
- FirstN, LastN — zwraca pierwsze N lub ostatnie N rekordów tabeli.
- Abs, Sqrt, Round, RoundUp, RoundDown — operacje arytmetyczne na każdym rekordzie jednokolumnowej tabeli, co powoduje utworzenie jednokolumnowej tabeli wyników.
- Left, Mid, Right, Replace, Substitute, Trim, Lower, Upper, Proper — manipulacje na ciągach poszczególnych rekordów jednokolumnowej tabeli dające w wyniku jednokolumnową tabelę ciągów.
- Len — w przypadku kolumny ciągów zwraca tabelę z jedną kolumną zawierającą długość każdego ciągu.
- Łączenie — łączy wiele kolumn ciągów, co powoduje utworzenie jednokolumnowej tabeli ciągów.
- AddColumns, DropColumns, RenameColumns, ShowColumns — manipulowanie kolumnami tabeli, co powoduje utworzenie nowej tabeli z różnymi kolumnami.
- Distinct — usuwa zduplikowane rekordy.
- Shuffle — losowo tasuje rekordy.
- HashTags — wyszukuje hasztagi w tekście.
- Błędy — udostępnia informacje o błędach podczas pracy ze źródłem danych.
Wiele z tych funkcji pobiera jednokolumnową tabelę jako wejście. Jeśli cała tabela zawiera tylko jedną kolumnę, można określić ją według nazwy. Jeśli tabela zawiera wiele kolumn, można określić jedną z tych kolumn, korzystając ze składni Table.Column. Na przykład Products.Name zwraca tabelę jednokolumnową wyłącznie z wartościami Nazwa z tabeli Produkty.
Możesz całkowicie zmienić kształt tabeli według własnych upodobań, korzystając z funkcji AddColumns, RenameColumns, ShowColumns lub DropColumns. Te funkcje również zmieniają tylko dane wyjściowe, a nie źródło.
Właściwości kontrolek mogą być również tabelami:
- Items — ma zastosowanie do galerii, pól list i pól kombi. Ta właściwość definiuje tabelę wyświetlaną w galerii lub na liście.
- SelectedItems — ma zastosowanie do pól list i pól kombi. Ta właściwość definiuje tabelę elementów wybranych przez użytkownika, jeśli opcja SelectMultiple jest włączona.
Formuły behawioralne
Inne funkcje zostały zaprojektowane specjalnie do modyfikowania danych i powodują efekty uboczne. Ponieważ te funkcje nie są funkcjami czystymi, należy je starannie skompilować. Nie mogą one brać udziału w automatycznym przeliczaniu wartości w aplikacji. Te funkcje można używać tylko w formułach behawioralnych.
- Collect, Clear,ClearCollect — tworzy kolekcje, czyści je i dodaje do nich dane.
- Patch — modyfikuje jedno lub więcej pól w rekordzie.
- Update, UpdateIf — aktualizacje rekordów spełniających co najmniej jedno określone kryteria.
- Remove, RemoveIf — usuwa rekordy spełniające co najmniej jedno określone kryteria.
Formuły rekordów
Możesz również utworzyć formułę, która oblicza dane dla pojedynczego rekordu, przyjmuje pojedynczy rekord jako argument i udostępnia pojedynczy rekord jako wartość zwracaną. Wróćmy do naszego przykładu galerii powyżej, użyjmy właściwości Gallery1.Selected , aby wyświetlić informacje z dowolnego rekordu wybranego przez użytkownika w tej galerii.
Dodaj przycisk i ustaw jej właściwość OnSelect na następującą formułę:
Collect( SelectedRecord, Gallery1.Selected )Trzymając wciśnięty klawisz Alt, kliknij przycisk.
W menu Plik wybierz pozycję Kolekcje.
Ta formuła zwraca rekord zawierający nie tylko dane z rekordu aktualnie wybranego w galerii, ale także każdą kontrolkę w tej galerii. Na przykład rekord zawiera zarówno kolumnę SampleText , która pasuje do kolumny SampleText w oryginalnej tabeli, jak i kolumny Subtitle1 , która reprezentuje etykietę, która pokazuje dane z tej kolumny. Wybierz ikonę tabeli w kolumnie Podtytuł1 , aby przejść do szczegółów tych danych.
Uwaga / Notatka
Kolumna Podtytuł1 może mieć nazwę Podtytuł2 lub podobna, jeśli dodano elementy inne niż określone w tym temacie.
Po wybraniu rekordu możesz wyodrębnić z niego poszczególne pola za pomocą operatora .
Dodaj kontrolkę Etykieta , a następnie przenieś ją pod galerię i przycisk.
Ustaw właściwość Text etykiety na następujące wyrażenie:
"Selected: " & Gallery1.Selected.SampleHeading
Pobrano właściwość Selected , która jest rekordem, i wyodrębniono z niej właściwość SampleHeading .
Możesz również użyć rekordu jako kontenera ogólnego przeznaczenia dla powiązanych nazwanych wartości.
- Jeśli tworzysz formułę wokół funkcji UpdateContext i Navigate , użyj rekordu, aby zebrać zmienne kontekstowe , które chcesz zaktualizować.
- Użyj właściwości Updates w kontrolce Formularz edycji , aby zebrać zmiany wprowadzone przez użytkownika w formularzu.
- Użyj funkcji Patch , aby zaktualizować źródło danych, ale także scalić rekordy.
W takich przypadkach rekord nigdy nie był częścią tabeli.
Rejestrowanie funkcji i właściwości kontrolek
Funkcje zwracające rekordy:
- FirstN, LastN — zwraca pierwszy lub ostatni rekord lub rekordy tabeli.
- Wyszukaj — zwraca pierwszy rekord z tabeli spełniającego jedno lub więcej kryteriów.
- Patch — aktualizuje źródło danych lub scala rekordy.
- Wartości domyślne — zwraca wartości domyślne źródła danych.
Właściwości, które zwracają rekordy:
- Selected — dotyczy galerii i pól listy. Dotyczy obecnie wybranego rekordu.
- Aktualizacje — dotyczy galerii. Ściąga wszystkie zmiany wprowadzone przez użytkownika w formularzu wprowadzania danych.
- Update — dotyczy kontrolek wejściowych, takich jak kontrolki wprowadzania tekstu i suwaki. Konfiguruje poszczególne właściwości galerii, aby je połączyć.
Zakres rekordów
Niektóre funkcje działają przez ocenę formuły względem wszystkich poszczególnych rekordów tabeli. Wyniki formuły są używane na różne sposoby:
- AddColumns — formuła udostępnia wartość dodanego pola.
- Average, Max, Min, Sum, StdevP, VarP — formuła udostępnia wartość do zagregowania.
- Filter, Lookup — formuła określa, czy rekord powinien być uwzględniony w danych wyjściowych.
- Concat — formuła określa ciągi, które mają zostać połączone.
- Distinct — formuła zwraca wartość służącą do zidentyfikowania zduplikowanych rekordów.
- ForAll — formuła może zwrócić dowolną wartość. Możliwe są efekty uboczne.
- Sort — formuła zawiera wartość, według której rekordy mają zostać posortowane.
- With — formuła może zwrócić dowolną wartość. Możliwe są efekty uboczne.
W ramach tych formuł można odwoływać się do pól przetwarzanego rekordu. Każda z tych funkcji tworzy „zakres rekordów”, w którym jest oceniana formuła. Pola rekordu stanowią identyfikatory najwyższego poziomu. Z całej aplikacji możesz też odwoływać się do właściwości kontrolki i innych wartości.
Na przykład utwórz tabelę Products:
Aby utworzyć tę przykładową tabelę w aplikacji, wstaw przycisk, ustaw jej właściwość OnSelect na tę formułę, a następnie wybierz przycisk (kliknij go po przytrzymaniu Alt w programie Power Apps Studio):
Set( Products,
Table(
{ Product: "Widget", 'Quantity Requested': 6, 'Quantity Available': 3 },
{ Product: "Gadget", 'Quantity Requested': 10, 'Quantity Available': 20 },
{ Product: "Gizmo", 'Quantity Requested': 4, 'Quantity Available': 11 },
{ Product: "Apparatus", 'Quantity Requested': 7, 'Quantity Available': 6 }
)
)
Aby sprawdzić, czy w przypadku jakiegokolwiek produktu nie zażądano ilości większej niż dostępna, można posłużyć się następującą funkcją:
Filter( Products, 'Quantity Requested' > 'Quantity Available' )
Pierwszy argument, który zostanie uwzględniony w funkcji Filter, to tabela rekordów objętych działaniami, a drugi argument to formuła. Filter pozwala uzyskać zakres rekordów do oceny tej formuły. Zakres udostępnia pola poszczególnych rekordów — w tej sytuacji są to pola Product, Quantity Requested i Quantity Available. Wynik porównania określa, czy każdy rekord powinien być uwzględniony w wyniku funkcji:
W ramach tego przykładu możemy też obliczyć ilość poszczególnych produktów, jaką należy zamówić:
AddColumns(
Filter( Products, 'Quantity Requested' > 'Quantity Available' ),
"Quantity To Order", 'Quantity Requested' - 'Quantity Available'
)
Do wyniku zostaje dodana kolumna obliczeniowa. AddColumns ma własny zakres rekordów służący do obliczenia różnicy między ilością żądaną i ilością dostępną.
Na koniec możemy zredukować tabelę wynikową, aby zawierała tylko potrzebne kolumny:
ShowColumns(
AddColumns(
Filter( Products, 'Quantity Requested' > 'Quantity Available' ),
"Quantity To Order", 'Quantity Requested' - 'Quantity Available'
),
"Product",
"Quantity To Order"
)
Zauważ, że powyżej w niektórych miejscach jest używany cudzysłów podwójny ("), a w innych — cudzysłów pojedynczy ('). Podczas odwoływania się do wartości obiektu, takiego jak pole lub tabela, którego nazwa zawiera spację, wymagany jest cudzysłów pojedynczy. Cudzysłów podwójny jest używany, gdy nie odwołujemy się do wartości obiektu, ale do samego obiektu. Szczególnie dotyczy to sytuacji, w których obiekt jeszcze nie istnieje (np. w przypadku funkcji AddColumns).
Ujednoznacznienie
Nazwy pól dodane za pomocą zakresu rekordów przesłaniają te same nazwy z innych miejsc w aplikacji. W takim przypadku dostęp do wartości znajdujących się poza zakresem rekordów można uzyskać za pomocą operatora @uściślania:
- Aby uzyskać dostęp do wartości z zagnieżdżonych zakresów rekordów, zastosuj operator @ z nazwą używanej tabeli, korzystając ze wzorca:
Tabela[@FieldName] - Aby uzyskać dostęp do wartości globalnych, takich jak źródła danych, kolekcje i zmienne kontekstowe, użyj wzorca [@ObjectName] (bez oznaczenia tabeli).
Jeśli tabela, na której są wykonywane działania, stanowi wyrażenie — np. Filter(Table, ... ) — wówczas nie można użyć operatora uściślania. Tylko najbardziej wewnętrzny zakres rekordów może uzyskać dostęp do pól z tego wyrażenia tabeli, nie korzystając z operatora uściślania.
Załóżmy, że mamy kolekcję X:
Można ją utworzyć za pomocą funkcji ClearCollect( X, [1, 2] ).
Druga kolekcja to Y:
Tworzymy ją za pomocą funkcji ClearCollect( Y, ["A", "B"] ).
Oprócz tego definiujemy zmienną kontekstową o nazwie Value, korzystając z formuły: UpdateContext( {Value: "!"} )
Zbierzmy wszystkie dane. W tym kontekście następująca formuła:
Ungroup(
ForAll( X,
ForAll( Y,
Y[@Value] & Text( X[@Value] ) & [@Value]
)
),
"Value"
)
powoduje utworzenie tej tabeli:
Jak do tego dochodzi? Najbardziej zewnętrzna funkcja, ForAll, definiuje zakres rekordów dla kolekcji X, umożliwiając dostęp do pola Value każdego rekordu w ramach przetwarzania. Uzyskanie dostępu odbywa się przy użyciu ciągu Value lub X[@Value].
Najbardziej wewnętrzna funkcja ForAll definiuje inny zakres rekordów dla kolekcji Y. Ponieważ ta tabela również ma zdefiniowane pole Value, użycie pola Value w tym miejscu odnosi się do rekordu kolekcji Y (już nie do rekordu kolekcji X). Aby w tym miejscu uzyskać dostęp w kolekcji X do pola Value, musimy użyć dłuższej wersji z operatorem uściślania.
Ponieważ kolekcja Y to najbardziej wewnętrzny zakres rekordów, korzystanie z pól tej tabeli nie wymaga uściślania. Ten sam wynik zapewni użycie tej formuły:
Ungroup(
ForAll( X,
ForAll( Y,
Value & Text( X[@Value] ) & [@Value]
)
),
"Value"
)
Wszystkie zakresy rekordów kolekcji ForAll zastępują zakres globalny. Zdefiniowana przez nas zmienna kontekstowa Value nie jest dostępna według nazwy bez użycia operatora uściślania. Aby uzyskać dostęp do tej wartości, należy użyć opcji [@Value].
Ungroup spłaszcza wynik, ponieważ funkcje ForAll zwrócą zagnieżdżoną tabelę wyników.
Tabele jednokolumnowe
Aby wykonywać operacje na jednej kolumnie tabeli, użyj funkcji ShowColumns, tak jak w poniższym przykładzie:
ShowColumns( Products, "Product" )
Ta formuła powoduje utworzenie tabeli z jedną kolumną:
Aby uzyskać krótszą alternatywę, określ element Table.Column, która wyodrębnia tabelę jednokolumnową zawierającą tylko kolumnę z tabeli. Ta formuła daje na przykład taki sam skutek, jak użycie opcji ShowColumns.
Products.Product
Rekordy wbudowane
Rekordy można wyrazić przy użyciu nawiasów klamrowych zawierających wartości pól nazwanych. Na przykład pierwszy rekord w tabeli na początku tego tematu można wyrazić za pomocą następującej formuły:
{ Name: "Chocolate", Price: 3.95, 'Quantity on Hand': 12, 'Quantity on Order': 10 }
Można również osadzić formuły w innych formułach, jak w poniższym przykładzie:
{ Name: First(Products).Name, Price: First(Products).Price * 1.095 }
Rekordy można zagnieżdżać przez zagnieżdżenie nawiasów klamrowych, jak pokazano w poniższym przykładzie:
{ 'Quantity': { 'OnHand': ThisItem.QuantOnHand, 'OnOrder': ThisItem.QuantOnOrder } }
Jeśli nazwa kolumny zawiera znaki specjalne, takie jak spacja lub dwukropek, należy ją ująć w cudzysłów pojedynczy. Aby użyć cudzysłowu pojedynczego w nazwie kolumny, podwój go.
Wartość w kolumnie Price nie obejmuje symbolu waluty (np. znaku dolara). To formatowanie zostanie zastosowane po wyświetleniu wartości.
Tabele wbudowane
Tabelę można utworzyć, korzystając z funkcji Table i zestawu rekordów. Tabelę z początku tego tematu można wyrazić za pomocą następującej formuły:
Table(
{ Name: "Chocolate", Price: 3.95, 'Quantity on Hand': 12, 'Quantity on Order': 10 },
{ Name: "Bread", Price: 4.95, 'Quantity on Hand': 34, 'Quantity on Order': 0 },
{ Name: "Water", Price: 4.95, 'Quantity on Hand': 10, 'Quantity on Order': 0 }
)
Tabele można także zagnieżdżać:
Table(
{ Name: "Chocolate",
'Quantity History': Table( { Quarter: "Q1", OnHand: 10, OnOrder: 10 },
{ Quarter: "Q2", OnHand: 18, OnOrder: 0 } )
}
)
Wbudowane tabele wartości
Tabele jednokolumnowe można tworzyć, określając wartości w nawiasach kwadratowych. Tabela wynikowa zawiera jedną kolumnę o nazwie Value.
Na przykład funkcja [ 1, 2, 3, 4 ] jest równoznaczna z Table( { Value: 1 }, { Value: 2 }, { Value: 3 }, { Value: 4 } ) i zwraca tę tabelę: