我正在SSAS VS工具中进行多维分析。我有两张桌子,动物animal_intake。用animal_id和animal_intake对动物进行鉴定,用animal_id对动物进行参考。我想要做的是创建一个命名的计算程序,这样就可以在摄食日提供有关动物年龄的信息。为了计算年龄,我必须参考动物的出生日期在animal_intake命名的计算。基于文档[https://learn.microsoft.com/en-us/sql/analysis-services/multidimensional-models/define-named-calculations-in-a-data-source-view-analysis-services?view=sql-server-2017#creating-named-calculations]中描述的解决方案,我创建了以下查询,用于命名计算
(SELECT [ANIMAL].[birth_date] FROM [ANIMAL] WHERE [ANIMAL].[animal_id] =[animal_id])只是为了了解动物的生日。不幸的是,当我单击“探索数据”VS出现以下错误时
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
#我不明白问题是什么-- animal_id是ANIMAL表的主键,birth_date字段具有NOT NULL约束。因此,对于给定的naimal_id,查询必须有一个结果。
以下是我数据库中的简化表。
动物
CREATE TABLE [ANIMAL] (
[animal_id] CHAR(7) PRIMARY KEY,
[birth_date] DATE REFERENCES [DATE]([exact_date]) NOT NULL
);ANIMAL_INTAKE
CREATE TABLE [ANIMAL_INTAKE] (
[animal_id] CHAR(7) NOT NULL REFERENCES [ANIMAL],
[stay_number] TINYINT NOT NULL,
[intake_date] DATE REFERENCES [DATE]([exact_date]) NOT NULL,
PRIMARY KEY ([animal_id], [stay_number]),
);发布于 2019-06-02 00:35:05
尝试以下几点:
(SELECT [ANIMAL].[birth_date] FROM [ANIMAL] WHERE [ANIMAL].[animal_id] = [ANIMAL_INTAKE].[animal_id])我假设您在DSV中的表名为ANIMAL_INTAKE,这就是您要将命名的计算放在上面的表。
https://stackoverflow.com/questions/56386802
复制相似问题