Subscribe RSS

Polskie blogi specjalistów IT / Microsoft

agregator blogów
  • O usłudze
  • ziembor.pl/blog/
  • Gdzie szukam?
    • wss.pl
    • ITBlogs
    • Jogger Techblog
    • dobreprogramy
  • Inne agreagatory
    • zine.net.pl/TechBlogs
    • itblogs.pl/agregat/

Category: funkcje

Funkcje tablicowe #2

2012-03-25 Posted by Marcin under funkcje, funkcje tablicowe, Polskie blogi IT, sterowanie arkuszem, zaawansowane

W poprzednim wpisie pokazałam podstawy funkcji tablicowych. Dzisiaj pokażę ci bardziej zaawansowane zastosowanie.

Stworzyłem przykładową tabelę z kwartalnymi wynikami sprzedaży.

image0013 Funkcje tablicowe #2

Utworzyłem też pomocnicze listy z produktami i kwartałami. Przydadzą się za chwilę.

image0032 Funkcje tablicowe #2

Pokażę teraz, jak obliczyć sumę w zależności od wybranego produktu.

Stwórzmy najpierw listę w komórce B10 za pomocą sprawdzania poprawności. Na wstążce Dane wybierz przycisk Poprawność danych a następnie Poprawność danych … icon wink Funkcje tablicowe #2 Otworzy się okno dialogowe. Wybierz w nim sprawdzenie poprawności z listy i zaznacz komórki z listą produktów.

image0052 Funkcje tablicowe #2

W komórce B10 wybierz któryś produkt.

Do komórki obok wpiszemy funkcję tablicową obliczającą sumę sprzedaży dla wybranego produktu. Pamiętaj, żeby formułę zatwierdzić klawiszami Shift+Ctlr+Enter.

image0071 Funkcje tablicowe #2

Operator * w tym wypadku nie jest mnożeniem wprost. Należy patrzeć na ten zapis jak na mnożenie dwóch macierzy, w tym jednej z warunkiem.

Upraszczając. Funkcja sprawdza kolejne pozycje z listy komórek B3:B6 i porównuje je z komórką B10. Dla spełnionego warunku, czyli dla wiersza, w którym znajduje się wartość z komórki B10 obliczana jest suma z zakresu C3:F6.

W komórce B11 stwórz sprawdzanie poprawności zawierającą listę kwartałów z zakresu J3:J6. Do komórki obok wpiszemy analogiczną formułę tablicową pozwalającą obliczać sprzedaż w wybranym kwartale.

image009 Funkcje tablicowe #2

Działa ona analogicznie do poprzedniej, z tym, że oblicza sumę dla kolumny spełniającej warunek.

W formule tablicowej może być klika warunków. Są one połączone ze sobą oraz z zakresem sumowania operatorem *.

image011 Funkcje tablicowe #2

W tym przykładzie, wybierana jest wartość na przecięciu wiersza (produktu) i kolumny (kwartału).

Warunek nie koniecznie musi dotyczyć nagłówków wierszy i kolumn. Możesz również dodawać warunki dla sumowanego zakresu.

image013 Funkcje tablicowe #2

Wpisana formuła sumuje jedynie wartości większe od podanego w warunku.

W ostatnim przykładzie wykorzystam funkcję MIN.K, podającą minimalną k-tą wartość w zakresie. Funkcja ma dwa argumenty: Tablica określający zakres danych oraz K określający zwracaną pozycje licząc od najmniejszej liczby.

image015 Funkcje tablicowe #2

Wpisana funkcja podaje sumę wszystkich elementów, które są mniejsze lub równe 4 najmniejszemu elementowi w zakresie.

W przykładach wykorzystywaliśmy funkcje SUMA, jako funkcję agregującą. Możesz oczywiście wykorzystać inne funkcje agregujące: ŚREDNIA, funkcje liczące odchylenia i jeszcze kilka innych.

Plik z przykładami, jest do pobrania tutaj.

Related Posts:

  • Funkcje tablicowe #1
  • Funkcja WYSZUKAJ.PIONOWO +
  • Sortowanie za pomocą funkcji #2

Funkcje tablicowe #1

2012-03-10 Posted by Marcin under funkcje, funkcje tablicowe, Polskie blogi IT, sprytne, zaawansowane

Excel poza standardowymi funkcjami posiada również „tajemnicze” funkcje tablicowe. Zacznijmy jednak od krótkiej definicji tablicy.

Tablica jest obszarem/zakresem, w którym znajdują się dane, przeważnie liczbowe. Tablica może być jednowymiarowa (w matematyce zwany wektorem) lub wielowymiarowa. W Excelu możliwe do zastosowania są jedynie tablice do dwóch wymiarów.

Prostym przykładem tablicy jest zamieszone poniżej zestawienie ceny i wielkości sprzedaży produktów.

image0012 Funkcje tablicowe #1

Mając takie dane, aż chciałoby się obliczyć wartość sprzedaży. Podchodząc w sposób najprostszy, policzylibyśmy dla każdego produktu iloczyn ceny i wielkości sprzedaży. A następnie sumę wartości sprzedaży poszczególnych produktów.

image0031 Funkcje tablicowe #1

Pełną sumę można obliczyć za pomocą jednej formuły.

image0051 Funkcje tablicowe #1

Pierwszą rzeczą, jaka rzuca się w oczy jest objęcie całej funkcji klamrami. Jeżeli zobaczysz taką funkcję, od razu wiesz, że jest to funkcja tablicowa.

Druga sprawa, to mnożenie zakresów a nie pojedynczych komórek.

Tak zapisana funkcja mnoży pierwszy element z pierwszego zakresu z pierwszym elementem drugiego zakresu. Następnie to samo robi z drugim, trzecim i tak dalej. Następnie te iloczyny sumuje.

Funkcję tablicową nie zatwierdza się klawiszem Enter. Aby poprawnie ją zatwierdzić, musisz nacisnąć Ctrl+Shift+Enter.

W funkcjach tablicowych, tak jak i w zwykłych, można stosować nazwy. Stworzyłem dwie: Ceny obejmująca komórki C3:C6, oraz Sprzedaż – D3:D6.

image007 Funkcje tablicowe #1

Funkcja działa identycznie jak z wpisanymi zakresami.

Plik z przykładem możesz pobrać tutaj.

 

W kolejnym wpisie pokażę bardziej rozbudowane zastosowania funkcji tablicowych.

Related Posts:

  • Funkcje tablicowe #2
  • Unikatowe wartości #2
  • Funkcja WYSZUKAJ.PIONOWO +

Unikatowe wartości #2

2012-03-01 Posted by Marcin under funkcje, Polskie blogi IT, sprytne, zaawansowane

W poście Unikatowe wartości, pokazałem jak za pomocą tabeli przestawnej uzyskać unikatowe wartości z listy powtarzających się pozycji. Dzisiaj pokażę, jak zrobić to samo za pomocą funkcji.

Wykorzystam tą samą listę, co poprzednio.

image001 Unikatowe wartości #2

Dodaj nową kolumnę przed listą nazwisk. Ponumerujemy w niej nowe nazwiska. Przy pierwszym nazwisku wstaw 1. Jako, że jest to pierwsze nowe nazwisko na liście, patrząc od góry.

Następnie wpisz poniższą formułę.

image003 Unikatowe wartości #2

Funkcja LICZ.JEŻELI sprawdza ile razy występuje nazwisko na liście zaczynającej się od góry a kończącej się na poziomie sprawdzanego nazwiska. Musisz pamiętać, żeby zablokować znakami $, początek adresu, tak, aby przeciągając funkcje w dół, pozostał na swoim miejscu.

Funkcja JEŻELI, sprawdza, czy nazwisko występuje pierwszy raz, przyrównuje wynik LICZ.JEZELI do 1.  Jeżeli nazwisko występuje po raz pierwszy, zwiększa wartość z poprzedniej komórki o 1 (co oznacza, że zostało znalezione nowe nazwisko).

W naszym przykładzie, unikatowych nazwisk jest 12.

W kolumnie obok wpisz poniższą formułę i przeciągnij ją do końca listy nazwisk.

image005 Unikatowe wartości #2

Funkcja WYSZUKAJ.PIONOWO wyszukuje, w tabeli obok, nazwisko z kolejnym numerem. Różnica pomiędzy numerem aktualnego wiersza i wiersza nagłówka podaje numer nazwiska.

Funkcja JEŻELI sprawdza, czy różnica pomiędzy numerem aktualnego wiersza i numerem wiersza nagłówka większa od numeru w ostatnim wierszu. Jeżeli tak, to oznacza to, że nie ma więcej unikatowych nazwisk na liście i wpisywany jest ciąg pusty do komórki.

Plik z przykładem do ściągnięcia tutaj.

Related Posts:

  • Funkcje tablicowe #1
  • Funkcja WYSZUKAJ.PIONOWO +
  • Złożone formuły

Sterowanie dwoma wykresami

2011-10-29 Posted by Marcin under funkcje, Polskie blogi IT, sprytne, sterowanie arkuszem, Sterowanie zakresem danych, wykres

Czasami jest konieczność pokazania danych szczegółowych w porównaniu z innymi okresami. Coś takiego można zrobić za pomocą sterowanego paskiem przewijania podwójnego wykresu.

Przygotowałem przykładowe dane składające się z 15 lat sprzedaży 5 produktów. Na podstawie tych danych zbuduję wykresy przedstawiające te informacje.

Obok danych wstawiłem pasek przewijania. Sformatowałem go następująco.

image0016 Sterowanie dwoma wykresami

Wartość minimalną ustawiłem na 1 a maksymalna na 15 – liczbę obserwowanych lat.

Dodałem następnie dodatkową kolumnę, która pokazuje sumę sprzedaży dla danego wybranego suwakiem roku.

image0021 Sterowanie dwoma wykresami

Pierwsza funkcja PRZESUNIĘCIE wybiera rok, do którego odwołuje się pozycja paska przewijania i porównuje go z numerem roku z aktualnego wiersza. Jeżeli obydwie wartości są równe, wówczas druga funkcja PRZESUNIĘCIE wpisuje wynik rocznej sprzedaży.

Na podstawie kolumn A, B i H tworzę wykres kolumnowy z dwoma seriami.

image004 Sterowanie dwoma wykresami

Następnie zmieniam jego formatowane. Usuwam legendę, poziome linie oraz oś Y. Zmieniam kolor serii Razem na szary a Sprzedaż na czerwony.

Dalej, ustawiam nakładanie serii na 100%. Oznacza to, że seria Sprzedaż będzie dokładnie na serii Razem. Zmniejszam również szerokość przerwy pomiędzy słupkami na 50%. Będą wówczas szersze i lepiej widoczne.

image006 Sterowanie dwoma wykresami

Na koniec, dodaję nad słupkami serii Sprzedaż wartość, którą reprezentuje czerwony słupek. Formatuję go niestandardowo formatem # ##0;-# ##0;; co oznacza, że wartości dodatnie i ujemne będą pokazywane, a zero i tekst nie będą. Pozwala to pokazać wartość jedynie nad czerwonym słupkiem.

image008 Sterowanie dwoma wykresami

W dalszej kolejności, na podstawie pozycji suwaka, używając funkcji PRZESUNIĘCIE wybieram wiersz z danego roku.

 image010 Sterowanie dwoma wykresami

W komórkę B19 wpisuję formułę będącą tytułem wykresu.

 image012 Sterowanie dwoma wykresami

W tytuł wykresu wpisuję odwołanie do tej komórki: =Wykres!$B$19.

Na podstawie danych rocznych wybranych za pomocą paska przewijania, tworzę wykres pierścieniowy.

image0132 Sterowanie dwoma wykresami

Zmieniam kolory poszczególnych produktów na odcienie szarości. Następnie dodaję etykiety danych pokazujące wartości oraz udział procentowy w całości roku. Dla całego wykresu oraz dla legendy, ustawiam brak koloru dla tła i obramowania. Wykres nałożę na poprzedni, więc nie może go przesłaniać.

image0152 Sterowanie dwoma wykresami

Na koniec, nakładam wykres pierścieniowy na poprzednio utworzony tak, aby zmieścił się pomiędzy słupkami a tytułem wykresu.

image0171 Sterowanie dwoma wykresami

Cały plik możesz pobrać tutaj.

Related Posts:

  • Funkcja WYSZUKAJ.PIONOWO +
  • Nietypowy wykres #3
  • Nietypowy wykres #2

Funkcje daty

2011-10-23 Posted by Marcin under adresy, daty, funkcje, Polskie blogi IT

Wiele osób ma problemy z poprawnym operowaniem datami w Excelu.  Data w Excelu, to nic innego jak liczba sformatowana jako data. Świat w Excelu powstał 1 stycznia 1900. Tak wygląda liczba 1 sformatowana jako data.

Jeszcze kilka podstawowych informacji i przejdziemy do działań na datach. Jeden dzień (jedna doba) ma wartość jeden. Co za tym idzie, jedna godzina to 1/24, jedna minuta to 1/(24*60) a jedna sekunda – 1/(24*60*60).

Są dwie funkcje podające aktualną datę. Funkcja DZIŚ i TERAZ. Obydwie nie mają argumentów. Funkcja DZIŚ podaje samą  datę, natomiast funkcja TERAZ łącznie z godziną, minutami i sekundami.

image0015 Funkcje daty

Są funkcje pozwalające „wyciąć” z daty liczbę określającą numer roku, miesiąca, dnia miesiąca, godziny, minuty i sekundy. Argumentami tych funkcji jest data.

image0033 Funkcje daty

Funkcja DZIEŃ.TYG pozwala określić numer dnia tygodnia dla danej daty.

image0053 Funkcje daty

Funkcja ma dwa parametry: Liczba kolejna oraz Zwracany typ. Liczba kolejna jest datą dla której chcemy określić numer dnia tygodnia. W parametrze Zwracany typ określamy, który dzień jest pierwszym dniem tygodnia oraz jaki ma numer:

  • wartość parametru równa 1 określa niedzielę jako dzień numer 1 a sobotę jako 7
  • wartość parametru równa 2 określa poniedziałek jako dzień numer 1 a niedzielę jako 7
  • wartość parametru równa 3 określa poniedziałek jako dzień numer 0 a niedzielę jako 6.

Następnymi ciekawymi funkcjami są funkcje pozwalające określić inna datę względem daty odniesienia.

Pierwszą jest NR.SER.DATY, która podaje w wyniku datę, w której dzień miesiąca jest analogiczny do daty odniesienia miesiąc i rok jest uzależniony od liczby miesięcy przesunięcia. Funkcja posiada dwa parametry: Data początkowa i Miesiące. Data początkowa określa datę, do której się odnosimy. Parametr Miesiące określa przesunięcie o liczbę miesięcy względem daty odniesienia. Wartości dodatnie przesuwają w przód, ujemne w tył.

image0073 Funkcje daty

Drugą funkcją jest NR.SER.OST.DN.MIES, która daje w wyniku datę ostatniego dnia miesiąca przesuniętego względem daty odniesienia. Funkcja posiada, podobnie do poprzedniej, dwa parametry: Data początkowa i Miesiące. Data początkowa określa datę, do której się odnosimy. Parametr Miesiące określa przesunięcie o liczbę miesięcy względem daty odniesienia.

image0093 Funkcje daty

Na koniec uwaga. W operacjach na datach można używać podstawowych działań typu dodawanie i odejmowanie. Można więc uzyskać dowolne wyniki.

Plik z przykładami można pobrać tutaj.

Related Posts:

  • Złożone formuły
  • Błędy
  • Funkcje tablicowe #1

Funkcja WYSZUKAJ.PIONOWO +

2011-10-16 Posted by Marcin under funkcje, Polskie blogi IT, poprawność danych, sprytne, sterowanie arkuszem, zaawansowane

Czasami zdarza się, że musimy wyszukać dane w tabeli, które są uzależnione od kilku parametrów. Na przykład daty, regionu, sprzedawcy i produktu. Funkcja WYSZUKAJ.PIONOWO potrafi to zrobić dla jednego parametru. Dzisiaj pokaże, jak pomimo wszystko zaprzęgną ją do bardziej skomplikowanych działań.

Znalazłem w sieci tabelę z danymi dotyczącą sprzedaży. Są tam pola z datą, imieniem sprzedawcy, regionem sprzedaży, produktem, wielkością sprzedaży, wartością sprzedaży, zyskiem ze sprzedaży.

Funkcja WYSZUKAJ.PIONOWO ma cztery parametry: Szukana Wartość, Tabela, Nr Indeksu Kolumny i Przeszukiwany Zakres. Szukana wartość jest wartością łączącą dwie tabele. Wyszukiwana jest w pierwszej kolumnie Tabeli. Nr indeksu kolumny określa, z której kolumny Tabeli pobierania jest wartość. Przeszukiwany zakres przyjmuje wartości PRAWDA lub FAŁSZ. Jeżeli pisana jest wartość FAŁSZ, to funkcja wyszuka wynik dla dokładnego dopasowania Szukanej wartości, jeżeli go nie znajdzie, to zwróci błąd #N/D. Jeżeli jest wybrana wartość PRAWDA, to funkcja najdzie pozycję najbardziej dopasowaną do Szukanej wartości.

Aby móc zastosować tą funkcję, trzeba mieć jedną szukaną wartość. Najprościej jest to zrobić, łącząc wszystkie pola z kolumn wyboru w jedną komórkę  łącznikiem &.

image0014 Funkcja WYSZUKAJ.PIONOWO +

Następnie dodałem drugi arkusz ze słownikami dla danych z kolumn Miesiąc, Sprzedawca, Region i Produkt.

image0032 Funkcja WYSZUKAJ.PIONOWO +

Teraz stworzymy cztery nazwy zawierające zakresy słowników.

Zaznacz zakres słownika i naciśnij Menedżer nazw na wstążce Formuły.

image0052 Funkcja WYSZUKAJ.PIONOWO +

W pole nazwy wpisz ‘Daty’.

image0072 Funkcja WYSZUKAJ.PIONOWO +

Analogicznie zrób dla Sprzedawców – wpisz  nazwę ‘Sprzedawcy’, dla Regionu – ‘Regiony’ i dla Produktu – ‘Produkty’.

W ostatnim arkuszu stworzymy mechanizm wybierania danych. Nagłówki są analogiczne jak w poprzednim arkuszu. Wyboru parametrów wejściowych dokonywać będziemy za pomocą listy stworzonej w sprawdzaniu poprawności danych. Naciśnij przycisk Poprawność danych na wstążce Dane.

image0092 Funkcja WYSZUKAJ.PIONOWO +

W otwartym oknie z listy dozwolone wybierz ‘Lista’. Następnie w źródle wpisz po znaku ‘=’ nazwę ‘Daty’.

image0111 Funkcja WYSZUKAJ.PIONOWO +

To samo zrób dla pozostałych trzech pól wyboru.

Następnie, stwórz z tych komórek, kod pozwalający wyszukać odpowiedni wiersz w arkuszu z danymi.

image0131 Funkcja WYSZUKAJ.PIONOWO +

Mając te dane, możemy już przenosić za pomocą funkcji WYSZUKAJ.PIONOWO, dane z arkusza z danymi.

image0151 Funkcja WYSZUKAJ.PIONOWO +

Przeciągnij funkcję na kolejne dwie komórki i zmień numer kolumny na 7 a następnie na 8.

Teraz zmieniając dane w czterech pierwszych komórkach, możesz sterować pozostałymi danymi.

Gotowy plik możesz pobrać tutaj.

Related Posts:

  • Sortowanie za pomocą funkcji #2
  • Sortowanie za pomocą funkcji #1
  • Unikatowe wartości #2

Jak uniknąć powielania wprowadzonych danych

2011-10-12 Posted by Marcin under funkcje, Polskie blogi IT, poprawność danych, sprytne

Pisałem już wcześniej o sposobach kontroli jakości wprowadzanych danych. Używałem do tego Poprawności danych na wstążce Dane. Dzisiaj napiszę o kolejnym sposobie kontroli wpisów.

Pomyśl, że chciałbyś kontrolować listę wpisywanych pozycji, tak aby były unikatowe. Żeby to zrobić, zaznacz interesujący cię zakres komórek. Następnie kliknij na Poprawność danych na wstążce Dane.

image0013 Jak uniknąć powielania wprowadzonych danych

Z listy dozwolonych wpisów, wybierz Niestandardowe. W okno formuły wpisz funkcję LICZ.JEZELI.

Funkcja podaje liczbę wystąpień danego ciągu znaków w kontrolowanym zakresie. Posiada dwa parametry: Zakres i Kryteria. Zakres określa komórki, które są sprawdzane, a Kryteria porównywany ciąg znaków.

Wpisana formuła zlicza liczbę wystąpień wprowadzanego ciągu znaków we wskazanym zakresie i sprawdza, czy jest on mniejszy od 1. Czyli, czy nie występuje icon wink Jak uniknąć powielania wprowadzonych danych Jeżeli już jest taki wpis to pojawia się informacja o błędzie.

image002 Jak uniknąć powielania wprowadzonych danych

Oczywiście, pojawiający się komunikat, możesz dostosować do swoich potrzeb w zakładce Alert o błędzie.

Zapraszam do opisywania możliwych zastosowań tego rozwiązania.

Plik z przykładem możesz pobrać tutaj.

Related Posts:

  • Unikatowe wartości #2
  • Nietypowy wykres #3
  • Złożone formuły

Czego oczekiwałbym od Windows 8?

2011-04-07 Posted by szulcu under funkcje, oczekiwania, Oprogramowanie, Polskie blogi IT

Od czasu, kiedy do rąk większej liczby testerów trafiła wczesna wersja systemu Windows 8, na bieżąco monitoruję wiadomości, które publikują różnego rodzaju serwisy internetowe. Dzisiaj, jeden z redaktorów serwisu ActiveWin.com opublikował ciekawą listę funkcji, których oczekiwałby od Windows 8. Po [...]

Jezyk DAX – wstep

2010-08-11 Posted by Łukasz under DAX, funkcje, Język DAX, kolumna, Level 200, Polskie blogi IT, PowerPivot, tabela, Wyrażenia

Na moim blogu umieściłem już kiedyś pierwszy post dotyczący nowego języka DAX – Data Analysis eXpressions.
Tym wpisem chciałbym jednak rozpocząć serie postów poświęconych szczegółom tego nowego języka dostępnego w PowerPivot. W kilku, może  w kilkunastu kolejnych postach postaram się przybliżyć ten język wszystkim zainteresowanym.

Chcąc korzystać z dowolnego języka musimy zawsze na początku poznać podstawową składnie tego języka.
Zacznijmy od tego w jaki sposób możemy używać języka DAX:

  • Pierwszym podstawowym zastosowaniem jest wykorzystanie funkcji, czyli obliczanie średniej, zliczanie, badanie wartości logicznych itd.. Funkcja składa się z argumentu lub argumentów, argumentami mogą być wartości, kolumny czy też tabele. Ważną rzeczą jest fakt, iż funkcje można zagnieżdżać jedne w drugich.
  • Kolejnym użyciem języka DAX są wyrażenia, mogą one się odnosić zarówno do literału, jak i stałej, może to być test logiczny, lub odniesienie do wartości jakiejś kolumny. Wyrażenie mogą być wykorzystywane np.: w filtrowaniu danych – [Zakup] > 1000
  • Operatory, czyli powiązanie różnych wartości – wyrażeń

Przykładowe formuły w języku DAX

Formuła Opis
=12 Wartość 12
=”Słowo” Słowo – tekst
=PI() Stała – wartość PI
=’FALSE’ =  0 Wyrażenie logiczne przyrównujące wartość logiczną FALSE z wartością 0. FALSE odpowiada wartości 0, a TRUE wartości 1, więc takie wyrażenie logiczne przyjmie wartość TRUE (prawda)
=’Sprzedaz’[Cena] Wartość kolumny Cena w tabeli Sprzedaz
=[Cena]*1.22 Obliczenie wartości – pomnożenie przez 1.22 wartości kolumny Cena
=[Cena]*[Vat]/100 Wymnożnie kolumny Cena i kolumny Vat, następnie podzielenie tej wartości przez 100. Zakładając że w kolumna Cena zawiera cenę netto, a kolumna Vat stawkę Vat, wówczas takie wyrażenie zwróci nam wartość podatku Vat
=SUM([Cena]*[Ilosc]) Suma wartości wyrażenia Cena * ilość, czyli suma wartości
=SUM(FILTER(Sprzedaz,Grupa=”MLEKO”),[Wartosc]) Przykład pokazuje jako można obliczyć sumę wartości dla sprzedaży w grupie Mleko. Filtr działa w ten sposób, iż dla tabeli Sprzedaż sprawdza wartość kolumny grupa, tam gdzie grupa przyjmuje wartość MLEKO zwraca prawdę i wówczas dla tych wartości sumowane są wartości z kolumny Wartosc

Zasadnicze działanie funkcji języka DAX jest bardzo zbliżone do funkcji znanych z programu Excel, z całą pewnością były one naturalną bazą do powstania języka DAX. Zasadniczą różnicą jest wejście danych do funkcji. W Excelu operujemy zakresem komórek, komórkami. Natomiast w języku DAX operujemy kolumnami, tabelami.
Kolejna ważną różnicą jest przedstawianie daty i czasu. Język DAX używa typu DateTime w przeciwieństwie do programu Excel gdzie czas jest reprezentowany jako liczba.
W programie Excel funkcje nie mogą zwracać tablic, a w przypadku języka DAX często jest to niezbędne.

Zasadniczą różnicą która znajduje sie w PowerPivot a nie ma w Excel jest to iż PowerPivot opiera się na modelu relacyjnym. Czyli występują relacje. O tym będzie szczegółowo później (w specjalnym poście na ten temat).

W poprzednim poście przedstawiłem też ważną różnicę jaka jest w języku DAX dotyczącą wartości BLANK i wyrażeń, które w programie Excel zakończyłyby się błędem.

Budując dowolne wyrażenie, funkcje, stałą w języku DAX – tak jak to widać w przykładach umieszczonych powyżej w tabeli musimy rozpocząć od znaku =.

Konwencja nazewnictwa

Kolejny ważnym element każdego języka jest konwencja nazewnictwa. Wszystkie nazwy w obrębie jednej tabeli muszą być unikatowe. PowerPivot i zarazem język DAX nie rozróżnia wielkości liter wiec tabela Sprzedaz, SPRZEDAZ, SpRzEdAz są dla niego tą samą nazwą kolumny/tabeli.

Tabele – nazwa tabeli jest wymagana, jeżeli kolumna dotyczy innej tabeli. Nazwy tabel nigdy nie mogą być  w nawiasach. Nazwy tabel umieszczamy w pojedynczy cudzysłów, szczególnie jeżeli nazwy składają się ze spacji lub znaków specjalnych.

Kolumny – Nazwy kolumna zawsze są w kwadratowych nawiasach. Mogą również zawierać spacje. Nazwa musi być unikatowa w obrębie bazy więc nazwy kolumn wywołujemy z nazwą tabeli. W ramach jednej tabeli nazwa musi być unikatowa, wówczas połączenie nazwa tabeli i nazwa kolumny jest unikatowa. W przypadku gdy korzystamy z kolumn w tej samej tabeli w jednym wyrażeniu nie musimy podawać nazwy tabel np.: =[Cena]*[Ilosc]

Zawsze w każdym język jest zbiór nazw i znaków specjalnych zarezerwowanych. W przypadku języka DAX ograniczeni jest takie same jak w Analysis Services. Czyli te same słowa kluczowe i znaki są zarezerwowane. Spowodowane jest to tym, że tak naprawdę w pamięci lub na serwerze Analysis Services (w przypadku PowerPivot for SharePoint 2010) powstaje kostka OLAP, do której PowerPivot wysyła zapytania w języku MDX. Jeżeli słowo kluczowe z języka MDX (Analysis Services) użyjemy w nazwie kolumny i umieścimy w nawiasie kwadratowym to nie będzie błędu. W przypadku użycia słowa zarezerwowanego do nazwy tabeli wystąpi błąd.

Następujące znaki nie mogą być wykorzystywane w nazwach kolumn, tabel i miar:

  • znaki sterujące
  • Następujące znaki:  .,;’:/\*|?&%$!+=()[]{}<>
  • początkowe lub końcowe spacje

Przykładowe nazwy obiektów

Obiekt Przykład Opis
Nazwa tabeli Zlecenia Sam tekst zawsze oznacza nazwę.
Nazwa tabeli ‘Sprzedaz wyslkowa’ Nazwa tabeli zawierająca spację.
Pełna nazwa kolumny Sprzedaz[Zlecenia] Nazwa tabeli i nazwa kolumny
Pełna nazwa miary Sprzedaz[Zysk] Nazwa tabeli i nazwa miary
Nazwa kolumny [Dane] Nazwa kolumny lub miary
Pelna nazwa kolumny ‘Sprzedaz archiwum’[Zlecenia'] Nazwa tabeli zawierająca spację i nazwa kolumny

Więcej szczegółów można znaleźć w dokumentacji do PowerPivot.

Biorąc pod uwagę te dwa posty o języku DAX mamy już pewne podstawy. W kolejnych postach będę starał się przedstawić pozostałe aspekty języka DAX, do celowo postaram się opisać szczegółowo w miarę cały język DAX.

Osoby zainteresowanych językiem DAX zapraszam już niebawem do lektury kolejnych postów dotyczących języka DAX, mam w planach już niebawem opublikować posty dotyczące kontekstu, relacji, typów w języku DAX, oraz operatorów.

Archiwa
  • Maj 2012 (68)
  • Kwiecień 2012 (159)
  • Marzec 2012 (196)
  • Luty 2012 (153)
  • Styczeń 2012 (128)
  • Grudzień 2011 (101)
  • Listopad 2011 (80)
  • Październik 2011 (94)
  • Wrzesień 2011 (49)
  • Sierpień 2011 (30)
  • Lipiec 2011 (21)
  • Czerwiec 2011 (14)
  • Maj 2011 (21)
  • Kwiecień 2011 (32)
  • Marzec 2011 (14)
  • Luty 2011 (13)
  • Styczeń 2011 (29)
  • Grudzień 2010 (11)
  • Listopad 2010 (22)
  • Październik 2010 (19)
  • Wrzesień 2010 (19)
  • Sierpień 2010 (15)
  • Lipiec 2010 (9)
  • Czerwiec 2010 (5)
  • Maj 2010 (5)
  • Kwiecień 2010 (13)
  • Marzec 2010 (13)
  • Luty 2010 (20)
  • Styczeń 2010 (13)
  • Grudzień 2009 (16)
  • Listopad 2009 (19)
  • Październik 2009 (30)
  • Wrzesień 2009 (14)
  • Sierpień 2009 (11)
  • Lipiec 2009 (25)
  • Czerwiec 2009 (2)
  • Maj 2009 (12)
  • Kwiecień 2009 (9)
  • Marzec 2009 (5)
  • Luty 2009 (5)
  • Styczeń 2009 (6)
  • Grudzień 2008 (6)
  • Listopad 2008 (4)
  • Październik 2008 (6)
  • Wrzesień 2008 (3)
  • Kwiecień 2008 (1)
  • Grudzień 2007 (1)
Kategorie
2003 2010 access Access 2003 Access 2010 Aktualności Bez kategorii BI CTP exchange online Exchange Server Exchange Server 2010 featured funkcje Grzegorz Tworek How To Hyper-V 3 Hyper-V Server 8 interoperacyjność IT Pro blogerzy Jak to zrobić Komputery i Internet Microsoft Outlook najlepsze praktyki Narzędzia open source Oprogramowanie PLSSUG Polskie blogi IT Porady PowerPivot Relacje Reporting Services SharePoint Foundation 2010 SharePoint Server 2010 Skrypty System Center 2012 Techniczne Tips and tricks video Virtual Machine Manager wersje beta WGUiSW Windows 8 Beta Windows 8 Customer Preview
Tagi
.net Active Directory Artykuły Blog blogosfera Cloud Computers and Internet CRM 2011 Excel Exchange Exchange 2010 Hyper-V Inne IT konferencja Konferencje Linux Lync Microsoft Microsoft Dynamics CRM News office 365 Ogólne PowerShell Private Cloud programowanie Publikacje Security SharePoint Społeczności IT SQL SQL Server SQL Server 2012 System Center Uncategorized Windows Windows 7 Windows 8 Windows Phone 7 Windows Server Windows Server 8 Windows Server 2008 Wirtualizacja Wydarzenia [EN]
Autorzy
Kamil Skalski, Konrad Sagala, Szymon Bochniak, Tadeusz , Tomasz Filipowicz, RSS , Łukasz Kałużny, kgorczewski , Łukasz , Wojciech Gardziński, Paweł Goleń, Dariusz Porowski, Piotrek Gardy, koprowskit , nExoR , Joanna Subik, Mateusz Świetlicki, Marcin , piotrpawlik , TechNet Polska, gsgalezowski , T4ngram , Metorio , Maciek Blog, Bloggers Underground, blog Michała Cywińskiego..., Me & Technology – Paula’s Security Blog, swilczew , pawp81 , programistaaccess , Bartek Bielawski, soisk , Zygmunt B., MS Dynamics Blog, Jarek Szybiński, rtynski , Filip , Świat Office, voytas , jaroslawsokolnicki , rem8 , Łukasz Matuszewski, Seb , kaarol , Peter , Kamil Karczmarczyk, Dariusz Brejnak, JeZZoo , bns , Pawel Potasinski, Kuba Skałbania, t.onyszko , robertmandziarz , Krzysiek , MKr , szulcu , Robert Stuczynski - Noise, kicekpicek , Dobert , Łukasz Zięba, drixter , Maciej Krasuski, Tomasz_Sochacki , Przemek Kuczyński, losiak , paramo , OSKAr , SzymonN , Marcin Milewski, marcinbojko , l10n , Łukasz Z., Grzesiek Bartosik, jnx
Polskie blogi specjalistów IT / Microsoft powered by WordPress and The Clear Line Theme