Ćwiczenie — wybieranie kolumn do zwrócenia przy użyciu operatora projektu

Ukończone

Zapytania Kusto umożliwiają filtrowanie danych i zwracanie określonych informacji.

Pamiętaj, że zapoznaliśmy się z dowolnymi wierszami danych, aby zrozumieć jego strukturę. W tej lekcji dowiesz się, jak wybrać określone kolumny danych, które odnoszą się do typów burzy, lokalizacji i szkodliwych skutków.

project Korzystanie z operatora

Jeśli pamiętasz, przykład danych meteorologicznych zawiera sporo kolumn. Nie wszystkie te kolumny mają znaczenie dla tej eksploracji. Wybierzesz tylko kilka kolumn do wyświetlenia. Użyjesz operatora , project aby zdefiniować kolumny, które mają być widoczne w danych wyjściowych. Nazwy kolumn są oddzielone przecinkami.

  1. Uruchom poniższe zapytanie. To zapytanie określa kolumny, które mają być zwracane i ich kolejność w obrębie project operatora.

    Uruchamianie zapytania

    StormEvents
    | project EventType, State, DamageProperty, DamageCrops, InjuriesDirect, InjuriesIndirect
    | take 10
    
  2. Powinny zostać wyświetlone wyniki, które wyglądają jak na poniższej ilustracji:

    Screenshot of project operator results with six columns.

  3. Zwróć uwagę, że w danych wyjściowych są wyświetlane tylko kolumny wymienione w project operatorze.

Zmienianie nazwy i definiowanie nowych kolumn przy użyciu polecenia project

Aby zrozumieć wpływ burz w stanach USA, chcesz uzyskać łączną liczbę obrażeń i łączną ilość szkód. project Za pomocą operatora można sumować wartości całkowite z różnych kolumn i zwracać wyniki w nowej kolumnie. Możesz również zmienić nazwy kolumn, aby zwiększyć ich znaczenie dla analizy.

Na przykład istnieją inne kraje/regiony ze stanami. Warto zmienić nazwę kolumny stanu, aby było jasne, że wyniki dotyczą stanów USA. Zobaczmy, jak zmienić poprzednie zapytanie, aby uzyskać łączną liczbę obrażeń i ilość szkód dla stanów USA.

  1. Zaktualizuj poprzednie zapytanie, aby utworzyć nową kolumnę zawierającą sumę InjuriesDirect i InjuriesIndirect:

    Injuries=InjuriesDirect+InjuriesIndirect

  2. Zrób to samo w przypadku dwóch typów kolumn uszkodzeń, dodając razem uszkodzenia upraw i uszkodzenia mienia:

    Damage=DamageCrops+DamageProperty

  3. Umieść kursor na nazwie kolumny w edytorze zapytań, aby zobaczyć typ danych zawartych w kolumnach. Możesz użyć operatora liczbowego, aby dodać wartości, ponieważ te kolumny są typu int (liczba całkowita).

    Screenshot of the data type in a query editor.

  4. Zmień nazwę kolumny State na US_State:

    US_State=State

  5. Przejrzyj zaktualizowane zapytanie i uruchom je. Pełne zapytanie zawiera obliczenia dotyczące urazów, obliczeń dotyczących szkód i zmiany nazwy kolumny State .

    Uruchamianie zapytania

    StormEvents
    | project US_State=State, EventType, Injuries=InjuriesDirect+InjuriesIndirect, Damage=DamageCrops+DamageProperty
    | take 10
    
  6. Powinny zostać wyświetlone wyniki, które wyglądają jak na poniższej ilustracji:

    Screenshot of query results for a project operator that renames columns.

  7. Zwróć uwagę, że nazwa kolumny State została zmieniona na US_State. Kolumna Urazy jest nowa i została obliczona jako suma InjuriesDirect i InjuriesIndirect. Kolumna Damage jest również nowa i została obliczona jako suma wartości DamageCrops i DamageProperty.

project-away Korzystanie z operatora

Co zrobić, jeśli chcesz usunąć kilka wybranych kolumn? W przypadku tej eksploracji nie masz żadnego użycia dla identyfikatorów przypisanych do każdego odcinka i zdarzenia. Możesz usunąć określone kolumny przy użyciu project-away operatora , który wskazuje, które kolumny należy usunąć, pozostawiając wszystkie pozostałe kolumny. Możesz również użyć symbolu wieloznakowego, takiego jak | project-away *Id, aby usunąć wszystkie kolumny, które kończą się identyfikatorem.

  1. Uruchom poniższe zapytanie:

    Uruchamianie zapytania

    StormEvents
    | project-away EpisodeId, EventId
    | take 10
    
  2. Sprawdź wyniki. Pamiętaj, że kolumny EpisodeId i EventId znajdowały się między kolumnami EndTime i State . Które z tych kolumn są widoczne w danych wyjściowych?