Blog JSystems - uwalniamy wiedzę!

Szukaj

Power BI - Komunikaty błędów DAX

Nie można odnaleźć kolumny lub nie można jej użyć w tym wyrażeniu - błąd DAX

W skrócie

  • Komunikat „Nie można odnaleźć kolumny „WartośćNetto” w tabeli „FaktSprzedaz” lub nie można jej użyć w tym wyrażeniu” w Power BI DAX oznacza, że silnik nie znalazł podanej nazwy w tej tabeli albo nie pozwala użyć kolumny w tym miejscu formuły.
  • Przyczyną bywa polska litera, spacja albo literówka w nazwie, kolumna z innej tabeli, kolumna bez nazwy tabeli w mierze o innej tabeli głównej, miara zapisana z nazwą złej tabeli i stara nazwa po zmianie w Power Query.
  • Wpisuj nazwy przez IntelliSense, kolumny zawsze z nazwą tabeli, a miary bez niej.

Ten sam komunikat Nie można odnaleźć kolumny w Power BI ma kilka różnych przyczyn, a rozróżniają je szczegóły w jego treści. Pojawia się pod paskiem formuły przy pisaniu miary DAX, przy kolumnie obliczeniowej i po zmianach nazw w danych źródłowych. Pokazujemy, jak rozpoznać każdą z przyczyn, i podajemy poprawki sprawdzone na modelu Nordvelli.

Jak to wygląda w praktyce

Komunikat pojawia się pod paskiem formuły. Dla miary z polskimi literami w nazwie kolumny, SUM(FaktSprzedaz[WartośćNetto]), silnik odpowiada: „Nie można odnaleźć kolumny „WartośćNetto” w tabeli „FaktSprzedaz” lub nie można jej użyć w tym wyrażeniu.” (w angielskiej wersji: „Column 'WartośćNetto' in table 'FaktSprzedaz' cannot be found or may not be used in this expression.”).

Gdy w formule nie ma nazwy tabeli, komunikat jest krótszy: „Nie można odnaleźć kolumny „WartoscNetto” lub nie można jej użyć w tym wyrażeniu.” (w angielskiej wersji: „Column 'WartoscNetto' cannot be found or may not be used in this expression.”). Literówka w nazwie miary daje inny tekst. Dla [Laczna sprzedaz] bez polskich liter silnik zgłasza „Nie można określić wartości elementu „Laczna sprzedaz”. Kolumna nie istnieje lub nie ma bieżącego wiersza dla tej kolumny.” (w angielskiej wersji: „The value for 'Laczna sprzedaz' cannot be determined. Either the column doesn't exist, or there is no current row for this column.”).

Dlaczego tak się dzieje

Silnik szuka nazwy dokładnie tak, jak ją wpisano, tylko bez rozróżniania wielkości liter. Zapis faktsprzedaz[wartoscnetto] działa i daje 467 775 009,17 zł, ale WartośćNetto z polskimi literami i WartoscNetto ze spacją na końcu już nie. Kolumny, które przyszły do modelu Nordvelli z bazy, mają nazwy bez polskich znaków, a nazwy miar je mają, więc łatwo pomylić zapis w obie strony.

Druga część komunikatu, „nie można jej użyć w tym wyrażeniu”, dotyczy kolumny, która istnieje, ale nie w tym miejscu. Przykładem jest nazwa kolumny bez tabeli. Według dokumentacji Microsoft taki skrócony zapis wolno stosować w kolumnie obliczeniowej tej samej tabeli i w agregacji przechodzącej po tej samej tabeli. Na modelu Nordvelli SUM([WartoscNetto]) zapisane jako miara z tabelą główną FaktSprzedaz dało 467 775 009,17 zł, a ta sama formuła z tabelą główną DimKalendarz zgłosiła komunikat bez nazwy tabeli.

To samo dotyczy miar zapisanych z nazwą tabeli. FaktSprzedaz[Łączna sprzedaż] działa, bo miara należy do tej tabeli, ale DimSklepy[Łączna sprzedaż] daje „Nie można odnaleźć kolumny „Łączna sprzedaż” w tabeli „DimSklepy” lub nie można jej użyć w tym wyrażeniu.” Kolumna z innej tabeli wpisana wprost w kolumnie obliczeniowej daje już inny komunikat, o pojedynczej wartości, a RELATED bez relacji między tabelami daje komunikat o braku relacji. Oba przypadki opisujemy w poście RELATED nie działa w Power BI.

Co zrobić krok po kroku

  1. Skopiuj nazwę z komunikatu i porównaj ją znak po znaku z panelem Dane. Szukaj polskich liter, spacji na początku i na końcu oraz podkreśleń. W Nordvelli kolumna nazywa się WartoscNetto, a miara Łączna sprzedaż.
  2. Wpisz nazwę jeszcze raz przez IntelliSense: w pasku formuły napisz nazwę tabeli i nawias kwadratowy, a Power BI pokaże listę kolumn tej tabeli. Wybierz kolumnę z listy, zamiast wpisywać ją z pamięci. Gdy kolumny nie ma na liście, nie ma jej w tej tabeli.
  3. Gdy kolumna jest w innej tabeli, popraw nazwę tabeli. Sprzedaż netto leży w tabeli faktów, więc SUM(DimSklepy[WartoscNetto]) zgłasza komunikat o tabeli „DimSklepy”, a poprawna wersja daje 467 775 009,17 zł. Podział na sklepy zrobi w wizualizacji relacja między tabelami.
    Łączna sprzedaż = SUM(FaktSprzedaz[WartoscNetto])
  4. Kolumny zapisuj zawsze z nazwą tabeli, nawet gdy skrócona forma działa, bo wtedy formuła nie zależy od tabeli głównej miary. Miary zapisuj odwrotnie: w samym nawiasie kwadratowym, bez tabeli, tak jak [Łączna sprzedaż] * 1.23, co na modelu Nordvelli daje 575 363 261,28 zł. Nazwę tabeli ze spacją ujmij w apostrofy: 'Rabat proc'[Rabat proc] działa, a bez apostrofów silnik zgłasza błąd składni, który opisujemy w poście o przecinku, średniku i nieoczekiwanym znaku w formule.
  5. Gdy w formule jest zmienna z tabelą, kolumnę tej tabeli podawaj bez prefiksu. Zapis t[Suma] zgłasza „Nie można odnaleźć tabeli „t”.” (w angielskiej wersji: „Cannot find table 't'.”), a literówka w [Sumaa] daje komunikat o kolumnie bez nazwy tabeli. Wersja poniżej zwraca największą sprzedaż miasta, 222 818 294,93 zł dla Warszawy.
    Największe miasto =
    VAR t =
        SUMMARIZE(FaktSprzedaz, DimSklepy[Miasto], "Suma", SUM(FaktSprzedaz[WartoscNetto]))
    RETURN
        MAXX(t, [Suma])
  6. W funkcjach grupujących kolumna musi być osiągalna z tabeli wejściowej. SUMMARIZE(DimSklepy, FaktSprzedaz[KanalSprzedazy]) zgłasza „Nie znaleziono kolumny „KanalSprzedazy” określonej w funkcji „SUMMARIZE” w tabeli wejściowej.” (w angielskiej wersji: „The column 'KanalSprzedazy' specified in the 'SUMMARIZE' function was not found in the input table.”), bo z tabeli sklepów nie widać kolumn tabeli faktów. Zacznij od tabeli po stronie wiele relacji: SUMMARIZE(FaktSprzedaz, DimSklepy[Miasto]) działa, jak w kroku wyżej.
  7. Gdy komunikat pojawił się po zmianie danych, sprawdź, czy kolumna nie dostała nowej nazwy albo nie została usunięta w Power Query. Formuła ze starą nazwą zgłasza ten sam komunikat co literówka. Popraw nazwę w formule albo przywróć ją w zapytaniu, a gdy błąd pokazuje już samo zapytanie, zajrzyj do posta Expression.Error: Nie można znaleźć kolumny w tabeli.
IntelliSense w Power BI po wpisaniu SUM(FaktSprzedaz[, lista kolumn tabeli FaktSprzedaz i podpowiedź SUM(ColumnName)
Lista kolumn FaktSprzedaz od CenaNetto w dół (WartoscNetto jest niżej, lista się przewija). Nad paskiem formuły Power BI przypomina składnię: SUM(ColumnName), Dodaje wszystkie liczby w kolumnie.

Jak sprawdzić, że problem zniknął

Po poprawce komunikat znika, a miara pokazuje wynik. Porównaj go z wartością, którą znasz: na modelu Nordvelli SUM(FaktSprzedaz[WartoscNetto]) to 467 775 009,17 zł, tyle samo co miara [Łączna sprzedaż]. Gdy poprawiasz kilka formuł po zmianie nazw w źródle, przejrzyj panel Dane i poszukaj kolejnych miar z ikoną ostrzeżenia.

Nie zmieniaj nazw kolumn używanych w miarach bez przejrzenia formuł, a nazwy wpisuj przez IntelliSense. Zapis tabela, nawias kwadratowy, kolumna dla kolumn i sam nawias kwadratowy dla miar usuwa przyczyny związane z tabelą główną miary i z nazwą tabeli wpisaną przed miarą.

Źródła i sposób sprawdzenia

  • Microsoft Learn: DAX syntax (nazwy tabel, kolumn i miar, zapis pełny i skrócony) (źródło)
  • Microsoft Learn: Model relationships in Power BI Desktop (rozszerzanie tabel po relacji) (źródło)
  • Sprawdzone zapytaniami DAX na modelu Nordvelli: literówka, spacja i polskie litery w nazwie, zła tabela, kolumna bez tabeli w mierze z różną tabelą główną, kolumna zmiennej i SUMMARIZE.

Zachowanie programu sprawdziliśmy w Power BI Desktop 2.157 (wydanie z sierpnia 2026 r.) z polskim interfejsem, a przykłady na modelu sieci Nordvella z bezpłatnego kursu Power BI. Microsoft wydaje nową wersję Power BI Desktop co miesiąc, więc nazwy przycisków i limity usługi mogą się zmieniać. Aktualne wartości podaje dokumentacja Microsoft Learn.

Wróć do listy: 131 najczęstszych pytań i problemów związanych z Power BI

Najczęściej zadawane pytania

Co oznacza błąd nie można odnaleźć kolumny w Power BI?
Silnik DAX nie znalazł podanej nazwy kolumny we wskazanej tabeli albo nie pozwala jej użyć w tym miejscu formuły. Przyczyną bywa literówka, polska litera lub spacja w nazwie, kolumna z innej tabeli albo nazwa kolumny bez tabeli w mierze. Wielkość liter nie ma znaczenia.
Czy wielkość liter w nazwie kolumny ma znaczenie w DAX?
Nie. Na modelu Nordvelli zapis faktsprzedaz[wartoscnetto] małymi literami dał ten sam wynik co FaktSprzedaz[WartoscNetto], czyli 467 775 009,17 zł. Znaczenie mają natomiast polskie litery i spacje: WartośćNetto i nazwa ze spacją na końcu zgłaszają błąd.
Dlaczego SUM([WartoscNetto]) działa w jednej mierze, a w drugiej nie?
Nazwa kolumny bez tabeli jest rozpoznawana tylko w obrębie tabeli, do której należy miara albo po której przechodzi funkcja. Na modelu Nordvelli ta formuła zadziałała w mierze z tabelą główną FaktSprzedaz, a z tabelą główną DimKalendarz zgłosiła komunikat o braku kolumny. Dlatego kolumny zapisuj zawsze z nazwą tabeli.
Jak poprawić błąd nie można odnaleźć tabeli przy zmiennej VAR?
Kolumny tabeli zapisanej w zmiennej VAR podaje się bez prefiksu, na przykład [Suma], a nie t[Suma]. Zapis z nazwą zmiennej przed nawiasem zgłasza komunikat „Nie można odnaleźć tabeli”. W funkcjach takich jak MAXX wystarczy nazwa kolumny w nawiasie kwadratowym.

Komentarze (0)

Musisz być zalogowany by móc dodać komentarz. Zaloguj się przez Google

Brak komentarzy...