source

다중값 매개변수의 기본값으로 모두 선택

manysource 2023. 6. 19. 21:42

다중값 매개변수의 기본값으로 모두 선택

Visual Studio 2008에서 여러 의 값 매개 변수를 사용하여 보고서를 작성하고 있으며 잘 작동하지만 보고서를 열 때 "(모두 선택)" 옵션을 기본값으로 설정하고 싶습니다.

이를 위해 사용할 수 있는 표현식이나 SQL 코드가 있습니까?또는 보고서를 실행할 때마다 모든 매개 변수에서 "(모두 선택)"을 선택해야 합니까?

매개 변수의 "기본값"을 설정하여 "사용 가능한 값"과 동일한 쿼리를 사용해 보십시오.실제로 모든 "사용 가능한 값"이 "기본값"으로 제공되며 "모두 선택" 옵션이 자동으로 선택됩니다.

기본값으로 데이터 집합을 사용하는 것도 한 가지 방법이지만 사용 가능한 값 및 기본값에 대한 쿼리를 사용해야 합니다. 값이 사용 가능한 값 탭에서 하드 코딩된 경우에는 기본값을 식으로 정의해야 합니다.사진은 모든 것을 설명해야 합니다.

매개변수 작성(자동으로 작성되지 않은 경우)

Create Parameter

값 정의 - 잘못된 방법 예제

Define values - wrong way

값 정의 - 올바른 방법 예제

Define values - correct way

기본값 설정 - 사용 가능한 값을 반영하는 모든 기본값을 정의하여 "모두 선택"을 기본값으로 설정해야 합니다. 정의하지 않을 경우 정의된 모든 값만 기본값으로 선택됩니다.

Set default values

결과

The result

데이터 유형에 대한 그림 하나:인트

One picture for Data type Int

null인 경우 작동하지 않습니다.

select 문을 수정하여 무언가를 null로 전환하면 이 문제를 해결할 수 있습니다.

phonenumber = CASE
  WHEN (isnull(phonenumber, '')='') THEN '(blank)'
  ELSE phonenumber
END

허용된 답변은 정확하지만 완전하지는 않습니다.의 순서로Select All기본 옵션으로 사용하려면 Available Values 데이터 집합에 값과 레이블의 두 개 이상의 열이 포함되어 있어야 합니다.동일한 데이터를 반환할 수 있지만 이름은 달라야 합니다.그러면 기본값 데이터 집합이 값 열을 사용한 다음Select All기본값이 됩니다.데이터 세트가 열을 하나만 반환하는 경우 파라미터의 드롭다운에서 마지막 레코드의 값만 선택됩니다.

E_8의 답변에 추가.
빈 문자열이 있는 경우에는 작동하지 않습니다.

SQL에서 select 문을 수정하거나 SSRS 데이터 집합에서 쿼리를 수정하여 이 문제를 해결할 수 있습니다.

 Select distinct phonenumber
from YourTable
where phonenumber <> ''
Order by Phonenumber

더 잘 작동합니다.

CREATE TABLE [dbo].[T_Status](
   [Status] [nvarchar](20) NULL
) ON [PRIMARY]

GO
INSERT [dbo].[T_Status] ([Status]) VALUES (N'Active')
GO
INSERT [dbo].[T_Status] ([Status]) VALUES (N'notActive')
GO
INSERT [dbo].[T_Status] ([Status]) VALUES (N'Active')
GO

DECLARE @GetStatus nvarchar(20) = null
--DECLARE @GetStatus nvarchar(20) = 'Active'
SELECT [Status]
FROM [T_Status]
WHERE  [Status] = CASE WHEN (isnull(@GetStatus, '')='') THEN [Status]
ELSE @GetStatus END

이는 다음과 같은 텍스트 쿼리를 사용하여 데이터 세트를 만들면 쉽게 달성할 수 있습니다.

SELECT 'Item1'
UNION
SELECT 'Item2'
UNION
SELECT 'Item3'
UNION
SELECT 'Item4'
UNION
SELECT 'ItemN'

쿼리는 선택할 수 있는 모든 항목을 반환해야 합니다.

언급URL : https://stackoverflow.com/questions/2508910/select-all-as-default-value-for-multivalue-parameter