我正在试图弄清楚如何从我创建的对象中获取所需的数据。
我之前将我的应用数据存储在2个数组中,如下所示:
{[Date].[Calendar Year Month].[201705]}
要填充应用页面,我会使用这两个函数来获取数据:
WITH
MEMBER [2MonthsPriorUniqueUsers] AS Sum({[Date].[Calendar Year Month].CurrentMember.Lag(2)},[Measures].[App Unique Users Loggedin])
MEMBER [1MonthPriorUniqueUsers] AS Sum({[Date].[Calendar Year Month].CurrentMember.Lag(1)},[Measures].[App Unique Users Loggedin])
MEMBER [1MonthPriorTotalAppLogins] AS Sum({[Date].[Calendar Year Month].CurrentMember.Lag(1)},[Measures].[App Logins])
MEMBER [Measures].[PercentUniqueIncreaseMoM] AS ([1MonthPriorUniqueUsers] / [2MonthsPriorUniqueUsers])-1,FORMAT_STRING = "Percent"
SELECT
NON EMPTY
{[Date].[Calendar Year Month].[201705]}
* Nonempty([Project].[Client Name].members,[Measures].[App Logins]) ON 0,
NON EMPTY
{
[Measures].[PercentUniqueIncreaseMoM]
,([1MonthPriorUniqueUsers])
,[2MonthsPriorUniqueUsers]
,[1MonthPriorTotalAppLogins]
} ON 1
FROM [MyCube]
我最近决定切换到一个存储所有数据的对象,如下所示:
const AVATARS = {
avatar1: require('./images/avatar_1.jpg'),
avatar2: require('./images/avatar_2.jpg')
}
export const STATS = {
stats1: "\nHP: 124\n" +
"INT: 23\n" +
"CHR: 13\n",
stats2: "\nHP: 423\n" +
"INT: 24\n" +
"CHR: 11\n"
}
但是现在我这样做了,我不知道如何获得所需的数据。显然我的旧功能不起作用。有没有办法选择给定页面需要哪些数据?
例如,如果我只需要一个页面的名称和头像,但我可能需要另一个页面的统计数据。
谢谢!
答案 0 :(得分:1)
您可以修改函数以接受id
import {characters} from './arrays';
//returns data based on array position(id)
export function getAvatar(id) {
var idx = characters.findIndex((val) => val.id == id);
return characters[idx].Avatar;
}
export function getName(id) {
var idx = characters.findIndex((val) => val.id == id);
return characters[idx].Name;
}