1

我需要用当地语言编写我的报告。我的表中有三个描述列,需要根据用户输入一次显示一个。

例子:

CustName | Product | English_Description | Swedish_Description

我的表有 500 万条记录,所以我不能取消旋转描述列。如果我不进行数据透视,我的表就会变成 1000 万条记录。这不是一个可行的。

4

1 回答 1

0

一些样本数据会很有用。但是,您可以为语言选择创建一个断开连接的(或参数)表:

Language
--------
English
Swedish

该表与其他任何内容都没有关系,但您可以对产品描述使用度量,例如:

Multi-lingual Description =
IF (
    'Disconnected Table'[Language] = "Swedish",
    MAX ( [Swedish_Description] ),
    MAX ( [English_Description] )
)

按照这个逻辑,如果没有选择语言,将使用英文描述。您也可以使用不同的行为(例如,使用 HASONEVALUE 来确保选择单个值,如果没有则显示错误消息)。

度量中的 MAX 是因为度量必须聚合;但是,只要您的表每行都有一个产品,那么产品名称的 MAX 将是您期望的产品名称。每行拥有多个产品是没有意义的,因此这应该是一个可以接受的限制。同样,为了使您的测量更加稳健,您可以使用 HASONEVALUE 构建逻辑以显示 BLANK() 或在有多个产品时显示错误消息(例如,用于小计)。

更多信息:

HASONEVALUE:https ://msdn.microsoft.com/en-us/library/gg492190.aspx

断开连接的表:http ://www.daxpatterns.com/parameter-table/

于 2017-07-24T20:05:44.403 回答