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.
Zwraca tabelę zawierającą iloczyn kartezjański każdego wiersza w tabeli table1 i w tabeli będącej wynikiem obliczenia wyrażenia table2 w kontekście bieżącego wiersza z tabeli table1.
Składnia
GENERATEALL(<table1>, <table2>)
Parametry
table1
Dowolne wyrażenie języka DAX zwracające tabelę danych.table2
Dowolne wyrażenie języka DAX zwracające tabelę danych.
Wartość zwracana
Tabela zawierająca iloczyn kartezjański każdego wiersza w tabeli table1 i w tabeli będącej wynikiem obliczenia wyrażenia table2 w kontekście bieżącego wiersza z tabeli table1.
Uwagi
Jeśli obliczenie wyrażenia table2 dla bieżącego wiersza w tabeli table1 spowoduje zwrócenie pustej tabeli, bieżący wiersz z tabeli table1 będzie umieszczony w wynikach, a kolumny odpowiadające tabeli table2 będą miały dla niego wartości null. Jest to zachowanie odmienne od zachowania funkcji GENERATE(), w przypadku której bieżący wiersz z tabeli table1 nie zostanie umieszczony w wynikach.
Wszystkie nazwy kolumn z tabel table1 i table2 muszą być unikatowe; w przeciwnym razie zostanie zwrócony błąd.
Przykład
W poniższym przykładzie użytkownik chce uzyskać tabelę podsumowania sprzedaży wg regionów i kategorii produktów dla kanału odsprzedawców, która będzie podobna do następującej tabeli:
SalesTerritory[SalesTerritoryGroup] |
ProductCategory[ProductCategoryName] |
[Reseller Sales] |
|---|---|---|
Europe |
Accessories |
$ 142,227.27 |
Europe |
Bikes |
$ 9,970,200.44 |
Europe |
Clothing |
$ 365,847.63 |
Europe |
Components |
$ 2,214,440.19 |
ND |
Accessories |
|
ND |
Bikes |
|
ND |
Clothing |
|
ND |
Components |
|
North America |
Accessories |
$ 379,305.15 |
North America |
Bikes |
$ 52,403,796.85 |
North America |
Clothing |
$ 1,281,193.26 |
North America |
Components |
$ 8,882,848.05 |
Pacific |
Accessories |
$ 12,769.57 |
Pacific |
Bikes |
$ 710,677.75 |
Pacific |
Clothing |
$ 22,902.38 |
Pacific |
Components |
$ 108,549.71 |
Powyższa tabela została utworzona za pomocą następującego kodu:
GENERATEALL(
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])
,SUMMARIZE(ProductCategory
, [ProductCategoryName]
, "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
)
)
Pierwsza instrukcja SUMMARIZE tworzy tabelę grup terytoriów, gdzie każdy wiersz jest grupą terytoriów, tak jak pokazano poniżej:
SalesTerritory[SalesTerritoryGroup]
North America
Europe
Pacific
ND
Druga instrukcja SUMMARIZE tworzy tabelę grup kategorii produktów ze sprzedażą odsprzedawców dla każdej grupy, tak jak pokazano poniżej:
ProductCategory[ProductCategoryName]
[Reseller Sales]
Bikes
$ 63,084,675.04
Components
$ 11,205,837.96
Clothing
$ 1,669,943.27
Accessories
$ 534,301.99
Jednak wykonanie obliczeń na powyższej tabeli w kontekście każdego wiersza z tabeli grup terytoriów spowoduje uzyskanie innych wyników dla każdego terytorium.