Czy kiedykolwiek mieliście tak, że kopiując fragment kodu, który używaliście od lat po prostu przestał Wam działać?
Ostatnio Klient poprosił o poprawki w używanych miarach sprzedaży. Klasyka. Ponieważ robicie to od lat, macie już pewnie sprawdzony kod. Jedni z Was deweloperzy opierają miary o kalendarz, inni definiuje zmienne. W moim przypadku stosuje rozwiązanie Steve – schludne i klarowne.
let vMaxDate = ‘=max(Date)’;
let vMaxDay = ‘=day(max(Date))’;
let vMaxMonth = ‘=month(max(Date))’;
let vMaxYear = ‘=max(Year)’;
Ok, banał. Tutaj poza cudami z datą nic nie ma prawa się zepsuć. Unikamy timestapów, korzystamy z floor i num. Przechodzimy do miary.
SUM({<Year={‘$(vPriorMonthYear)’},Month={‘$(vPriorMonth)’},[Day]={‘<=$(vMaxDay)’},DOK={’10’,’5′,’10010′,’50’},Date=,”Rok-Miesiąc”=>}[Sale])
Miara powyższa ma policzyć nic innego jak sumę kolumny Sale dla konkretnych typów dokumentu w miesiącu poprzednim do konkretnego dnia. Czyli od 1 do 23 lipca 2020. Zatem dlaczego suma wynosi 0? (nie, to nie kwestia danych). Co w tej mierze jest złego?
Dodam, że w dolnym rogu ekranu widać wynik przypisania zmiennych i wszystko jest ok – dalej wielkie zero.
Ok, metodą cięcia miary dochodzę do wniosku, że jeżeli pozbędę się [Day]={‘<=$(vMaxDay)’ otrzymuję wynik.
Ok, to może inny zapis? [Day]={‘$(vMaxDay)’ kasuje znak <=, hmm otrzymuję sprzedaż za konkretny dzień. Ciekawe…
Pomyliłem się w składni?
Szybki telefon do przyjaciela. “Piotrek, a zamień ‘ na ” “” czyli [Day]={“=$(vMaxDay)”}, voila działa!
Zatem ‘ i ” są tak samo interpretowane w Qlik czy nie?
Przekopując community natrafiłem na wpisy:
https://community.qlik.com/t5/New-to-Qlik-Sense/Set-analysis-difference-between-single-quote-and-double-quote/m-p/1339053
https://community.qlik.com/t5/Qlik-Sense-App-Development/Dual-Single-Versus-Double-Quotes/td-p/71709
Dzięki, że przeczytałeś do końca! 🙂