Praca z kolumnami formuł
Kolumny formuł to kolumny, w których jest wyświetlana wartość obliczana w Microsoft Dataverse tabeli. Formuły używają Power Fx, potężnego, ale przyjaznego dla człowieka języka programowania. Utwórz formułę w kolumnie z formułą Dataverse w taki sam sposób, w jaki tworzysz formułę w programie Microsoft Excel. Po wpisaniu sugeruje funkcje i składnię, a nawet pomaga to naprawić błędy.
Dodaj kolumnę formuły
Zaloguj się do Power Apps na https://make.powerapps.com.
Wybierz Tabele, a następnie wybierz tabelę, do której chcesz dodać kolumnę z formułą. Jeśli elementu nie ma w okienku panelu bocznego, wybierz …Więcej, a następnie wybierz żądany element.
Wybierz obszar Kolumny, a następnie wybierz pozycję Nowa kolumna .
Wprowadź następujące informacje:
- Awyświetlana nazwa kolumny.
- Opcjonalnie wprowadź Opis kolumny.
W polu Typ danych wybierz pozycję fx Formula.
Wpisz formułę lub użyj sugestii dotyczących formuł:
Wprowadź formułę w Power Fx polu Formuła. Więcej informacji: Wpisywanie formuły
- Wybierz dodatkowe właściwości:
- Wybierz opcję Z możliwością wyszukiwania, jeśli chcesz, aby ta kolumna była dostępna w widokach, wykresach, pulpitach nawigacyjnych i szukaniu zaawansowanym.
- Opcje zaawansowane:
- Jeśli formuła daje w wyniku wartość dziesiętną, rozwiń węzeł Opcje zaawansowane, aby zmienić liczbę punktów precyzji z zakresu od 0 do 10. Domyślna wartość wynosi 2.
- Wybierz pozycję Zapisz.
Wpisz formułę
W poniższym przykładzie tworzona jest kolumna z formułą o nazwie Cena całkowita. Kolumna Liczba jednostek jest typem danych liczby całkowitej. Kolumna Cena jest typem danych dziesiętnych.
W kolumnie z formułą wyświetlany jest wynik ceny pomnożony przez liczbę jednostek.
Wprowadzona formuła określa typ kolumny. Nie możesz zmienić typu kolumny po utworzeniu kolumny. Oznacza to, że formułę można zmienić po utworzeniu kolumny tylko wtedy, gdy nie spowoduje to zmiany typu kolumny.
Na przykład formuła cena * rabat tworzy typ kolumny liczby. Możesz zmienić cenę * rabat na cenę * (rabat + 10%), ponieważ nie zmienia to typu kolumny. Nie można jednak zmienić ceny * rabatu na Text(cena * rabat), ponieważ wymagałoby to zmiany typu kolumny na ciąg.
Pobierz sugestie formuły (wersja zapoznawcza)
[Ten temat pochodzi ze wstępnej wersji dokumentacji i może ulec zmianie.]
Opisz, co ma robić formuła i uzyskaj wygenerowane wyniki przez AI. Sugestie w formułach zaakceptować wprowadzenie języka naturalnego w celu zinterpretowania i sugestii formuły Power Fx za pomocą modelu AI opartego na technologii GPT.
Ważne
Ta funkcja jest dostępna w wersji zapoznawczej tylko w regionach USA.
Funkcje w wersji zapoznawczej nie są przeznaczone do użytku w środowiskach produkcyjnych i mogą mieć ograniczoną funkcjonalność. Te funkcje są udostępniane przed oficjalnym wydaniem, dzięki czemu klienci mogą szybciej uzyskać do nich dostęp i przekazać opinie na ich temat.
Obecnie są obsługiwane sugestie formuł odwołujące się do jednej tabeli. Sugestie formuły odwołującej się do kolumny w powiązanej tabeli nie są obsługiwane.
Wymagania wstępne
Aby włączyć tę funkcję, musisz włączyć ustawienie środowiska Sugestie AI dla kolumn z formułami . Więcej informacji: Sugestie AI dotyczące kolumn z formułami
Przykład wprowadzania danych w języku naturalnym
Wyobraź sobie, że istnieje kolumna Ocena klienta, która pokazuje jego ocenę według konta.
W polu Pobierz sugestie formuł wprowadź formułę w języku naturalnym, na przykład Jeśli ocena w kolumnie oceny jest równa lub większa niż 5, oznacz ją jako Dobra, a jeśli jest mniejsza niż 5, oznacz ją jako Średnia, a jeśli wartość jest pusta lub zero, wyświetl ją jako Nieprawidłowa, a następnie wybierz przycisk strzałki (Wprowadź).
Następnie skopiuj sugerowaną formułę .
I wklej go w polu Wpisz formułę . Wybierz pozycję Zapisz.
Oto, jak formuła jest wyświetlana po wklejeniu.
Switch(
ThisRecord.'Customer Rating',
Blank(), "Bad",
0, "Bad",
1, "Average",
2, "Average",
3, "Average",
4, "Average",
5, "Good",
6, "Good",
7, "Good",
8, "Good",
9, "Good",
10, "Good"
)
Sprawdź kolumnę z formułą Opis obliczonej oceny, która wygląda następująco.
Odopowiedzialne AI
Aby uzyskać informacje o odpowiedzialnym używaniu AI, przejdź do tych zasobów:
- Często zadawane pytania dotyczące tworzenia aplikacji i tabel za pomocą konwersacji
- Często zadawane pytania dotyczące odpowiedzialnego korzystania ze sztucznej inteligencji w Power Apps
Operatory
W kolumnie formuły można używać następujących operatorów:
+, -, *, /, %, w, dokładny, &
Aby uzyskać więcej informacji, przejdź do tematu Operatorzy w Power Apps.
Typy danych
W kolumnie z formułą możesz wyświetlić następujące typy danych:
- Tekst
- Liczba dziesiętna
- Liczba całkowita
- Spławik
- Wybór logiczny (tak/nie)
- Wybór (dawniej zestawy opcji)
- Datetime
Więcej informacji: Tworzenie kolumn z formułami z typami danych dziesiętnych, liczbami całkowitymi, liczbami zmiennoprzecinkowymi i wyborami\
Typ danych waluta nie jest obecnie obsługiwany.
Typy funkcji
W kolumnie z formułą możesz używać następujących typów funkcji:
- Dziesiętne
- String
- Wartość logiczna
- Opcja wyboru
- Data/godzina (TZI)
- Data/godzina (lokalny użytkownik) (ograniczone do porównywania z innymi wartościami lokalnymi użytkownika i funkcjami DateAdd i DateDiff)
- Data/godzina (tylko data) (ograniczone do porównywania z innymi wartościami tylko daty i funkcjami DateAdd i DateDiff)
- Currency
- Liczbowy całkowity
Funkcje
Aby zapoznać się z funkcjami skalarnymi, których można używać w kolumnie z formułą, przejdź do artykułu Odwołanie do formuły — Dataverse kolumny formuł.
* Funkcje Tekst i Wartość działają tylko z liczbami całkowitymi, w których nie jest używany separator dziesiętny. Separator dziesiętny jest zmienny w różnych lokalizacjach regionalnych. Ponieważ kolumny formuł są obliczane bez znajomości lokalizacji, nie można prawidłowo zinterpretować ani wygenerować separatora dziesiętnego.
* Argument StartOfWeek nie jest obsługiwany w przypadku funkcji WeekNum i Weekday w kolumnach formuły.
Przykład funkcji
Podpis | Przykład |
---|---|
Pobierz wartość daty. | DateAdd(UTCNow(),-1,TimeUnit.Years) |
Wytyczne i ograniczenia
W tej sekcji opisano wytyczne i znane ograniczenia dotyczące kolumn formuł w Dataverse.
Sprawdzanie poprawności użycia pól walutowych
- Kolumny z formułami nie obsługują używania w formule kolumny waluty pokrewnej tabeli, tak jak w tym przykładzie.
- Bezpośrednie korzystanie z kolumn waluty i kursów wymiany w formułach jest obecnie nieobsługiwane. Korzystanie z kolumn walutowych i kursów walutowych odbywa się za
Decimal
pomocą funkcji, takiej jakDecimal(currency column)
lubDecimal(exchange rate)
. FunkcjaDecimal
upewnia się, że dane wyjściowe mieszczą się w akceptowanym zakresie. Jeśli wartość kolumny waluty lub kursu wymiany przekracza akceptowany zakres, formuła zwraca wartość null. - Kolumny podstawowe walut nie są obsługiwane w wyrażeniach kolumn formuł, ponieważ są to kolumny systemowe używane do celów raportowania. Jeśli chcesz uzyskać podobny wynik, możesz użyć typu kolumny waluty wraz z kombinacją kolumn kursu wymiany jako
CurrencyField_Base = (CurrencyField / ExchangeRate)
.
Sprawdzanie poprawności użycia kolumn daty i godzin
- Zachowanie kolumn formuły daty i czasu można zaktualizować tylko wtedy, gdy nie jest ono używane w innej kolumnie formuły.
- W przypadku kolumn z formułą typu data i godzina podczas korzystania z
DateDiff
tej funkcji upewnij się, że:- Nie można porównywać kolumny Zachowanie lokalne użytkownika ani używać jej z kolumną
DateTime(TZI)/DateOnly
zachowania. - Kolumny zachowania lokalne użytkownika można porównywać lub używać tylko z inną kolumną zachowania lokalną użytkownika.
DateTime(TZI)
Kolumny Zachowanie mogą być porównywane lub używane wDateDiff
funkcjach z innąDateTime(TZI)/DateOnly
kolumną Zachowanie.DateOnly
Kolumny zachowania mogą być porównywane lub używane w funkcji DateDiff z innąDateTime(TZI)/DateOnly
kolumną zachowania.
- Nie można porównywać kolumny Zachowanie lokalne użytkownika ani używać jej z kolumną
- Kolumny daty i godziny oraz funkcje
UTCNow()
Now()
daty i godziny nie mogą być przekazywane jako parametr do funkcji ciągów.
Użycie kolumny formuły w polach zestawienia
- Prosta kolumna z formułą to taka, w której formuła używa kolumn z tego samego rekordu lub używa zakodowanych na stałe wartości. W przypadku kolumn zestawienia kolumny formuł muszą być prostymi kolumnami formuł, na przykład jak w tej kolumnie zestawienia.
- Kolumna z formułą, która jest zależna od funkcji
UTCNow()
ograniczonych czasowo iUTCToday()
nie może być używana w polu zestawienia.
Zalecenia dotyczące funkcji tekstu dla wyrażeń Power Fx
Kolumny z formułami nie obsługują
Text()
funkcji z pojedynczym argumentem typu Liczba. Liczbą może być liczbą całkowitą, dziesiętną lub walutą.Kolumny formuł nie obsługują liczb w następujących konfiguracjach:
- Funkcje ciągów. Są to funkcje ciągów mające zastosowanie tam, gdzie oczekiwanym argumentem jest tekst: Upper, Lower, Left, Right, Concatenate, Mid, Len, StartsWith, EndsWith, TrimEnds, Trim, Substitute i Replace.
- W formułach niejawnych, takich jak
12 & "foo"
, lub12 & 34
, lub"foo" & 12
. - Numer wewnętrzny do wymuszania tekstu nie jest obsługiwany. Zalecamy użycie
Text(Number, Format)
do konwersji liczby na tekst. W przypadku, gdyString
argument jest przekazywanyText
w funkcji,Format
argument nie jest obsługiwany. - Oto przykład użycia
Text
tej funkcji w celu przekonwertowania liczby na tekst i dołączenia do niej ciągu:
Concatenate(Text(123,"#"),"ab") Text(123,"#") & "foo"
Specyficzne dla ustawień regionalnych tokeny formatowania, takie jak „.” i „,”, nie są obsługiwane w kolumnach formuł.
Sprawdzanie poprawności zakresu kolumn formuł
- Nie można ustawić właściwości Wartość minimalna ani Wartość maksymalna kolumny z formułą.
- Wszystkie obliczenia wewnętrzne powinny leżeć w zakresie Dataverse dla kolumn z formułami typu dziesiętnego (-100000000000 do 100000000000).
- Zakodowane na stałe wartości literałów wprowadzane na pasku formuły powinny leżeć w zakresie Dataverse.
- Jeśli istnieje kolumna numeryczna o wartości null, wówczas podczas operacji pośrednich jest brana za wartość 0. Na przykład,następnie
a+b+c and If a = null, b=2, c=3
kolumna formuły daje0 + 2 + 3 = 5
.- To zachowanie różni się od kolumn obliczeniowych w tym przypadku, ponieważ kolumny obliczeniowe dają
null + 2 + 3 = null
.
- To zachowanie różni się od kolumn obliczeniowych w tym przypadku, ponieważ kolumny obliczeniowe dają
Ogólne sprawdzanie poprawności zakresu kolumn formuł
- Kolumny formuł mogą odwoływać się do innych kolumn formuł, ale kolumna formuły nie może się odwoływać do samej siebie.
- Kolumny z formułami nie obsługują łańcuchów cyklicznych, takich jak
F1 = F2 + 10, F2 = F1 * 2
. - Maksymalna długość wyrażenia formuły w kolumnach formuł wynosi 1000 znaków.
- Maksymalna głębokość dozwolona w kolumnach formuł wynosi 10. Głębokość jest definiowana jako łańcuch kolumn z formułami odwołujący się do innych kolumn z formułami lub kolumnami zestawień.
- Na przykład,
table E1, F1 = 1*2, table E2, F2 - E1*2
. W tym przykładzie głębokość F2 wynosi 1.
- Na przykład,
- W aplikacjach opartych na modelu sortowanie jest wyłączone w następujących obszarach:
- Kolumna formuły zawierająca kolumnę powiązanej tabeli.
- Kolumna formuły zawierająca kolumnę logiczną (na przykład kolumnę adresu).
- Kolumna formuł zawierająca inną kolumnę obliczaną lub kolumnę formuły.
- Kolumna z formułą, która korzysta z funkcji ograniczonej w czasie
UTCNow()
.
- Kolumny typu Numer cały z formatem Język, Czas trwania, Strefa czasowa nie są obsługiwane w kolumnach formuł.
- Kolumny typu Ciąg z formatem Wiadomość e-mail, Obszar tekstu, Symbol znacznika i Adres URL nie są obsługiwane w kolumnach formuł.
- Kolumny formuł nie wyświetlają wartości, kiedy aplikacja mobilna jest w trybie offline.
- Nie można uruchamiać przepływów pracy ani wtyczek w kolumnach z formułami.
- Nie zaleca się używania kolumn obliczanych w kolumnach formuł i na odwrót.
- Reguły wykrycia duplikatów nie są wyzwalane w przypadku kolumn formuł.
- Tej
Now
funkcji można używać z kolumnami z formułami.Now()
Ma lokalne zachowanie użytkownika iUTCNow()
ma zachowanie niezależne od strefy czasowej. - Dla kolumn dziesiętnych można ustawić właściwość dokładności.
- Domyślna wartość typu danych formuły jest ustawiona na Dziesiętny dla formuł zwracających wartość liczbową.
- Aktualizowanie formatu kolumny z formułą liczb całkowitych nie jest obsługiwane.
Kolumny formuł typów danych, których nie można tworzyć
- Currency
Zobacz też
Omówienie rozwiązania Microsoft Power Fx
Formuła, kolumny obliczane i kolumny zestawień, w których jest używany kod