【发布时间】:2021-04-13 13:01:13
【问题描述】:
我在 SQL Server 中有 2 个表:
包含国家名称的表Country:
Table Society 其中的社团名称以及该社团工作所在国家的名称:
在 Power Bi 中,我必须创建一个过滤器国家(美国、德国、法国、英国……)来过滤表社会:
例如,如果我在过滤器国家/地区中输入“美国”,则在我的矩阵中,我将拥有社会 A 和社会 B。 如果我在过滤器国家中输入“法国”,我将拥有社会 B 和社会 C。
(我的第一个想法是在 SQL Server 中添加一些二进制字段“IsInThisCountry”,然后将这些字段用作过滤器)
像这样的东西:
CASE WHEN country LIKE '%US%' THEN 1 ELSE 0 END 'IsUS'
但问题是如果我有 50 个国家/地区,我将不得不创建 50 个过滤器
【问题讨论】:
-
修正你的设计,不要在数据库中存储分隔数据。
-
我第二个@Larnu,像这样的单元格中的分隔数据是一种已知的SQL反模式,应该避免,当你有匹配条件时会发生什么?搜索“%US%”,美国和俄罗斯都匹配!
-
我同意你的观点,但我不能复制他们的行,因为他们已经使用这些表格创建了一些报告(和度量)。
标签: sql-server tsql filter powerbi dax