
November 20, 2020
DAX funkcija VALUES, HASONEVALUE
V članku je uporabljen Power BI Desktop verzije 2.76.5678.782 (December 2019).
Funkcija VALUES()
Funkcija VALUES() vrne stolpec unikatnih vrednosti. Funkcija upošteva začetni filterni kontekst, ki prihaja iz vizualizaij ali razčlenjevalnikov. Več o filternem konktestu lahko preberemo v članku Filterni kontekst v Power BI.
Sintaksa
VALUES(TableOrColumnName)
Parameter | Opis |
TableOrColumnName | Stolpec iz katerega želimo dobiti unikatne vrednosti ali tabela, iz katere želimo dobiti unikatne vrstice |
Primer: unikatne vrednosti znotraj stolpca
Želimo unikatne vrednosti iz tabele Sales in stolpca Locaton Name.
Ustvarimo novo tabelo z Modelling > New Table in vnesemo spodnjo formulo.
VALUES_Example = VALUES(Sales[Location Name])
Primer: filterni kontekst in VALUES()
Funkcija VALUES() upošteva začetni filterni kontekst, ki prihaja iz vizualizacij ali razčlenjevalnikov. Oglejmo si naslednji primer. Imamo tabelo prodaje Sales s stolpcema Platform in Publisher. Ustvarimo vizualizacijo Matrika in v vrstice postavimo platformo Platform. Nato ustvarimo naslednjo mero.
VALUES_Example = COUNTROWS(VALUES(Sales[Publisher]))
Funkcija upošteva začetni filterni kontekst, ki pride iz vizualizacije Matrika. Za vsako vrstico se tabela Sales filtrira na ustrezno platformo Plattform, nato se prešteje število unikatnih vrednosti v stolpcu Publisher.
Funkcija HASONEVALUE()
Vrne TRUE, če je po filternem konteksu ostala v stolpcu le ena vrednost. Sicer vrne FALSE.
Sintaksa
HASONEVALUE(ColumnName)
Parameter | Opis |
ColumnName | Stolpec, za katerega preverjamo, ali ima le eno vrednost |
Primer
Imamo tabelo Platform_measures.
Preveriti želimo, ali se vsaka od platform v tabeli pojavi samo enkrat. Ustvarimo novo mero.
HASONEVALUE_Example = HASONEVALUE(Locations_measures[Platform])
V poročilu naredimo novo vizualizacijo Matrika in v za vrstice izberemo Platform. Vizualizacija znotraj vsake vrstice filtrira tabelo Platform_measures. Za prvo vrstico nam tako v tabeli Platform_measures ostane samo zadnja vrstica tabele. Vrednost se torej res pojavi samo enkrat.
Funkcija SELECTEDVALUE()
Vrne vrednost, če je po filternem konteksu ostala v stolpcu le ena vrednost. Sicer vrne BLANK().
Sintaksa
SELECTEDVALUE(ColumnName, [AlternativeResult])
Parameter | Opis |
ColumnName | Stolpec, za katerega preverjamo, ali ima le eno vrednost |
AlternativeResult | Vrednost, ki jo vrne v primeru, da po filternem konteksu ni ostala le ena vrednost. Privzeta vrednost za ta parameter je BLANK(). (opcijsko) |
Primer
Imamo tabelo Platform_measures.
Preveriti želimo, ali se vsaka od platform v tabeli pojavi samo enkrat in v tem primeru izpisati njeno vrednost. Ustvarimo novo mero.
SELECTEDVALUE_Example = SELECTEDVALUE(Platform_measures[Platform])
Tabela Platform_measures se začetnem filternem kontekstu iz vizualizacije Matrika spet filtrira za vsako vrstico. Za vsako platformo v tabeli ostane samo ena vrstica. Izpiše se njena vrednost.