다음을 통해 공유


Power BI Desktop의 데이터 형식

이 문서에서는 Power BI Desktop 및 DAX(데이터 분석 식)가 지원하는 데이터 형식에 대해 설명합니다.

Power BI는 데이터를 로드할 때 원본 열의 데이터 형식을 보다 효율적인 스토리지, 계산 및 데이터 시각화를 지원하는 데이터 형식으로 변환하려고 합니다. 예를 들어 Excel에서 가져오는 값 열에 소수 값이 없는 경우 Power BI Desktop은 데이터 열을 정수 데이터 형식으로 변환합니다. 이는 정수를 저장하는 데 더 적합합니다.

일부 DAX 함수에는 특별한 데이터 형식 요구 사항이 있기 때문에 이 개념이 중요합니다. 대부분의 경우 DAX 데이터 형식을 암시적으로 변환하지만 경우에 따라 변환되지 않습니다. 예를 들어 DAX 함수에 Date 데이터 형식이 필요하지만 열의 데이터 형식이 Text경우 DAX 함수가 제대로 작동하지 않습니다. 따라서 열에 올바른 데이터 형식을 사용하는 것이 중요하고 유용합니다.

열의 데이터 형식 확인 및 지정

Power BI Desktop에서 파워 쿼리 편집기, 테이블 보기 또는 보고서 보기에서 열의 데이터 형식을 확인하고 지정할 수 있습니다.

  • In Power Query Editor, select the column and then select Data Type in the Transform group of the ribbon.

    데이터 형식 드롭다운 선택을 보여 주는 파워 쿼리 편집기의 스크린샷

  • 테이블 보기 또는 보고서 보기에서 열을 선택한 다음 리본 메뉴의 열 도구 탭에서 데이터 형식 옆의 드롭다운 화살표를 선택합니다.

    데이터 형식 드롭다운 선택을 보여 주는 테이블 뷰의 스크린샷

파워 쿼리 편집기에서 데이터 형식 드롭다운 선택 영역에는 테이블 보기 또는 보고서 보기에 없는 두 가지 데이터 형식이 있습니다. 날짜/시간/표준 시간대기간. 이러한 데이터 형식의 열을 Power BI 모델에 로드하면 날짜/시간/표준 시간대 열이 날짜/시간 데이터 형식으로 변환되고 기간 열이 10진수 데이터 형식으로 변환됩니다.

이진 데이터 형식은 파워 쿼리 편집기 외부에서 지원되지 않습니다. 파워 쿼리 편집기에서 Power BI 모델에 로드하기 전에 이진 파일을 다른 데이터 형식으로 변환하는 경우 이진 파일을 로드할 때 Binary 데이터 형식을 사용할 수 있습니다. The Binary selection exists in the Table view and Report view menus for legacy reasons, but if you try to load Binary columns into the Power BI model, you might run into errors.

숫자 형식

Power BI Desktop은 세 가지 숫자 유형인 10진수, 고정 10진수정수지원합니다.

You can use the Tabular Object Model (TOM) Column DataType property to specify the DataType Enums for number types. Power BI에서 개체를 프로그래밍 방식으로 수정하는 방법에 대한 자세한 내용은 테이블 형식 개체 모델을 사용하여 Power BI 의미 체계 모델을 프로그래밍하십시오.

Decimal number

10진수 가장 일반적인 숫자 형식이며 소수 값과 정수를 사용하여 숫자를 처리할 수 있습니다. Decimal number represents 64-bit (eight-byte) floating point numbers with negative values from -1.79E +308 through -2.23E -308, positive values from 2.23E -308 through 1.79E +308, and 0. 34, 34.0134.000367063 같은 숫자는 유효한 10진수입니다.

10진수 형식이 나타낼 수 있는 가장 높은 정밀도는 15자리입니다. 소수 구분 기호는 숫자의 아무 곳이나 발생할 수 있습니다. 이 형식은 Excel에서 숫자를 저장하는 방법에 해당하며 TOM은 이 형식을 DataType.Double 열거형으로 지정합니다.

고정 10진수

고정 10진수 데이터 형식에는 소수 구분 기호의 고정 위치가 있습니다. 10진수 구분 기호는 항상 오른쪽에 4자리를 가지며 19자리의 중요도를 허용합니다. 고정 10진수 나타낼 수 있는 가장 큰 값은 양수 또는 음수 922,337,203,685,477.5807.

고정 10진수 형식은 반올림 시 오류가 발생할 수 있는 경우에 유용합니다. 소수 자릿수 값이 작은 숫자는 때때로 누적되어 숫자가 약간 부정확해질 수 있습니다. 고정 10진수 형식을 사용하면 소수 구분 기호 오른쪽의 네 자리 숫자 이후의 값을 잘라내어 이러한 종류의 오류를 방지할 수 있습니다.

이 데이터 형식은 SQL Server의 10진수(19,4)또는 Excel의 Analysis Services 및 파워 피벗의 Currency 데이터 형식에 해당합니다. TOM은 이 형식을 DataType.Decimal 열거형으로 지정합니다.

Whole number

Whole number represents a 64-bit (eight-byte) integer value. Because it's an integer, Whole number has no digits to the right of the decimal place. 이 형식은 -9,223,372,036,854,775,807(-2^63+1사이의 양수 또는 음수 정수 19자리를 허용합니다. ) 및 9,223,372,036,854,775,806(2^63-2) 숫자 데이터 형식의 가능한 가장 큰 수를 나타낼 수 있습니다.

As with the Fixed decimal type, the Whole number type can be useful when you need to control rounding. TOM은 정수 데이터 형식을 DataType.Int64 열거형으로 나타냅니다.

메모

Power BI Desktop 데이터 모델은 64비트 정수 값을 지원하지만 JavaScript 제한으로 인해 Power BI 시각적 개체가 안전하게 표현할 수 있는 가장 많은 수의 Power BI 시각적 개체는 9,007,199,254,740,991(2^53-1)입니다. If your data model has larger numbers, you can reduce their size through calculations before you add them to visuals.

숫자 형식 계산의 정확도

소수점 데이터 형식의 열 값은 부동 소수점 숫자의 IEEE 754 표준에 따라 대략적인 데이터 형식으로 저장됩니다. Approximate data types have inherent precision limitations, because instead of storing exact number values, they might store extremely close, or rounded, approximations.

Precision loss, or imprecision, can occur if the floating-point value can't reliably quantify the number of floating point digits. 일부 보고 시나리오에서는 부정확성이 예기치 않거나 부정확한 계산 결과로 나타날 수 있습니다.

10진수 데이터 형식 값 간의 같음 관련 비교 계산은 잠재적으로 예기치 않은 결과를 반환할 수 있습니다. Equality comparisons include equals =, greater than >, less than <, greater than or equal to >=, and less than or equal to <=.

이 문제는 DAX 식에서 RANKX 함수 사용하여 결과를 두 번 계산하여 약간 다른 숫자를 생성하는 경우 가장 명백합니다. 보고서 사용자는 두 숫자의 차이를 알 수 없지만 순위 결과는 눈에 띄게 부정확할 수 있습니다. 예기치 않은 결과를 방지하려면 열 데이터 형식을 10진수 에서 고정 10진수 또는 정수로 변경하거나, ROUND함수를 사용하여 강제 반올림을 수행할 수 있습니다. The Fixed decimal number data type has greater precision, because the decimal separator always has four digits to its right.

10진수 데이터 형식의 열 값을 합산하는 계산은 예기치 않은 결과를 반환하는 경우가 거의 없습니다. This result is most likely with columns that have large amounts of both positive numbers and negative numbers. 합계 결과는 열의 행에 걸쳐 값 분포의 영향을 받습니다.

If a required calculation sums most of the positive numbers before summing most of the negative numbers, the large positive partial sum at the beginning can potentially skew the results. 계산에서 균형 잡힌 양수와 음수를 추가하는 경우 쿼리는 더 정밀도를 유지하므로 더 정확한 결과를 반환합니다. 예기치 않은 결과를 방지하려면 열 데이터 형식을 10진수 에서 고정 소수점 또는 정수로 변경할 수 있습니다.

날짜/시간 형식

Power BI Desktop supports five Date/Time data types in the Power Query Editor. Both Date/Time/Timezone and Duration are converted during load into the data model, as follows:

날짜/시간 날짜 및 시간 값을 모두 나타냅니다. The underlying Date/Time value is stored as a Decimal number, so you can actually convert between the two. The time portion is stored as a fraction to whole multiples of 1/300 seconds (3.33 ms). 데이터 형식은 1900년에서 9999년 사이의 날짜를 지원합니다.

날짜 시간 부분이 없는 날짜만 나타냅니다. A Date converts into the model as a Date/Time value with zero for the fractional value.

시간은 날짜 부분 없이 단순히 시간을 나타냅니다. A Time converts into the model as a Date/Time value with no digits to the left of the decimal point.

날짜/시간/표준 시간대은 표준 시간대 오프셋이 있는 UTC 날짜/시간을 나타내며, 모델에 로드될 때 날짜/시간으로 변환됩니다. Power BI 모델은 사용자의 위치 또는 로캘에 따라 표준 시간대를 조정하지 않습니다. 미국의 모델에 로드된 09:00 값은 보고서를 열거나 볼 때마다 09:00으로 표시됩니다.

Duration represents a length of time, and converts into a Decimal number when loaded into the model. Therefore, you can add or subtract the values from Date/Time values with correct results, and easily use it in visualizations that show magnitude.

메모

You can further format a converted Date/Time value in the model as Date or Time using the data types UI in Report, Table and Model view. Keep in mind that formatting doesn't change how data is stored in the model and any calculations or relationships are still evaluated with the Date/Time information stored, independent of formatting.

텍스트 형식

Text 데이터 형식은 텍스트 형식으로 표현되는 문자, 숫자 또는 날짜일 수 있는 유니코드 문자 데이터 문자열입니다. The practical maximum limit for string length is approximately 32,000 Unicode characters, based on Power BI's underlying Power Query engine, and its limits on text data type lengths. 실제 최대 한도를 초과하는 텍스트 데이터 형식은 오류가 발생할 수 있습니다.

Power BI에서 텍스트 데이터를 저장하는 방식으로 인해 특정 상황에서 데이터가 다르게 표시될 수 있습니다. 다음 섹션에서는 파워 쿼리 편집기에서 데이터를 쿼리하고 Power BI에 로드하는 사이에 Text 데이터의 모양이 약간 변경될 수 있는 일반적인 상황을 설명합니다.

Case sensitivity

Power BI에서 데이터를 저장하고 쿼리하는 엔진은 대/소문자를 구분하지 않으며, 서로 다른 대소문자를 동일한 값으로 처리합니다. "A"는 "a"와 같습니다. However, Power Query is case sensitive, where "A" isn't the same as "a". The difference in case sensitivity can lead to situations where text data changes capitalization seemingly inexplicably after loading into Power BI.

다음 예제에서는 주문 데이터를 보여줍니다. 각 주문에 대해 고유한 OrderNo 열과 주문 시 수동으로 입력한 수신자 이름을 보여 주는 수신자 열입니다. Power Query Editor shows several orders with the same Addressee names entered into the system with varying capitalizations.

파워 쿼리에서 다양한 대문자가 있는 텍스트 데이터의 스크린샷

After Power BI loads the data, capitalization of the duplicate names in the Data tab changes from the original entry into one of the capitalization variants.

power BI에 로드한 후 대/소문자가 변경된 텍스트 데이터를 보여 주는 스크린샷

이 변경은 파워 쿼리 편집기가 대/소문자를 구분하므로 원본 시스템에 저장된 데이터를 정확하게 표시하기 때문에 발생합니다. Power BI에 데이터를 저장하는 엔진은 대/소문자를 구분하지 않으므로 문자의 소문자와 대문자 버전을 동일하게 처리합니다. Power BI 엔진에 로드된 파워 쿼리 데이터는 그에 따라 변경될 수 있습니다.

Power BI 엔진은 위쪽에서 시작하여 데이터를 로드할 때 각 행을 개별적으로 평가합니다. Addressee같은 각 텍스트 열에 대해 엔진은 데이터 압축을 통해 성능을 향상시키기 위해 고유한 값의 사전을 저장합니다. 엔진은 주소 열의 처음 세 값을 고유으로 보고 사전에 저장합니다. 그 후 엔진은 대/소문자를 구분하지 않으므로 이름을 동일하게 평가합니다.

엔진은 "Taina Hasu"라는 이름이 "TAINA HASU" 및 "Taina HASU"와 동일하다고 인식하여, 이 변형들을 저장하지 않고, 처음 저장한 변형만을 참조합니다. "MURALI DAS"라는 이름은 대문자로 나타납니다. 이는 엔진이 데이터를 위에서 아래로 로드할 때 처음으로 이름이 나타났기 때문입니다.

이 이미지는 평가 프로세스를 보여 줍니다.

데이터 로드 프로세스와 텍스트 값을 고유한 값의 사전에 매핑하는 방법을 보여 주는 다이어그램입니다.

In the preceding example, the Power BI engine loads the first row of data, creates the Addressee dictionary, and adds Taina Hasu to it. 또한 엔진은 로드하는 테이블의 Addressee 열에 해당 값에 대한 참조를 추가합니다. The engine does the same for the second and third rows, because these names aren't equivalent to the others when ignoring case.

네 번째 행의 경우 엔진은 사전의 이름과 값을 비교하고 이름을 찾습니다. Since the engine is case insensitive, "TAINA HASU" and "Taina Hasu" are the same. 엔진은 사전에 새 이름을 추가하지 않고 기존 이름을 참조합니다. 나머지 행에도 동일한 프로세스가 발생합니다.

중요합니다

Power BI에서 데이터를 저장하고 쿼리하는 엔진은 대/소문자를 구분하지 않으므로 대/소문자를 구분하는 원본을 사용하여 DirectQuery 모드에서 작업할 때 특별히 주의해야 합니다. Power BI는 원본이 중복 행을 제거했다고 가정합니다. Power BI는 대/소문자를 구분하지 않으므로 대/소문자만 다른 두 값을 중복 값으로 처리하지만 원본은 이러한 값으로 처리하지 않을 수 있습니다. 이러한 경우 최종 결과는 정의되지 않습니다.

To avoid this situation, if you use DirectQuery mode with a case-sensitive data source, normalize casing in the source query or in Power Query Editor.

Leading and trailing spaces

Power BI 엔진은 텍스트 데이터를 따르는 후행 공백을 자동으로 트리밍하지만 데이터 앞에 오는 선행 공백은 제거하지 않습니다. 혼동을 방지하려면 선행 또는 후행 공백이 포함된 데이터를 사용하는 경우 Text.Trim 함수를 사용하여 텍스트의 시작 또는 끝에 있는 공백을 제거해야 합니다. If you don't remove leading spaces, a relationship might fail to create because of duplicate values, or visuals might return unexpected results.

다음 예제에서는 고객에 대한 데이터를 보여 줍니다. 고객의 이름이 포함된 이름 열과 각 항목에 대해 고유한 인덱스 열입니다. 이름은 명확성을 위해 따옴표 안에 나타납니다. 고객 이름은 네 번 반복되지만 매번 앞 공백과 후행 공백의 조합이 서로 다릅니다. 이러한 변형은 시간이 지남에 따라 수동 데이터 입력에서 발생할 수 있습니다.

Row Leading space Trailing space 이름 Index 텍스트 길이
1 아니요 아니요 "딜런 윌리엄스" 1 14
2 아니요 "딜런 윌리엄스 " 10 15
3 아니요 "딜런 윌리엄스" 20 15
4 " 딜런 윌리엄스 " 40 16

파워 쿼리 편집기에서 결과 데이터는 다음과 같이 표시됩니다.

파워 쿼리 편집기에서 다양한 선행 및 후행 공백이 있는 텍스트 데이터의 스크린샷

데이터를 로드한 후 Power BI의 테이블 탭으로 이동하면 이전과 동일한 수의 행이 있는 다음 이미지와 같은 테이블이 표시됩니다.

Power BI에 로드한 후 동일한 텍스트 데이터의 스크린샷은 이전과 동일한 수의 행을 반환합니다.

그러나 이 데이터를 기반으로 한 시각화는 두 개의 행만 반환합니다.

동일한 데이터를 기반으로 두 줄의 데이터만 나타내는 테이블의 시각적 스크린샷

앞의 이미지에서 첫 번째 행은 인덱스 필드의 총 값 60을 가지므로, 시각적으로 첫 번째 행은 로드된 데이터의 마지막 두 행을 나타냅니다. 총 인덱스 값이 11 있는 두 번째 행은 처음 두 행을 나타냅니다. 시각화와 데이터 테이블 간의 행 수 차이는 엔진이 후행 공백은 자동으로 제거 또는 다듬지만, 선행 공백은 제거하지 않기 때문에 발생합니다. 따라서 엔진은 첫 번째 행과 두 번째 행, 세 번째 행과 네 번째 행을 동일하게 평가하고, 시각화는 이러한 결과를 반환합니다.

중복 값이 검색되므로 이 동작으로 인해 관계와 관련된 오류 메시지가 발생할 수도 있습니다. 예를 들어 관계의 구성에 따라 다음 이미지와 유사한 오류가 표시될 수 있습니다.

중복 값에 대한 오류 메시지의 스크린샷

In other situations, you might be unable to create a many-to-one or one-to-one relationship because duplicate values are detected.

Screenshot of the relationship dialog showing an 'invalid cardinality for this relationship' error related to duplicate values being detected.

You can trace these errors back to leading or trailing spaces, and resolve them by using Text.Trim, or Format>Trim under Transform, to remove the spaces in Power Query Editor.

True/false type

The True/false data type is a Boolean value of either True or False. For the best and most consistent results, when you load a column that contains Boolean true/false information into Power BI, set the column type to True/False.

Power BI는 특정 상황에서 데이터를 다르게 변환하고 표시합니다. 이 섹션에서는 부울 값을 변환하는 일반적인 사례와 Power BI에서 예기치 않은 결과를 생성하는 변환을 해결하는 방법을 설명합니다.

이 예제에서는 고객이 뉴스레터에 등록했는지 여부에 대한 데이터를 로드합니다. TRUE 값은 고객이 뉴스레터에 등록했음을 나타내고 FALSE 값은 고객이 등록하지 않았음을 나타냅니다.

However, when you publish the report to the Power BI service, the newsletter signup status column shows 0 and -1 instead of the expected values of TRUE or FALSE. 다음 단계에서는 이 변환이 발생하는 방법과 이를 방지하는 방법을 설명합니다.

이 테이블에 대한 간소화된 쿼리는 다음 이미지에 표시됩니다.

Screenshot that shows columns set to Boolean.

The data type of the Subscribed To Newsletter column is set to Any, and as a result, Power BI loads the data into the model as Text.

Power BI에 로드된 데이터를 보여 주는 스크린샷

고객당 자세한 정보를 보여 주는 간단한 시각화를 추가하면 Power BI Desktop과 Power BI 서비스에 게시할 때 데이터가 예상대로 시각적 개체에 표시됩니다.

데이터가 예상대로 표시되는 것을 보여주는 시각 자료의 스크린샷

However, when you refresh the semantic model in the Power BI service, the Subscribed To Newsletter column in the visuals displays values as -1 and 0, instead of displaying them as TRUE or FALSE:

새로 고친 후 예기치 않은 형식으로 표시되는 데이터를 보여 주는 비주얼의 스크린샷

Power BI Desktop에서 보고서를 다시 게시하는 경우 회보 구독 열에 예상대로 TRUE 또는 FALSE 다시 표시되지만 Power BI 서비스에서 새로 고침이 발생하면 값이 다시 변경되어 -1 표시되고 0표시됩니다.

The solution to prevent this situation is to set any Boolean columns to type True/False in Power BI Desktop, and republish your report.

열의 데이터 형식을 True/False로 변경하는 스크린샷

When you make the change, the visualization shows the values in the Subscribed To Newsletter column slightly differently. 표에 입력된 모든 대문자가 아닌 첫 번째 문자만 대문자로 표시됩니다. 이 변경은 열의 데이터 형식을 변경한 결과 중 하나입니다.

데이터 형식을 변경할 때 다르게 표시되는 값의 스크린샷

데이터 형식을 변경하고 Power BI 서비스에 다시 게시한 후 새로 고침이 발생하면, 보고서에 예상대로 또는 거짓값이 표시됩니다.

Screenshot that shows true or false values that use the True/False data type appear as expected after refresh.

To summarize, when working with Boolean data in Power BI, make sure your columns are set to the True/False data type in Power BI Desktop.

Blank type

비어 있는 SQL null을 나타내고 대체하는 DAX 데이터 형식입니다. BLANK 함수를 사용하여 공백을 만들고 ISBLANK 논리 함수를 사용하여 공백을 테스트할 수 있습니다.

이진 형식

Binary 데이터 형식을 사용하여 모든 데이터를 이진 형식으로 나타낼 수 있습니다. 파워 쿼리 편집기에서 Power BI 모델에 로드하기 전에 이진 파일을 다른 데이터 형식으로 변환하는 경우 이 데이터 형식을 로드할 때 사용할 수 있습니다.

Binary columns aren't supported in the Power BI data model. 이진 선택은 레거시 이유로 테이블 보기 및 보고서 보기 메뉴에 존재합니다. 그러나 Power BI 모델에 이진 열을 로드하려고 하면 오류가 발생할 수 있습니다.

메모

이진 열이 쿼리 단계의 출력에 있는 경우 게이트웨이를 통해 데이터를 새로 고치려고 하면 오류가 발생할 수 있습니다. 쿼리의 마지막 단계로 이진 열을 명시적으로 제거하는 것이 좋습니다.

테이블 형식

DAX는 집계 및 시간 인텔리전스 계산과 같은 많은 함수에서 Table 데이터 형식을 사용합니다. 일부 함수에는 테이블에 대한 참조가 필요합니다. 다른 함수는 다른 함수에 대한 입력으로 사용할 수 있는 테이블을 반환합니다.

테이블을 입력으로 필요로 하는 일부 함수에서는 테이블로 계산되는 식을 지정할 수 있습니다. 일부 함수에는 기본 테이블에 대한 참조가 필요합니다. 특정 함수의 요구 사항에 대한 자세한 내용은 DAX 함수 참조참조하세요.

암시적 및 명시적 데이터 형식 변환

각 DAX 함수에는 입력 및 출력으로 사용할 데이터 형식에 대한 특정 요구 사항이 있습니다. 예를 들어 일부 함수에는 일부 인수 및 다른 인수의 날짜에 대한 정수가 필요합니다. 다른 함수에는 텍스트 또는 테이블이 필요합니다.

인수로 지정한 열의 데이터가 함수에 필요한 데이터 형식과 호환되지 않으면 DAX에서 오류를 반환할 수 있습니다. 그러나 가능한 경우 DAX는 데이터를 필요한 데이터 형식으로 암시적으로 변환하려고 시도합니다.

예를 들어:

  • 날짜를 문자열로 입력하는 경우 DAX는 문자열을 구문 분석하고 Windows 날짜 및 시간 형식 중 하나로 캐스팅하려고 합니다.
  • 여러분은 TRUE + 1을 추가하고 결과로 2을 얻을 수 있습니다. 이는 DAX가 암시적으로 TRUE를 숫자 1로 변환하고, 1+1연산을 수행하기 때문입니다.
  • 한 값이 텍스트("12")로 표시되고 다른 값이 숫자(12)로 표시된 두 열에 값을 추가하는 경우 DAX는 문자열을 숫자로 암시적으로 변환한 다음 숫자 결과에 대한 추가를 수행합니다. 식 = "22" + 2244를 반환합니다.
  • 두 숫자를 연결하려고 하면 DAX에서 문자열로 표시한 다음 연결합니다. 표현식 = 12 & 34"1234"을 반환합니다.

암시적 데이터 변환 테이블

연산자는 요청된 작업을 수행하기 전에 필요한 값을 캐스팅하여 DAX가 수행하는 변환 유형을 결정합니다. 다음 표에는 연산자가 나열되어 있으며, 교차하는 셀의 데이터 형식과 쌍을 이루는 각 데이터 형식에 대해 DAX가 수행하는 변환이 표시됩니다.

메모

이러한 테이블에는 Text 데이터 형식이 포함되지 않습니다. 숫자가 텍스트 형식으로 표현될 때 Power BI에서 숫자 형식을 확인하고 데이터를 숫자로 나타내려고 하는 경우도 있습니다.

더하기(+)

INTEGER 통화 REAL 날짜/시간
INTEGER INTEGER 통화 REAL 날짜/시간
CURRENCY 통화 통화 REAL 날짜/시간
REAL REAL REAL REAL 날짜/시간
날짜/시간 날짜/시간 날짜/시간 날짜/시간 날짜/시간

For example, if an addition operation uses a real number in combination with currency data, DAX converts both values to REAL and returns the result as REAL.

Subtraction (-)

In the following table, the row header is the minuend (left side) and the column header is the subtrahend (right side).

INTEGER 통화 REAL 날짜/시간
INTEGER INTEGER 통화 REAL REAL
CURRENCY 통화 통화 REAL REAL
REAL REAL REAL REAL REAL
날짜/시간 날짜/시간 날짜/시간 날짜/시간 날짜/시간

예를 들어 빼기 작업에서 다른 데이터 형식의 날짜를 사용하는 경우 DAX는 두 값을 모두 날짜로 변환하고 반환 값도 날짜입니다.

메모

데이터 모델은 단항 연산자(음수)를 지원하지만 이 연산자는 피연산자의 데이터 형식을 변경하지 않습니다.

곱하기(*)

INTEGER 통화 REAL 날짜/시간
INTEGER INTEGER 통화 REAL INTEGER
CURRENCY 통화 REAL 통화 통화
REAL REAL 통화 REAL REAL

예를 들어 곱하기 연산이 정수를 실수와 결합하는 경우 DAX는 두 숫자를 모두 실수로 변환하고 반환 값도 REAL입니다.

Division (/)

In the following table, the row header is the numerator and the column header is the denominator.

INTEGER 통화 REAL 날짜/시간
INTEGER REAL 통화 REAL REAL
CURRENCY 통화 REAL 통화 REAL
REAL REAL REAL REAL REAL
날짜/시간 REAL REAL REAL REAL

예를 들어 나누기 연산이 정수를 통화 값과 결합하는 경우 DAX는 두 값을 모두 실수로 변환하고 결과는 실수입니다.

비교 연산자

비교 식에서 DAX는 문자열 값보다 큰 부울 값과 숫자 또는 날짜/시간 값보다 큰 문자열 값을 고려합니다. 숫자와 날짜/시간 값의 순위는 동일합니다.

DAX doesn't do any implicit conversions for Boolean or string values. BLANK or a blank value is converted to 0, "", or False, depending on the data type of the other compared value.

다음과 같은 DAX 식이 이 동작을 보여 줍니다.

  • =IF(FALSE()>"true","Expression is true", "Expression is false") returns "Expression is true".

  • =IF("12">12,"Expression is true", "Expression is false") returns "Expression is true".

  • =IF("12"=12,"Expression is true", "Expression is false") returns "Expression is false".

DAX는 다음 표에 설명된 대로 숫자 또는 날짜/시간 형식에 대한 암시적 변환을 수행합니다.

비교
Operator
INTEGER 통화 REAL 날짜/시간
INTEGER INTEGER 통화 REAL REAL
CURRENCY 통화 통화 REAL REAL
REAL REAL REAL REAL REAL
날짜/시간 REAL REAL REAL 날짜/시간

공백, 빈 문자열 및 0 값

DAX는 동일한 새 값 형식인 BLANK로 null, 빈 값, 빈 셀 또는 누락된 값을 나타냅니다. BLANK 함수를 사용하여 공백을 생성하거나 ISBLANK 함수를 사용하여 공백을 테스트할 수도 있습니다.

더하기 또는 연결과 같은 작업에서 공백을 처리하는 방법은 개별 함수에 따라 달라집니다. 다음 표에는 DAX 수식과 Microsoft Excel 수식에서 공백을 처리하는 방법의 차이점이 요약되어 있습니다.

Expression DAX (독일 주가지수) 엑셀
BLANK + BLANK BLANK 0 (zero)
BLANK + 5 5 5
BLANK * 5 BLANK 0 (zero)
5/BLANK 무한대 오류
0/BLANK NaN 오류
BLANK/BLANK BLANK 오류
FALSE OR BLANK FALSE FALSE
FALSE AND BLANK FALSE FALSE
TRUE OR BLANK TRUE TRUE
TRUE AND BLANK FALSE TRUE
BLANK OR BLANK BLANK 오류
BLANK AND BLANK BLANK 오류

Power BI Desktop 및 데이터를 사용하여 모든 종류의 작업을 수행할 수 있습니다. Power BI 기능에 대한 자세한 내용은 다음 리소스를 참조하세요.