Jeśli tabela przestawna zawiera wiele wymiarów poziomych, wówczas bieżący segment wiersza będzie zawierać tylko kolumny z takimi samymi wartościami co bieżąca kolumna we wszystkich wierszach wymiaru, z wyjątkiem wiersza przedstawiającego ostatni wymiar poziomy w kolejności sortowania między polami. Kolejność sortowania między polami dla wymiarów poziomych w tabelach przestawnych jest zdefiniowana przez kolejność wymiarów od góry do dołu..
InformacjaSortowanie według wartości Y w wykresach albo sortowanie według kolumn wyrażeń w tabelach jest niedozwolone, gdy w dowolnym z wyrażeń wykresu stosowana jest ta funkcja wykresu. W takiej sytuacji te opcje sortowania są automatycznie wyłączone. Kiedy używasz tej funkcji wykresu w wizualizacji albo tabeli, sortowanie wizualizacji zostanie przywrócone do sortowania danych wejściowych tej funkcji.
Jeśli ColumnNo jest równe 1, wykres zwróci zero. W przeciwnym razie zwróci wynik Sum(Sales) / Before(Sum(Sales). W tym przykładzie wykres zwróci wartości od kolumny 2, podczas gdy kolumna 1 zwróci zero.
Przykład — podstawy ColumnNo
Przegląd
Zestaw danych zawiera kwartalne dane dotyczące sprzedaży. W tym przykładzie mnoży się wartość sprzedaży dla każdego okresu przez numer kolumny okresu.
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.
Skrypt ładowania zawiera:
Zestaw danych załadowany do tabeli o nazwie Example.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę przestawną i dodaj to pole jako wymiar kolumny:
Period
Utwórz następującą miarę:
=Sum(Sales) * ColumnNo() w celu obliczenia sumy wartości sprzedaży pomnożonej przez numer kolumny, którym w tym przykładzie jest kwartał.
Tabela wynikowa
Q1
Q2
Q3
Q4
1000
4000
9000
16000
Suma wartości sprzedaży dla każdego kwartału jest mnożona przez wynik funkcji ColumnNo. Na przykład wartość sprzedaży w Q4 wynosi 4000, a wynik funkcji ColumnNo zwraca 4, ponieważ Q4 jest czwartą kolumną. Dlatego wyrażenie miary mnoży 4000 przez 4 i zwraca 16000.
Przykład — zastosowanie ColumnNo
Przegląd
Zestaw danych zawierający kwartalne wyniki sprzedaży. Firma chce zwiększyć dane sprzedaży dla Q1 i Q3 (kolumny z liczbami nieparzystymi) o 5% i zwiększyć sprzedaż dla pozostałych kolumn (Q2 i Q4) o 10%.
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.
Skrypt ładowania zawiera:
Zestaw danych załadowany do tabeli o nazwie Example.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę przestawną i dodaj to pole jako wymiar kolumny:
Period
Utwórz następujące miary:
=Sum(Sales) w celu obliczenia sumy sprzedaży.
=If(Odd(ColumnNo()), Amount * 1.05, Amount * 1.10), aby zwiększyć kwoty sprzedaży w kolumnach o numerach nieparzystych o 5%, a w pozostałych kolumnach o 10%.
Wyniki pokazują, że wartości sprzedaży dla kolumn o numerach nieparzystych, 1 i 3 (Q1 i Q3), wzrosły o 5%, podczas gdy w pozostałych kolumnach o numerach parzystych, 2 i 4 (Q2 i Q4), wzrosły o 10%.
Przykład — zaawansowane zastosowanie ColumnNo
Przegląd
W tym przykładzie wykorzystano ten sam zestaw danych co w poprzednim zastosowaniu, aby przedstawić skumulowaną sumę wartości w każdym okresie.
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.
Skrypt ładowania zawiera:
Zestaw danych załadowany do tabeli o nazwie Example.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę przestawną i dodaj to pole jako wymiar kolumny:
Period
Utwórz następującą miarę:
=RangeSum(Before(Sum(Sales), 0, ColumnNo())) w celu obliczenia sumy skumulowanej.
Tabela wynikowa
Q1
Q2
Q3
Q4
1000
3000
6000
10000
Ten przykład pokazuje, jak używać funkcji ColumnNo do generowania sumy bieżącej. Poniżej wyjaśniono więcej szczegółów na temat wyrażenia miary: RangeSum(Before(Sum(Sales), 0, ColumnNo())).
Sum(Sales): oblicza sumę sprzedaży dla bieżącej komórki w tabeli przestawnej.
Before(Sum(Sales), 0, ColumnNo()): funkcja Before pobiera wartości z poprzednich kolumn w tabeli przestawnej.
Argument Sum(Sales) zapewnia, że funkcja pobiera zsumowane Sales dla poprzednich komórek.
Wartość argumentu offset 0 określa przesunięcie dla kolumny (pozostając w bieżącym segmencie wiersza bieżącej kolumny).
ColumnNo() określa, o ile kolumn należy się cofnąć podczas pobierania danych. Dynamicznie reprezentuje pozycję bieżącej kolumny (na przykład dla kolumny 3 ColumnNo() równa się 3, więc funkcja uwzględnia trzy kolumny wstecz).
RangeSum(): funkcja RangeSum oblicza sumę zakresu podanych wartości. Obsługuje wartości null, traktując je jako zero. W tym wyrażeniu RangeSum zasadniczo generuje sumę skumulowaną, sumując wszystkie poprzednie wartości Sales pobrane przez funkcję Before(), a także sprzedaż bieżącej komórki.
Czy ta strona była pomocna?
Jeżeli natkniesz się na problemy z tą stroną lub jej zawartością — literówkę, brakujący krok lub błąd techniczny — daj nam znać!