Używanie operatora IN do filtrowania w usługach raportowania
Czy ktoś może doradzić, Jaka powinna być składnia podczas używania operatora IN w filtrze tabeli. Próbowałem poniżej ale snytax jest zły:
15 answers
Jeśli zmienisz właściwość Value i dodasz oddzieloną przecinkami listę wartości, które powinny działać:
Książki Online wydają się być dość lekkie na przykładach, ale znalazłem jedno odniesienie; zobacz przykład In
w powszechnie używanych filtrów. Byłoby miło, gdyby to zostało lepiej wyjaśnione.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-07 16:31:52
Z tym też miałem pewne problemy. Microsofts własna dokumentacja stwierdza, że prosta rozdzielana przecinkami lista wartości w polu wartość powinna działać. To jest mylące, bo nie. przynajmniej nie dla mnie i używam SSRS 2012 z Visual Studio 2010.
Okazuje się, że gdy używasz operatora IN, SSRS oczekuje tablicy wartości. Istnieje wiele sposobów, aby to działało dla filtra. Następujące przykłady należy wpisać w edytorze wyrażeń.
Pierwszy sposób (również sposób wyjaśniony w blogu linkowanym poniżej) jest po prostu wpisać listę rozdzielaną przecinkami w wartości łańcuchowej, a następnie użyć funkcji split na nim.
=split("2B,2C",",")
Lub możesz wyprowadzić swoją listę z parametru wielowartościowego. Parametr wielowartościowy jest już tablicą, więc wszystko, co musisz zrobić, to odwołać się do niego za pomocą wyrażenia parametru, jak pokazano poniżej.
=Parameters!MultiValueParam.Value
Znalazłem tę informację na poniższym blogu. http://sqlblogcasts.com/blogs/simons/archive/2007/11/20/RS-Howto--Use-the-IN-operator-in-a-filter-expression.aspx
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-10 22:46:18
To faktycznie działa:
=CStr("Value1,Value2,Value3,Value4,etc").Split(",")
Jest to testowane w SSRS 2012.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-14 00:04:13
Jeśli zalecane rozwiązanie jakoś nie działa dla ciebie, spróbuj użyć semicon jako separatora.
Przykład: kryteria jeden; kryteria dwa
U mnie zadziałało.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-14 08:22:56
Usuń początek =
z wyrażenia, tzn.
"criteria one" , "criteria two"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-14 19:49:26
"value1" "value2"
Z jedną spacją i bez przecinka zadziałało dla mnie. Najśmieszniejsze jest to, że wracając do opieki po testach, pojawia się jako
value1, value2
Z przecinkiem i bez cudzysłowów. Jeśli wyciąć, a następnie wkleić go bezpośrednio z powrotem do tego samego pola, to nie działa. To jakiś popapraniec.
Podstawowym typem danych jest nvarchar(10), a nie null
Testowane Z VS 2017 i SSRS 2016Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-25 23:25:51
To działało dla mnie w SSRS 2012.
"kryteria pierwsze","kryteria drugie"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-06 22:42:31
Dla wartości całkowitych można użyć:
Type: Text
Operator: In
Value: = New Integer () {8800,8820}
Powinno działać na 2008 R2 i nowszych wersjach
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-02 13:34:36
Mój problem został ostatecznie rozwiązany po wielu próbach, tylko za pomocą tej metody.
Wyrażenie:
=Instrev ( kompletny łańcuch z ogranicznikiem,wartość do wyszukiwania )
Type: Integer
Operator:
Wartość: 0
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-17 16:48:49
OMG tyle odpowiedzi...
Wiem, że to działa:
1) MY SP returns VARCHAR(n) for the field I will filter in the tablix. Returning INT DOES NOT WORK in my solution. I don't know why (yet).
2) report.param.allow multiple values = true
3) tablix.filter.expression.datatype = text
4) tablix.filter.operator = IN
5) tablix.filter.value = =SPLIT(JOIN(Parameters!id.Value,","),",")
Używając tej metody, byłem w stanie wywołać SP raz, użyć go w param, aby uzyskać dostępne wartości, uruchomić raport, a tabela tablix odczytuje wybrane dane z kroku #5 powyżej i wyświetla prawidłową liczbę wierszy.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-05-07 03:41:51
Wpisz to zapytanie do wyrażenia:
=Join(Parameters!MultiValueParam.Value)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-16 08:34:36
Moje wartości obejmowały ukośniki do przodu. Jedynym sposobem, w jaki mogłem uzyskać operator SSR w ▼, Aby obsłużyć je poprawnie, było wyrażenie =
CStr("google / cpc,bing / cpc").Split(",")
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-07 14:45:21
Prawdopodobnie jestem z nowszą wersją SSRS. Typ wartości to tekst . For me worked as,
"criteria 1";"criteria 2";...;"criteria N"
Cytaty Doble są obowiązkowe.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-29 23:38:32
Rozwiązanie uniwersalne:
Wyrażenie: [ columnName ]
Operator: In
Value: [@ parameterName ]
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-10-07 17:20:50
Każda pomiędzy wartością liczbową wymaga jednej spacji. jego praca w porządku
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-07 12:37:34