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, przyjazne dla ludzi języki 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ę w 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 Nowa kolumna.
Wprowadź następujące informacje:
- Nazwa wyświetlana kolumny.
- Opcjonalnie wpisz Opis kolumny.
Jako Typ danych wybierz fx Formula.
Wpisz formułę lub użyj sugestii dotyczących formuł:
Wprowadź formułę Power Fx w polu Formuła. Więcej informacji: Typy formuł
- Wybierz dodatkowe właściwości:
- Wybierz Z możliwością wyszukiwania, jeśli chcesz, aby ta kolumna była dostępna w widokach, wykresach, pulpitach nawigacyjnych i w Wyszukiwaniu zaawansowanym.
- Opcje zaawansowane:
- Jeśli w formule jest obliczana wartość dziesiętna, rozwiń Opcje zaawansowane w celu zmiany liczby miejsc dziesiętnych (dokładności) od 0 do 10. Domyślna wartość wynosi 2.
- Wybierz pozycję Zapisz.
Wpisz formułę
W następującym przykładzie przedstawiono kolumnę formuły o nazwie Łączna cena. Kolumna Liczba jednostek to typ danych o liczbie pełnej. Kolumna Cena to typ danych dziesiętnych.
W kolumnie formuły jest wyświetlany wynik ceny z wartością Liczba jednostek.
Wprowadzona formuła określa typ kolumny. Nie możesz zmienić typu kolumny po utworzeniu kolumny. Oznacza to, że możesz zmienić formułę po utworzeniu kolumny tylko wtedy, gdy nie zmienia to typu kolumny.
Na przykład formuła cena * rabat tworzy typ kolumny numeru. Możesz zmienić formułę cena * rabat na cena * (rabat +10%), ponieważ nie zmienia to typu kolumny. Jednak nie można zmienić formuły cena * rabat 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ę, należy włączyć ustawienie środowiska sugestie AI dla kolumn formuł. Więcej informacji: Sugestie AI do formuły kolumn
Przykład wprowadzania danych w języku naturalnym
Załóżmy, że jest kolumna Klasyfikacja klientów , która pokazuje ich klasyfikację według kont.
W polu Pobierz sugestie formuły wprowadź formułę w języku naturalnym, na przykład Jeśli ocena w kolumnie klasyfikacji jest równa lub większa niż 5, pokaż Dobrze, a jeśli mniejsza niż 5, pokaż Średnio, a jeśli wartość jest pusta, pokaż Źle, a następnie wybierz przycisk strzałki (Enter).
Następnie skopiuj Zasugerowaną formułę.
I wklej go do pola 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ź obliczoną kolumnę Opis oceny, która może wyglądać w następujący sposób.
Odopowiedzialne AI
Aby uzyskać informacje o odpowiedzialnym używaniu AI, przejdź do tych zasobów:
- Często zadawane pytania na temat odpowiedzialnego tworzenia aplikacji i tabel przy użyciu konwersacji
- FAQ na temat korzystania z funkcji AI w Power Apps w sposób odpowiedzialny
Operatory
W kolumnie formuły można używać następujących operatorów:
+, -, *, /, %, in, exactin, &
Aby uzyskać więcej informacji, przejdź do tematu Operatory w Power Apps.
Typy danych
W kolumnie z formułą możesz wyświetlić następujące typy danych:
- Tekst
- Liczba dziesiętna
- Wybór Tak/Nie (wartość logiczna)
- Datetime
- Liczba całkowita
Typy danych waluta i wybór (dawniej zestawy opcji) nie są obecnie obsługiwane.
Typy funkcji
W kolumnie z formułą możesz używać następujących typów funkcji:
- Dziesiętne
- Ciąg
- Wartość logiczna
- Zestaw opcji
- 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)
- Waluta
- Liczba całkowita z wartością dziesiętną
Funkcje
W kolumnie z formułą możesz użyć następujących funkcji skalarnych:
Value *
Text *
* Funkcje Text i Value działają tylko z liczbami całkowitymi, przy użyciu których nie jest zaangażowany 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 funkcjach WeekNum i Dzień tygodnia w kolumnach formuł.
Przykład funkcji
Podpis | Przykład |
---|---|
Pobierz wartość daty. | DateAdd(UTCNow(),-1,TimeUnit.Years) |
Tworzenie kolumny z formułą dziesiętną
Utwórz kolumnę z formułą, która zwraca liczbę dziesiętną.
- Podczas tworzenia kolumny wprowadź następujące informacje:
- Nazwa wyświetlana kolumny.
- Opcjonalnie wpisz Opis kolumny.
- Jako Typ danych wybierz fx Formula.
- Wprowadź formułę zwracającą wartość liczbową na pasku formuły . W tym przykładzie tworzona jest kolumna z formułą o nazwie Łączna kwota. Kolumna Cena jednostkowa jest typu danych dziesiętnych.
- Rozwiń węzeł Opcje zaawansowane, wybierz opcję Dziesiętny jako typ danych Formuła, a następnie ustaw wymaganą liczbę miejsc dziesiętnych.
- Wybierz pozycję Zapisz.
Tworzenie kolumny z formułą liczb całkowitych
Utwórz kolumnę z formułą, która zwraca liczbę całkowitą.
- Podczas tworzenia kolumny wprowadź następujące informacje:
- Nazwa wyświetlana kolumny.
- Opcjonalnie wpisz Opis kolumny.
- Jako Typ danych wybierz fx Formula.
- Wprowadź formułę zwracającą wartość liczbową na pasku formuły . W tym przykładzie tworzona jest kolumna z formułą o nazwie Liczba jednostek. Kolumny Cena łączna i Cena jednostkowa są danymi typu dziesiętnego.
- Rozwiń węzeł Opcje zaawansowane, a następnie wybierz opcję Liczba całkowita jako typ danych Formuła i ustaw wymagany format kolumny liczb całkowitych.
- Wybierz pozycję Zapisz.
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 waluty i kursów wymiany jest możliwe za pośrednictwem funkcji
Decimal
, jak np.Decimal(currency column)
lubDecimal(exchange rate)
. FunkcjaDecimal
zapewnia, że wynik znajduje 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. Aby uzyskać podobny rezultat, można użyć typu kolumny waluty wraz z kombinacją kolumn kursów wymiany:
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 formuły daty i czasu podczas korzystania z funkcji
DateDiff
należy się upewnić, że:- Kolumny zachowania lokalnej użytkownika nie można porównać ani użyć z kolumną zachowania
DateTime(TZI)/DateOnly
. - Kolumny zachowania lokalne użytkownika można porównywać lub używać tylko z inną kolumną zachowania lokalną użytkownika.
- Kolumny zachowania
DateTime(TZI)
mogą być porównywane lub używane w funkcjach z inną kolumnąDateTime(TZI)/DateOnly
zachowaniaDateDiff
. - Kolumny zachowania
DateOnly
mogą być porównywane lub używane w funkcjach DateDiff z inną kolumną zachowaniaDateTime(TZI)/DateOnly
.
- Kolumny zachowania lokalnej użytkownika nie można porównać ani użyć z kolumną zachowania
- Kolumny daty i funkcje daty oraz godziny
UTCNow()
Now()
nie mogą być przekazywane jako parametr funkcji ciągu.
Użycie kolumny formuły w polach zestawienia
- W prostej kolumnie formuły są używane kolumny z tego samego rekordu lub wartości zapisane na dysku twardym. W przypadku kolumn zestawienia kolumny formuł muszą być prostymi kolumnami formuł, na przykład jak w tej kolumnie zestawienia.
- Kolumna formuły zależy od funkcji związanych z czasem
UTCNow()
iUTCToday()
i nie może być używana w polu zestawienia.
Zalecenia dotyczące funkcji tekstu dla wyrażeń Power Fx
Kolumny formuł nie obsługują funkcji
Text()
z jednym 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 niejawnych formułach, takich jak
12 & "foo"
lub12 & 34
lub"foo" & 12
. - Numer wewnętrzny do wymuszania tekstu nie jest obsługiwany. Zaleca się użycie funkcji
Text(Number, Format)
w celu przekonwertowania liczby na tekst. W przypadku, gdy argument typuString
jest przekazywany do funkcjiText
, argumentFormat
nie jest obsługiwany. - Poniżej podano przykład użycia funkcji
Text
do przekonwertowania liczby na tekst i dołączania do niego 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 lub Wartość maksymalna kolumny formuły.
- 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 dla formuły
a+b+c and If a = null, b=2, c=3
kolumna formuły daje wartość0 + 2 + 3 = 5
.- To zachowanie jest inne niż dla kolumn obliczanych, dla których jest w tym przypadku
null + 2 + 3 = null
.
- To zachowanie jest inne niż dla kolumn obliczanych, dla których jest w tym przypadku
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 formuł nie obsługują łańcuchów cyklicznych np.
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 formuł odwołujących się do innych formuł lub kolumn zestawienia.
- 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 opcjach:
- 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 formuły, która korzysta z funkcji powiązanej z czasem
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ł.
- Funkcja
Now
może być używana z kolumnami formuł. FunkcjaNow()
ma zachowanie lokalne dla użytkownika, aUTCNow()
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.
Funkcje Power Fx nie są obecnie obsługiwane
- Power
- Sqrt
- Exp
- Ln
- ^ (operator)
Kolumny formuł typów danych, których nie można tworzyć
- Opcje (z wyjątkiem opcji Tak/Nie)
- Waluta
Zobacz też
Omówienie rozwiązania Microsoft Power Fx
Formuła, kolumny obliczane i kolumny zestawień, w których jest używany kod